[英]PHP AJAX Notifications if MySQL query returns no rows
我有一個工作腳本,它向get_code.php
發送一個ajax請求。 此腳本從主頁面 - index.php
。 get_code.php
腳本在MySQL數據庫中查詢一行,然后將數據發送回index.php
。
index.php中的 jQuery
<script type="text/javascript">
$("#CMTCode").click(function(){
var cde = $("#cmtcodeinput").val();
$.ajax({
method:'POST',
url:'get_code.php',
data: {va_code:cde},
dataType: 'json',
success: function(output_string){
$('#rtable').append(output_string);
$("#cmtcodeinput").val('');
var prc = $(".price:last");
prc.focus();
}
});
});
</script>
PHP腳本get_code.php
<?php
include('dbc.php');
$code = $_POST['va_code'];
$cq = mysql_query("SELECT * FROM variants where va_code='$code'")or die(mysql_error());
if(!$cq){
mysql_close();
echo json_encode('There was an error running the query: ' . mysql_error());
}elseif(!mysql_num_rows($cq)){
mysql_close();
echo json_encode('No results returned');
}else{
$output_string = '';
$output_string .= '<tr>';
while($row = mysql_fetch_assoc($cq))
{
$output_string .= '<td>'.$row['cmtcost'].'</td>';
//etc. etc. lots more output here
}
$output_string .= '</tr>';
}
mysql_close();
echo json_encode($output_string);
?>
但是,如果未找到查詢結果,則頁面上不會返回任何內容以通知用戶。 理想情況下,我想打開一個模態,或顯示一個div
,我可以在其中使用用戶輸入的數據。 我只是不能為我的生活工作如何檢查$cq
返回沒有結果,如果是,那么在index.php
上顯示一些內容,就像通知說'你的代碼沒找到'。
感謝任何幫助
您可以返回結果標志。 這是一個很好的邏輯,易於理解。
如果沒有找到行:
die(json_encode(['result' => false, 'error' => 'No code was found']));
如果找到一些代碼:
die(json_encode(['result' => true, 'output' => $output_string]));
並在js:
...
success: function(data){
if (!data.result) {
alert(data.error);
} else {
$('#rtable').append(data.output);
$("#cmtcodeinput").val('');
var prc = $(".price:last");
prc.focus();
}
}
...
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.