我有一个工作脚本向get_code.php
发送ajax请求。此脚本从主页面index.php
运行。 get_code.php
脚本查询我的MySQL数据库,然后将数据发送回index.php
。
<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
上显示某些内容,就像通知中所说的那样&#39;您的代码找不到&#39;。
感谢任何帮助
答案 0 :(得分:0)
您可以返回结果标志。这是一个很好的逻辑,易于理解。
如果没有找到行:
<!DOCTYPE html>
<html>
<head>
<title>Expandable Text Area</title>
<style>
textarea {
width: 200px;
height:15px;
line-height:15px;
min-width: 200px;
max-width: 300px;
transition: width 0.25s;
resize:none;
overflow:hidden;
}
</style>
<script>
$('textarea').on('keydown', function(e){
if(e.which == 13) {e.preventDefault();}
}).on('input', function(){
$(this).height(1);
var totalHeight = $(this).prop('scrollHeight') -
parseInt($(this).css('padding-top')) - parseInt($(this).css('padding-bottom'));
$(this).height(totalHeight);
});
</script>
</head>
<body>
<textarea placeholder="Autosize" data-autosize-input='{ "space": 40 }'>
</textarea>
</body>
</html>
如果发现了一些代码:
die(json_encode(['result' => false, 'error' => 'No code was found']));
在js:
die(json_encode(['result' => true, 'output' => $output_string]));
希望它有所帮助。