2015-02-08 90 views
-1

我有一个页面有一个表格。它显示选择选项时,选择一个选项用户单击按钮,它运行updatephp.php查询更新。我需要动态更新选择并在屏幕上显示“更新”或“无结果”等成功/错误消息,我该如何实现这一点。我不是很擅长阿贾克斯,请有人引导我。表格动态刷新php和ajax

displaytable.php

<form method="POST" action="choosecake.php"> 
    <select id="bakeryid" name="bakeryid"> 
     <option value="">Select</option> 
     <?php 
      $sql = "SELECT bakeryid, datefrom FROM cakes"; 
      $sqlresult = $link->query($sql); 
      $sqllist = array(); 
      if(mysqli_num_rows($sqlresult) > 0) { 
       while($row = mysqli_fetch_array($sqlresult)) 
       { 
       echo "<option value=".$row['bakeryid'].">".$row['datefrom']."</option>"; 
       } 
       $sqlencode = json_encode($sqllist); 
       echo $sqlencode; 
      } else { 
       echo 'No Results were found'; 
      } 
     ?> 
    </select> 
    <input type="hidden" value="<?php echo $bakeryid;?>" name="bakeryid"/> 
    <input type="submit" value="Submit" name="submit"/> 
</form> 
+0

我在这里看不到ajax – cameronjonesweb 2015-02-08 23:45:07

回答

0

更改displaytable.php并生成蛋糕用id作为键和名称作为值的数组。然后回显可以直接在js中使用的json编码数组。

只是为了得到一个感觉,没有测试它。

$(document).ready(function() { 
    window.setTimeout(function() { 
    $.ajax({ 
     url: "/displaytable.php" 
    }).done(function(data) { 
     var select = $('#selectId'); 
     select.empty(); 
     $.each(data, function(val, key) { 
     select.append($("<option></option>").attr("value", key).text(val); 
     }); 
    }); 
    }, 10000); // 10 seconds update interval 
}); 
+0

你需要第三个文件,例如: form.html只有表单和JS代码。从那里我们将取ajax。在displaytable.php中删除表单。只是建立数组并回显json_encode – Aitch 2015-02-09 00:07:47

+0

对不起,我似乎不明白 – user11119483 2015-02-09 00:24:41

+1

你应该读一本书或做一些教程。这里学习PHP是不可能的。你会不高兴,我们不会很高兴写出长时间的对话,抱歉。 – Aitch 2015-02-09 00:34:01

0

如果您的页面必须刷新(无ajax),请使用displaytable.php来处理表单提交。然后定义一个变量来保存你的成功或错误信息,并把这个变量在您想要的信息显示,像

if(!empty($success_message)) { 
    echo "<h2>$success_message</h2>"; 
} 

当提交表单时,只需把值赋给$success_message,而且由于脚本处理表单提交与包含表单的脚本相同,上面代码中的echo语句将在页面重新加载时显示消息。