我没有看到 ajax 的最后一次调用
Posted
技术标签:
【中文标题】我没有看到 ajax 的最后一次调用【英文标题】:I dont see The last call of ajax 【发布时间】:2016-04-10 23:43:09 【问题描述】:我正在使用 ajax 从我的数据库中打印日期。
问题是我没有看到我的数据库的最后一个元组。 因此,如果我的数据库中只有一个元组,我什至看不到这个(因为是最后一个)。
Ajax
$(function update ()
$.ajax(
type: "POST",
url: '/includes/contenuto.php', //the script to call to get data
data:action:"show",
success: function(data) //on recieve of reply
$("#pinBoot").html(data);
).then(function() // on completion, restart
setTimeout(update, 5000); // function refers to itself
);
);
PHP
<?php
include('../core.php');
$action=$_POST["action"];
if($action=="show")
$sql = mysql_query("") or die ("Nessun errore");
$array = mysql_fetch_row($sql);
while ($row = mysql_fetch_array($sql))
echo '
<article class="white-panel">
<h4><a href="#">'.$row ['titolo'].'</a></h4>
<p>'.Markdown($row ['contenuto']).'</p>
</article>
';
?>
谢谢大家。
【问题讨论】:
为什么在循环行之前获取一行?尝试删除 $array = mysql_fetch_row($sql);从你的代码行。 我没有注意到。我没看见它。这是我旧代码的一部分。谢谢大家。 不要在循环之前执行mysql_fetch_array,因为它会在循环开始之前获取第一行 @wogsland 这样每次都是 TRUE 。是为了未来,如果我必须过滤一些东西。 @woody 是的。我删除了这个,现在可以工作了。 【参考方案1】:在开始 while 循环之前,每次调用 $array = mysql_fetch_row($sql);
调用此函数时,您都会丢失一行。
<?php
include('../core.php');
$action=$_POST["action"];
if($action=="show")
$sql = mysql_query("SELECT `id`, DATE_FORMAT(data,'%e %b %Y') AS
`data`, AES_DECRYPT(unhex(contenuto),'PASSWORD') AS 'contenuto',
`video`, aes_decrypt(unhex(titolo),'PASSWORD') AS 'titolo',
`immagine`
FROM `post`
WHERE 1
ORDER by id DESC") or die ("Nessun errore");
// READ AND IGNORE A ROW? WHY
//$array = mysql_fetch_row($sql);
while ($row = mysql_fetch_array($sql))
echo '
<article class="white-panel">
<h4><a href="#">'.$row ['titolo'].'</a></h4>
<p>'.Markdown($row ['contenuto']).'</p>
</article>';
?>
【讨论】:
我没有注意到。我没看见它。这是我旧代码的一部分。谢谢大家。以上是关于我没有看到 ajax 的最后一次调用的主要内容,如果未能解决你的问题,请参考以下文章