[英]get rows from mysql table to php array and pass it to ajax
我正在嘗試通過常規方式從php中的 Ajax調用mysql_query和mysql_fetch_array從常規表中獲取值
if ($comtype==3){
$getsteps = mysql_query("SELECT id FROM steps WHERE id = $id");
$row = mysql_fetch_array($getsteps);
if($row != false){
$steps_array = array();
while ($row = mysql_fetch_array($getsteps, MYSQL_ASSOC))
{
array_push($steps_array,$row);
}
$countsteps = count($steps_array);
error_log("count: ".$countsteps);
error_log(print_r($steps_array));
echo json_encode(array("comtype" => $comtype, "countsteps" => $countsteps, "steps" => $steps_array));
} else {
//error
}
}
在php錯誤日志中:
[2017年8月28日11:25:32 UTC]計數:1 [2017年8月28日11:25:32 UTC] 1
雖然我知道這是2行!
並在阿賈克斯
$.ajax({
type:'POST',
url:'app/check.php',
data: {'ID':ID},
dataType: 'json',
success: function(value){
if (value.comtype== "0") {
$("#newC").show();
$("#hadC").hide();
} else {
var method;
var com;
com = "<div class='clearfix'></div><br><h3>old.</h3>";
com += "By Stpes: <br>";
for (i = 0; i < value.countsteps; i++) {
com += "Step " + Number(i)+1 + ": Greater Than " + value.steps_array['calfrom'] + " AND Less Than or Equal " + value.steps_array['calto'] + " Apply " + value.steps_array['calapl'] + " % <br>";
}
}
$("#hadC").html(com);
$("#hadC").show();
$("#newC").hide();
}
}
});
問題是:1.我不知道如何將數據從數組推入數組? 2.我不知道如何在ajax中循環進入此數組以在html div中查看它?
問題是您在while
循環之前調用了mysql_fetch_array()
。 這將獲取第一行,而循環將獲取其余的行。
如果要在循環之前測試是否返回了任何行,請調用mysql_num_rows()
。 您也可以使用它代替count($steps_array)
。
if ($comtype==3){
$getsteps = mysql_query("SELECT id FROM steps WHERE id = $id");
$countsteps = mysql_num_rows($getsteps);
if($countsteps > 0) {
$steps_array = array();
while ($row = mysql_fetch_array($getsteps, MYSQL_ASSOC))
{
array_push($steps_array,$row);
}
error_log("count: ".$countsteps);
error_log(print_r($steps_array));
echo json_encode(array("comtype" => $comtype, "countsteps" => $countsteps, "steps" => $steps_array));
} else {
//error
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.