【发布时间】:2014-03-10 20:08:09
【问题描述】:
嘿,在这种情况下,我正在尝试退回以某个字母开头的书籍 H。但是我根本无法使此代码正常工作,任何帮助都会非常充分。 HTML
<a href="" id="searchH" name="h" value="h"> <<<< CLICKED
<div id="ack2"></div> <<<<<< DISPLAYED HERE
PHP
<?php
include('db.php');
$letter = "";
$i = 0;
$jsonData = '{"books":[';
if(isset($_POST['letter'])){
$letter = $_POST['letter'];
$sqlString = "SELECT * FROM book WHERE title LIKE '$letter%'";
$query = mysql_query($sqlString) or die (mysql_error());
while ($row = mysql_fetch_array($query)) {
$i++;
$year = $row["year"];
$title = $row["title"];
$author = $row["author"];
$jsonData .= '{ "title":"'.$title.'", "author":"'.$author.'", "year":"'.$year.'" },';
}
$jsonData = chop($jsonData, ",");
$jsonData .= ']}';
echo $jsonData;
}
?>
Ajax/javaScript
$("#searchH").click(function(){
letter = $("#searchH").val();
$.ajax({
type: "POST",
url: "azlistscript.php",
data: "letter ="+letter,
success: function(html){
$("#ack2").html(html);
}
});
});
如果我手动更改字母值,PHP 文件会返回书籍数据,它会显示以 H 开头的书籍,只需将其显示在我的 html 页面上的 div 标签中。
点击事件的值在控制台中没有记录任何值
【问题讨论】:
-
使用 firebug 并跟踪来自浏览器和服务器的发送/响应
-
你有一个 SQL 注入漏洞。
-
为什么不在 PHP 中使用
json_encode()? -
使用 JSON 序列化器。
-
@barell 我在哪里使用它,我不认为点击的价值是进入 php 文件控制台记录没有价值
标签: javascript php jquery mysql ajax