gpt4 book ai didi

javascript - PHP 只显示一行原因

转载 作者:行者123 更新时间:2023-11-29 13:09:03 24 4
gpt4 key购买 nike

enter image description here嘿,我返回 ajax 的 php 代码仅返回一行,欢迎任何帮助。PHP

<?php
include "db.php";

$letter=$_POST["letter"];



$qry = "SELECT * FROM book WHERE title like '$letter%'";
$res = mysql_query($qry);
$num_row = mysql_num_rows($res);
$row = mysql_fetch_assoc($res);

if($num_row>0){
while($row=mysql_fetch_array($res)){
echo "<tr><td>$row[title]</td><td><a href=$row[author]>$row[author]</a></td><td>$row[year]</td></tr></li>";
}
}else{
echo "No Books Found Begining with the letter $letter";
}

?>

Ajax/javaScript

$(document).ready(function () {
$("#button").click(function(){
var letter=$("#letteroption").val();
alert(letter);
console.log(letter);
$.ajax({
type:"post",
url:"azlistscript.php",
data:"letter="+letter,
success:function(data){
//var bookdata.html(data);
$("#bookdata").append(data);
$("#search").val("");
}
});
});
});

HTML

<table id="bookdata">
<thead>
<th class="tbl_left_column">Title</th>
<th class="tbl_left_column">Author</th>
<th class="tbl_left_column">Year</th>
</thead>
</table>

数据显示正确,但当数据库中有以字母 H 开头的 my 时,它不会在数据库中显示多于一行。所有愚蠢的错误都会被注意到,谢谢。

最佳答案

您正在获取两次。

删除 if 语句之前的该行。

   $row = mysql_fetch_assoc($res);

使用这个:

  echo "<tr><td>".$row['title']."</td>
<td><a href='".$row['author']."'>". $row['author']."</a></td>
<td>".$row['year']."</td>
</tr>";

编辑:

  if(mysql_num_rows($res) == 0)
{
echo "No Books Found Begining with the letter $letter";
}
else{
while($row=mysql_fetch_array($res)){
.......
......
}

EDIT2:我想我理解你了。那么你需要只比较第一个字母而不是 LIKE :

试试这个:

   $qry = "SELECT * FROM book WHERE  LEFT(title, 1) = '$letter'";

关于javascript - PHP 只显示一行原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22327965/

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