【问题标题】:PHP on Submit check for records, if record exist 'confirm' update or insert new if no recordPHP 在提交检查记录,如果记录存在“确认”更新或插入新的,如果没有记录
【发布时间】:2015-05-04 19:11:17
【问题描述】:

我无法弄清楚如何正确执行以下问题。我有一个我的用户将填写的 Web 表单,该表单具有(填充帐户用户的 ajax 将与 aka admin 一起使用)。

在提交新数据之前,我想验证该帐户是否已有数据,如果数据存在,我需要确认以覆盖当前数据。如果没有数据,则不会发生任何事情(新数据只是被插入到数据库中)。

这是页面的流程,

1) (Ajax) 输入 -> 查找帐户, 2)一旦选择帐户输入数据(两步之间不刷新) 3)提交数据 -> 仍然在同一页面上(查看输入是否存在并执行插入)

是否可以在提交之前在 try/catch 中进行某种确认。

代码:

if(Input::exists()){
    try{
       if(row exists){
        // Confirm here if row exists to override or cancel SUBMIT
       }else{ // insert new }

为什么我需要这个是因为帐户只允许拥有 1 条此类记录,并且我不希望它们意外覆盖现有记录(如果存在)。

谢谢

【问题讨论】:

  • 那么你想从这里得到什么?
  • 我相信你正在使用 Laravel,所以试试这样的: $row_exists = count(DB::table("table_name")->where("something", "=", "something") ->得到);然后你可以检查 $row_exists > 0 // 它是否存在 else // 它不存在
  • 如果您不喜欢编写简单的 PHP 脚本,将它与学习 ajax 结合起来对您没有任何帮助
  • 您的帖子非常混乱,但我猜您正在寻找某种用户确认。这只能通过两个单独的步骤来实现:向服务器发出第一个请求以检查数据是否已经存在并最终要求确认,然后向服务器发出第二个请求以实际更新/插入数据。只是为了更好地澄清:PHP 脚本就是这样,一个脚本。这个想法是一些代码在服务器端执行并生成响应。您不能在执行内部放置任何用户交互,您需要多个请求。
  • 我没有使用框架工作,我正在从头开始做所有事情。一旦选择了公司,我就尝试使用 ajax 来获取行,但是我没有取得太大的成功。我相信最好的方法是在 try 语句中进行一些确认,但我不知道该怎么做。而且我找不到任何可以解释这种方法的资源

标签: php


【解决方案1】:

我已经设法解决了,我所做的就是点击可以填充输入框的帐户;我会使用 ajax 来检查所选帐户的行。如果找到行,我会要求使用 jQuery confirm 进行确认,如果单击“确定”,我将使用值 1 填充 HIDDEN 输入。因此,在提交时,它会检查隐藏字段是 1 还是 0,如果 1 表示它是对现有记录的更新,如果为 0,它将创建新记录。

【讨论】:

    猜你喜欢
    • 2019-06-23
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多