【问题标题】:mysql_num_rows returned with ajax用 ajax 返回的 mysql_num_rows
【发布时间】:2013-11-05 14:46:29
【问题描述】:

我需要通过 ajax 将两个日期传递给 mysql 查询。 我有两个日期输入。

这是具有输入的 index.php

<div id="input">
<td><input type="date" name="date_start"></td>
<td><input type="date" name="date_end"></td>

<input type="button" class="button" value="Get Value">
</div>
<div id="count_display">
</div>

这是具有工作查询的 getresult.php 文件

$date_start=$_GET['date_start'];
$date_end=$_GET['date_end'];

$select="select * from tblreport where (date(date_added) between '$date_start' AND '$date_end');";
$res = mysql_query($select);
$rec_count = mysql_num_rows($res);

echo "There are <font color='red' size='3'>".$rec_count."</font> matching records found.";

我想通过 ajax 方法在 index.php 文件中的 &lt;div id="count_display"&gt; 中显示 getresult.php 的结果回显,该方法将实时显示结果而无需刷新/重新加载页面。

结果将与此页面上的示例非常相似:http://www.w3schools.com/php/php_ajax_database.asp 但我只需要查询返回的行数。

【问题讨论】:

  • 你的问题是什么?
  • 您不应使用或链接到w3schools。它不是可靠的信息来源,我们不鼓励使用它。
  • 你的 jquery 代码在哪里?
  • 问题在第二个密码框之后
  • 请注意 PHP 的 mysql_xxx() 函数已被弃用。我建议尽快切换到使用 PDO 或 mysqli 库。另请注意,HTML &lt;font&gt; 标记也已弃用,不应使用。您需要使用它的任何事情都应该使用 CSS 来完成。

标签: javascript php jquery mysql ajax


【解决方案1】:

您可以使用 jquery 轻松完成。这是你的代码

<script src="js/jquery-1.6.min.js"></script>
<script type="text/javascript" >
$(function() {
$(".button").click(function() 
{   
var date_start = $("#date_start").val();
if($("#date_start").val()=='') date_start="";

var date_end = $("#date_end").val();
if($("#date_end").val()=='') date_end="";

var dataString = 'date_start='+ date_start + '&date_end=' + date_end;

    $.ajax({
    type: "POST",
    url: "getresult.php",
    data: dataString,
    success: function(msg){         
        $('#count_display').html(msg);                      
    }
    }); //END $.ajax

});
 });
 </script>
 <div id="input">
 <td><input type="date" name="date_start" id="date_start"></td>
 <td><input type="date" name="date_end" id="date_end"></td>

 <input type="button" class="button" value="Get Value">
 </div>
 <div id="count_display">
 </div>

【讨论】:

  • 在 getresult.php 中使用 $date_start=$_POST['date_start']; $date_end=$_POST['date_end'];
  • 下载一个jquery文件并粘贴到js文件夹中。在这段代码中,我使用
  • 哇!惊人的!它现在工作!先生非常感谢您!非常感谢!
  • 或者只使用 我测试它。它有效跨度>
  • 有点小问题。每当我多次按下获取值按钮时。出现多条消息。我认为是因为附加?
【解决方案2】:

试试这个:

<script language='javascript'>
  $(document).ready(function() {
       $.get('getresult.php')
            .success(function(result) {
                var data = $.parseJSON(result);
                var div = document.getElementById("count_display");
                div.innerHTML = data.message;
       });
  });
</script>

注意,您需要包含来自 jquery.com 的当前 jquery api。

在 PHP 中:

$message = "There are <font color='red' size='3'>".$rec_count."</font> matching records found.";
echo json_encode( array( "message"=>$message ) );

【讨论】:

  • 我似乎没看懂第一个代码框。我应该把它放在哪里?在 内?
  • 参见上面的更新.. 将 javascript 代码放入 index.php 中,例如在 '' 中 注意:您必须包含当前的 jquery api..
  • 我已经从 jquery 网站上保存了最新的 api 并将它保存为 jquery.js 我应该仍然将它包含在 index.php 或 getresult.php 中吗?
猜你喜欢
  • 2011-12-05
  • 1970-01-01
  • 2012-08-29
  • 1970-01-01
  • 2012-11-25
  • 1970-01-01
  • 2011-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多