gpt4 book ai didi

如果 MySQL 查询未返回任何行,PHP AJAX 通知

转载 作者:行者123 更新时间:2023-11-30 22:01:11 26 4
gpt4 key购买 nike

情况

我有一个工作脚本,可以将 ajax 请求发送到 get_code.php。该脚本从主页运行 - index.phpget_code.php 脚本在我的 MySQL 数据库中查询一行,然后将数据发送回 index.php

当前代码

index.php 中的 jQuery

<script type="text/javascript">
$("#Code").click(function(){
var cde = $("#codeinput").val();
$.ajax({
method:'POST',
url:'get_code.php',
data: {va_code:cde},
dataType: 'json',
success: function(output_string){
$('#rtable').append(output_string);
$("#codeinput").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['cost'].'</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();
}
}
...

希望对您有所帮助。

关于如果 MySQL 查询未返回任何行,PHP AJAX 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43282292/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com