我使用SQlite db中的数据进行了一些循环,然后使用bootstrap ul / li和数据库中的数据显示了所有这些数据。
代码是这样的(没有打开和关闭php标签):
$results = $db->query("SELECT * FROM igre WHERE cat = 'slot'");
<div class="container-fluid">
<div class="row">
while($row=$results->fetchArray(SQLITE3_ASSOC)){
$game= $row['kod'];
<div class="gallery_product col-xs-6 col-sm-4 col-md-2 col-lg-2">
<span onclick="spremi()">
<i class="fas fa-star fav-icon"></i></span><a href="#" class="tranzicija zacrni"><img src="sample.jpeg"></a>
</div>
}
</div>
</div>
我定义了$ game = $ row ['kod']之类的变量;而且我在这个循环中工作正常,但是问题是当我尝试在用于存储数据的jquery函数中使用此变量值时。
我用于在onclick(spremi)上存储数据的函数仅从上一条记录获取值,而不是从我单击的记录中获取值:
<script>
function spremi(){
$korisnik = "<?php echo $uid;?>";
$kod = "<?php echo $game;?>";
$.ajax({
url: "prihvati.php",
data: {korisnik : $korisnik, igra : $kod},
type: "GET",
dataType: "json",
//on success
success: function(data){
},
error: function(){
}
});
}
我需要此功能才能使每条记录正常工作,例如,如果游戏是“ ABC”以从$ game变量中读取该信息,或者第二个游戏是“ TRZ”以保存该信息,依此类推...
答案 0 :(得分:2)
将游戏变量传递给javascript函数:
...
<span onclick="spremi('<?=$game?>')">
...
然后在spremi
函数中使用它。
function spremi(game){
$.ajax({
url: "prihvati.php",
data: {korisnik : "<?=$uid?>", igra : game},
type: "GET",
dataType: "json",
//on success
success: function(data){
},
error: function(){
}
});
}
答案 1 :(得分:1)
问题是您的Javascript代码不在while
循环之外。因此,您只是在写循环结束时这些变量具有的最后一个值。
您可以通过以下方法解决此问题:让您的JavaScript函数接受这些值作为输入参数,并使对该函数的调用(在循环内创建)传递相关的值:
PHP / HTML
$results = $db->query("SELECT * FROM igre WHERE cat = 'slot'");
<div class="container-fluid">
<div class="row">
while($row=$results->fetchArray(SQLITE3_ASSOC)) {
$game = $row['kod'];
<div class="gallery_product col-xs-6 col-sm-4 col-md-2 col-lg-2">
<span onclick="spremi('<?php echo $uid;?>', '<?php echo $game;?>')">
<i class="fas fa-star fav-icon"></i></span><a href="#" class="tranzicija zacrni"><img src="sample.jpeg"></a>
</div>
}
</div>
</div>
JavaScript:
function spremi(korisnik, kod) {
$.ajax({
url: "prihvati.php",
data: { korisnik : korisnik, igra : kod},
type: "GET",
dataType: "json",
//on success
success: function(data){
},
error: function(){
}
});
}
在您的原始PHP代码中,您没有包含对$uid
的任何引用,因此在我之前使用它之前,我假设它已填充在某处。