Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/227.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将PHP行记录插入AJAX url_Javascript_Php_Jquery_Ajax - Fatal编程技术网

Javascript 如何将PHP行记录插入AJAX url

Javascript 如何将PHP行记录插入AJAX url,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我可以将update.php?id=“.$row[“id”]”插入AJAX url吗? 我正在尝试通过表单进行异步sql行更新。我没有特定的id,因为id是在单击时调用的 JS submit.on('click', function(e) { e.preventDefault(); if(validate()) { $.ajax({ type: "POST",

我可以将
update.php?id=“.$row[“id”]”插入AJAX url吗?
我正在尝试通过表单进行异步sql行更新。我没有特定的id,因为id是在单击时调用的

JS

  submit.on('click', function(e) {
            e.preventDefault();
            if(validate()) {
                $.ajax({
                    type: "POST",
                    url: 'update.php?id=" . $row["id"] . "',
                    data: form.serialize(),
                    dataType: "json"
                }).done(function(data) {
                    if(data.success) {
                        id.val('');
                        cas.val('');
                        info.html('Message sent!').css('color', 'green').slideDown();
                    } else {
                        info.html('Could not send mail! Sorry!').css('color', 'red').slideDown();
                    }
                });
            }
        });
PHPupdate.PHP调用的位置

$sql3 = "
SELECT id, potnik_id, ura, naslov
FROM prevoznik 
ORDER BY HOUR(ura), MINUTE(ura) ASC;
";
$result = $conn->query($sql3);
$potnik = $row["potnik"];
if ($result->num_rows > 0) {
    // output data of each row
    while($row = $result->fetch_assoc()) {

        //Spremenjena oblika datuma
        $date = date_create($row["ura"]);
        $ura_pobiranja = date_format($date,"H:i");
        echo "<div class=\"row list  divider-gray\">
                <div class=\"col-1 fs-09 fw-600\">" . $row["id"] . " </div>
                  <div class=\"col-3 flex-vcenter-items fw-600 fs-09\">" . $row["naslov"] . " </div>
                <div class=\"col-1 flex-vcenter-items fw-600 fs-09\">$ura_pobiranja</div>
            ";

        if ($row["naslov"] !== null) {
            echo " <div class=\"col-6 flex-vcenter-items fs-1\">Nastavi uro<form id='form' action='update.php?id=" . $row["id"] . "' method='POST'><input id='id' name='potnik' value='".$row["id"]."' type='hidden' /> <input id='cas' class=\"form-control fancy-border\" type=\"text\" name=\"posodobljeni_cas\"/><input id='submit' type='submit' value='Posodobi'>    <label id=\"info\"></label></form></div>";
            echo " </div>";
        }
        else {
            echo " </div>";
        }

    }
} else {
    echo "<div class=\"col flex-vcenter-items fw-100 fs-1\"><i class=\"far fa-frown-open pr-3\"></i>Nimaš še nobenih opravil
                                    </div>";
}
$sql3=”
选择id、potnik_id、ura、naslov
来自普雷沃兹尼克
按小时(市建局)、分钟(市建局)ASC排序;
";
$result=$conn->query($sql3);
$potnik=$row[“potnik”];
如果($result->num_rows>0){
//每行的输出数据
而($row=$result->fetch_assoc()){
//斯普雷门耶纳·奥比卡·达图马
$date=date\u create($row[“ura”]);
$ura_pobiranja=日期格式($date,“H:i”);
回声“
“$row[“id”]”
“$row[“naslov”]”
$ura_pobiranja
";
如果($row[“naslov”]!==null){
回声“纳斯塔维乌罗”;
回声“;
}
否则{
回声“;
}
}
}否则{
echo“Nimaše nobenih opravil
";
}

您可以分配PHP$行['id'];变量添加到本地JS变量,并将其附加到URL,如下所示-

submit.on('click', function(e) {
                    e.preventDefault();
                    if(validate()) {
                       var id=<?=$row['id'];?>; 
                        $.ajax({
                            type: "POST",                                
                            url: 'update.php?id='+id,
                            data: form.serialize(),
                            dataType: "json"
                        }).done(function(data) {
                            if(data.success) {
                                id.val('');
                                cas.val('');
                                info.html('Message sent!').css('color', 'green').slideDown();
                            } else {
                                info.html('Could not send mail! Sorry!').css('color', 'red').slideDown();
                            }
                        });
                    }
                });
submit.on('click',函数(e){
e、 预防默认值();
if(validate()){
变量id=;
$.ajax({
类型:“POST”,
url:'update.php?id='+id,
数据:form.serialize(),
数据类型:“json”
}).完成(功能(数据){
if(data.success){
id.val(“”);
cas.val(“”);
info.html('messagesent!').css('color','green').slideDown();
}否则{
info.html('无法发送邮件!抱歉!').css('color','red').slideDown();
}
});
}
});

首先,您需要修复大量HTML。对于各种HTML元素,有许多重复的ID属性。这将导致许多JavaScript问题,并且对于HTML来说是不正确的语法

  $html = ""
  $id = $row['id'];
  if ($row["naslov"] !== null) {
    $html .= "<div class='col-6 flex-vcenter-items fs-1'>\r\n";
    $html .= "\tNastavi uro\r\n";
    $html .= "\t<form id='form-$id' action='update.php?id=$id' method='POST' data-id='$id'>\r\n";
    $html .= "\t\t<input id='cas-$id' class='form-control fancy-border' type='text' name='posodobljeni_cas' />\r\n";
    $html .= "\t\t<input id='submit-$id' type='submit' value='Posodobi'>    <label id='info-$id'></label>\r\n";
    $html .= "\t</form>\r\n</div>\r\n";
    $html .= "</div>";
    echo $html;
  } else {
    echo " </div>";
  }
有关选择器的详细信息:


无法对此进行测试,因为您尚未提供测试区域。希望有帮助。

最好在HTML中插入
$row['id']
值,以便jQuery可以读取它。因此jQuery可以从
操作
读取它,或者您可以在HTML中的某个地方添加
数据id='{$row['id']}'
。然后jQuery就可以从中准备
.data(“id”)
。@Twisty您能提供一个HTML数据atribute的示例吗。我仍然需要使用javascript将所选id插入HTML数据中,但无法提供示例,但可以提出一些建议。在将来,请提供一个更完整和可验证的示例。这是忽略update.php?id=“.$row[“id”]”。最后选择的id。除了将php变量分配给js变量id之外,还有其他方法吗?Javascript使用+来附加文本/字符串,而不是“.”我知道我不能在Javascript中使用php语法,但是我的IDE检测到您的答案为react,并且在运行脚本时被拒绝。如果您想将PHP直接附加到URL-URL:'update.PHP?id='+,我建议放弃所有
\t
\r\n
。。。因为这些是不必要的空白。大多数浏览器开发工具在查看元素时都会使用漂亮的html格式;)在某些情况下,根据css/样式,这些空白字符将导致2像素的间距。@难以置信这是真的,但我认为格式对HTML仍然很重要。是的,大多数开发工具将正确格式化HTML。另外,如果一个小的空白导致了CSS问题,你需要在CSS上工作更多。当它在某些浏览器中是额外空白的产物时,那么最干净的解决方案就是去除这种不必要的空白的污点:)加上,字节人!它的额外字节!拯救互联网!lol@IncredibleHat优先级和目标,你说的没错,删去不必要的空白将使文档变小,并使其加载更快。我在做我该做的吗??lol我还想在我的示例代码中强调一些基本标准,其中原始代码缺少很多。耸肩
$(function(){
  $("form[id|='form']").on('submit', function(e) {
    e.preventDefault();
    var form = $(this);
    var id = form.data("id");
    var cas = $("inptu[id|='cas']", form);
    var info = $("input[id|='info']", form);
    if(validate()) {
      $.ajax({
       type: "POST",
       url: form.attr("action"),
       data: form.serialize(),
       dataType: "json"
     }).done(function(data) {
       if(data.success) {
         id.val('');
         cas.val('');
         info.html('Message sent!').css('color', 'green').slideDown();
       } else {
         info.html('Could not send mail! Sorry!').css('color', 'red').slideDown();
       }
     });
   }
 });
});