$(document).ready(function() {
$(document).ready(function () {
var request = $.ajax({
url: 'inc/everything.php',
type: "POST",
dataType: "html",
success: function (data) {
if ("row:has('tacobell');") {
$('#oriental').html(name);
}
}
});
});
.encasing {
width: 193px;
height: 400px;
float: left;
}
.result-ingredient {
z-index: 13;
width: 150px;
margin: 10px;
float: left;
}
<div class=" encasing">
<img class="result-ingredient" src="img/chicken.png">
<div id ="chicken"> </div>
</div>
<div class=" encasing">
<img class="result-ingredient" src="img/beef.png">
<div id ="beef"> </div>
</div>
<div class=" encasing">
<img class="result-ingredient" src="img/pork.png">
<div id ="pork"> </div>
</div>
<div class=" encasing">
<img class="result-ingredient" src="img/oriental.png">
<div id ="oriental"> </div>
</div>
<?php
include 'database.php';
$sql = "SELECT * FROM `answers` WHERE 1 ORDER BY `choices` ASC ";
$result = mysql_query($sql, $conn);
if (!$result) {
var_dump($result);
$message .= 'DB Error occured';
die($message);
}
while ($row = mysql_fetch_assoc($result)) {
echo "Name:" . ($row['name']) . " " . "choices:" . $row['choices'];
echo "<br>";
}
?>
必须有更好的方法在html中显示所有这些查询。 我希望人名出现在他们之前选择的项目下,这与数据库中的值相对应。它不完全正常工作,我想知道我是否只是以错误的方式解决这个问题?
编辑:
我不知道如何让ajax获取我想要的正确数据。我的想法是检查是否有任何行具有某个值,然后只是发布该名称,但它不起作用。
这是数据库现在打印的内容
姓名:trisha选择:鸡肉,tacobell
姓名:莎拉选择:鸡,mcrab,sriracha,tacobell
名称:rachel选择:鸡肉,豌豆,玉米,生菜,mcrab,sriracha,tacobell
答案 0 :(得分:1)
是。使用REGEXP
进行1次查询。
SELECT `name`,`choices` AS choice_number,
CASE
WHEN choices = 1 THEN 'oriental'
WHEN choices = 2 THEN 'pork'
WHEN choices = 3 THEN 'beef'
WHEN choices = 4 THEN 'chicken'
WHEN choices = 5 THEN 'shrimp'
END as choice_string
FROM `answers`
WHERE `choices` REGEXP '[1|2|3|4|5]';
然后,在您的循环中,您可以使用$row['name']
,$row['choice_number']
和$row['choice_string']
。
我看到你正在使用jQuery $ .ajax,它在data
(success
函数的参数)中有PHP文件的响应,这很好。然后,您使用data
方法编写html
,我认为没有理由进行更改。
答案 1 :(得分:0)
我会在服务器上使用JSON,这样可以更好地在Javascript中进行迭代。
SELECT name FROM answers WHERE choices = 1 OR choices = 2 OR choice = 3....
然后,
$resp = array();
while ($row = mysql_fetch_assoc($result)) {
$resp[] = $row;
}
echo json_encode($resp);
在客户端:
$(document).ready(function() {
var request = $.ajax({
url: 'php/everything.php',
type: "POST",
data: datastring,
dataType: "json",
success: function(data) {
$.each(data, function (index, value) {
$('#oriental').append(value);
});
}
});
request.done(function(msg) {
$("#log").html(msg);
});
});