我想用php从mysql db获取数据并将它们分配给我的javascript数组。我的数据库中有200条记录,我将随机获得10条记录。
$myQuery = mysql_query("select * from tblx where xyz=1 order by rand() limit 10");
*我想要做的是将这些记录分配到一个数组中,而不是逐个显示到我的页面中,具有淡入淡出效果或其他内容。用户正在单击其中一个并将其值发布到db,而不是执行回调函数来加载新数据。
EDIT 2013.06.11
我完全糊涂了,所以请让逻辑清晰。
这里我从db获取数据。
index.php
$sorular_hepsi = mysql_query("select * from tblsorular where hafta=1 order by rand() limit 2");
$soru_ust = mysql_fetch_assoc($sorular_hepsi);
$soru_id = $soru_ust_rs["id"];
$soru_grup_id = $soru_ust["sId"];
$soru1 = $soru_ust["soru"];
$sorular = mysql_query("select * from tblsorular where sId=$soru_grup_id");
$totalKayit = mysql_num_rows($sorular_rs);
while ( $sorular_rs=mysql_fetch_assoc($sorular)) {
$sorular2[] = $sorular_rs["soru"];
$sorular2Id[] = $sorular_rs["id"];
}
$userId = 1234;
以下是index.php
<div id="sorugonder" class="soruStyle">
<a href="#" class="sorugonder" id="<?=$sorular2Id[0]?>"><?=$sorular2[0]?></a>
</div>
<div id="soru_sag" class="soruStyle">
<a href="#" class="sorugonder2" id="<?=$sorular2Id[1]?>"><?=$sorular2[1]?></a>
</div>
这是我的ajax函数,用于将我的数据发送到islem.php
$(function() {
$(".sorugonder").click(function() {
// $('#load').fadeIn();
var commentContainer = $(this).parent();
var id = $(this).attr("id");
var string = 'id='+ id ;
$.ajax({
type: "POST",
url: "islem.php?islem=soruKayit",
data: string,
cache: false,
success: function(data){
commentContainer.slideUp('slow', function() {$(this).remove();});
$('#sorugonder').fadeOut(1000);
$('#soru_sag').fadeOut(2000);
console.log(string);
// alert(id);
}
});
return false;
});
});
此功能打印控制台记录为id=xx
这是我的islem.php页面获取ajax数据
if(isset($_POST["islem"]) && $_POST["islem"]=="soruKayit"){
header('Content-type: application/json');
$id= $_POST['string'];
$cevapTarihi = date("d-m-Y H:i:s");
$cevapId = json_encode($id);
$userId = 1234;
$kayit = @mysql_query("INSERT INTO tblk_skor VALUES(NULL, $userId,$cevapId,$cevapTarihi)");
if(!$kayit){
echo "Error:".mysql_error();
}
die();
}
我有4张不同的png图片,我正在使用它们作为背景。例如:
$1 = '<img src="../img/1.png" />';
$2 = '<img src="../img/2.png" />';
$3 = '<img src="../img/3.png" />';
$4 = '<img src="../img/4.png" />';
我已在每个帖子流程中更改列出的数据背景。但我无法弄清楚我必须把它们放在哪里以及放在哪里?
$ .ajax函数不会将我的数据发送到islem.php,否则我无法获取它。
简单地说:
就是这个。
有什么建议吗?
答案 0 :(得分:1)
你应该为此做好准备,创建一个ajax请求并将请求发送到其他页面,该页面将获取数据和响应回到你的页面,就像AJAX那样。
$.ajax({
type: "POST",
url: "some.php",
data: { XYZ: "1" }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
这里url是页面的名称。和type是您将数据发送到该URL的类型。 希望它会对你有所帮助。
答案 1 :(得分:0)
你可以对你的页面进行ajax调用并获取数据(你可以json_encode()它),然后玩它,给它fadeIn()效果等等
答案 2 :(得分:0)
可以使用json_encode将php数组作为JSON回显。 所以你可以创建一个记录数组
<?php
//query code here
$results = array();
while($row = mysql_fetch_object($myQuery)){
$results[] = $row;
}
?>
然后在你的HTML中你可以做到:
<script>
var results = <?php echo json_encode($results); ?>;
<script>
然后根据需要在脚本中使用此变量。只需很少的变化,您就可以使用与Ajax调用相同的方法。
答案 3 :(得分:0)
在JSON中转换你的php值并使用如下所示的js转换回正常值:
<强> PHP 强>:
$arr = array('a' => 1, 'b' => 2, 'c' => 3, 'd' => 4, 'e' => 5);
echo json_encode($arr);
PHP Reff:http://us3.php.net/json_encode
<强>使用Javascript:强>
var myObject = JSON.parse("my json string");
Jsfiddle:http://jsfiddle.net/X6y5B/
答案 4 :(得分:0)
您可以将MySql行作为JSON返回。 一个例子:
PHP:
<?php
$arr[0]['name'] = 'test0';
$arr[0]['colour'] = 'red';
$arr[1]['name'] = 'test1';
$arr[1]['colour'] = 'blue';
$arr[2]['name'] = 'test2';
$arr[2]['colour'] = 'orange';
?>
<script type="text/javascript">
<?php
echo someThings = json_encode($arr);
?>
</script>
然后在你的javascript中你可以对这些值做任何事情
使用Javascript:
counter = 0;
setInterval(function () {
if (counter < someThings.length - 1) {
//do something
} else {
counter = 0;
//do something with the starting element again like
alert('The name is ' + someThing[counter].name + ' and the colour is ' + someThing[counter].colour);
}
counter++;
}, 5000);
答案 5 :(得分:0)
首先,你需要使用你的查询在php中创建一个变量: 下面的代码只是demo.I我在数组中循环并创建一个数组,你需要在你的查询中循环它:
<?php
$a="{ ";
for($y=2012;$y<=date("Y")+1;$y++)
{
$a.="'".$y."':{";
for($m=1;$m<=12;$m++)
{
$data_holiday=$ms->holidays($y,$m);
$a.="'".$m."': {";
foreach($data_holiday as $key=>$val)
{
$a.="'".$val['date_day']."': {tooltip: '".$val[Occasion]."', className:'holiday'},";
}
$a.="},";
}
$a.="},";
}
$a.="}";
?>
然后你可以在这样的javascript中回显它:
<script type="text/javascript">
var specialDays =<?php echo $a; ?>;
</script>