我正在开发一款游戏的小应用程序。 该应用程序包含显示给定怪物在哪里。我有一个怪物,地图和地图的怪物所属的数据库。如何根据查询结果“突出显示”div?
现在应用程序几乎可以工作,例如,如果用户编写“Poring”,则html中的列表将显示地图名称和地图ID。
无论如何,我还有一个与整个游戏世界的网格,网格中的每个方格都是一个地图,并且每个网格都有一个特定的ID。
因此,可以说我正在寻找应用程序中的“Poring”。
现在它会显示以下列表:
map: Prontera Field 07 map_id: prt_fild07
map: Prontera Field 08 map_id: prt_fild08
,但我要的是不要表现出名单,但突出的div(或添加任何CSS),以的div id为” prt_fild07“和id =”prt_fild08“。
我知道我需要使用AJAX,但我不知道如何,因为我正在学习JQuery,但无论如何,现在我正在使用AJAX来显示列表。
这里是jQuery代码:
$('#ro-form').submit(function(e){
e.preventDefault(); //Prevent default submission
$.ajax({
url: 'files/php/process.php',
type: 'POST',
data: $(this).serialize(), //serielize form data
dataType: 'html'
})
.done(function(data){
$('#test').fadeOut('slow',function(){
$('#test').fadeIn('slow').html(data);
});
})
.fail(function(){
alert(':(');
});
});
,这里是PHP的一部分
<?php
include 'connection.php';
if($_POST){
$mob_id_name = $_POST['mob_id_name'];
}
$sql = "select restartmap.map.map_name, restartmap.map.map_id
from restartmap.map, restartmap.map_monster, restartmap.monster
where restartmap.map.map_id = restartmap.map_monster.map_monster_map_id and
restartmap.monster.monster_id = restartmap.map_monster.map_monster_monster_id and
(restartmap.monster.monster_id = '$mob_id_name'
or restartmap.monster.monster_name like '$mob_id_name')";
$result = $conn->query($sql);
$conn->close();
?>
<div id="result-container">
<?php
if($result->num_rows > 0){
while($row = $result->fetch_assoc()){
print "map: " . $row["map_name"] . " map_id: " .$row["map_id"] . "<br>";
}
}else{
print "<p> nothing :(</p>";
}
?>
</div>
基本上我做的是从index.php中的信息发送通过AJAX来process.php和然后在index.php中打印整个$ result var,但我真正想做的是突出显示与map_id具有相同id的div。
发送数据作为JSON格式数组...然后循环数组 – charlietfl
,数据类型应该是'json',使用'parse_str($ _ POST [ 'data'],$ data)''而不是从'$ data'中提取任何你需要的东西(它会保存$ _POST信息),然后返回一个使用php'json_encode'的数组,它添加'$ row [“map_id “]'的值,所以你可以在你的'.done'函数中使用它。 –