Php jquery中的$.getJSON有问题
我的Jquery代码Php jquery中的$.getJSON有问题,php,jquery,Php,Jquery,我的Jquery代码 function nalozi() { var id_skupine = $('#skupina option:selected').val(); $('#artikel option').remove(); //$('#artikel').append('<option value="'+id_skupine+'">'+id_skupine+'</option>'); $.getJSON('artikli.php', {id_sk
function nalozi() {
var id_skupine = $('#skupina option:selected').val();
$('#artikel option').remove();
//$('#artikel').append('<option value="'+id_skupine+'">'+id_skupine+'</option>');
$.getJSON('artikli.php', {id_skupine:$('#skupina').val()}, function(data) {
$.each(data, function(index,item) {
$("#artikel").append("<option value=" + item.id + ">" + item.ime_artikla + "</option>");
});
});
}
$(document).ready(function() {
nalozi();
$('#skupina').change(function() {
nalozi();
});
});
函数nalozi(){
var id_skupine=$(“#skupina选项:选定”).val();
$(“#artikel选项”).remove();
//$('#artikel')。追加('+id_skupine+'');
$.getJSON('artikli.php',{id_skupine:$('#skupina').val()},函数(数据){
$。每个(数据、功能(索引、项目){
$(“#artikel”).append(“+item.ime_artikla+”);
});
});
}
$(文档).ready(函数(){
纳洛齐();
$('#skupina')。更改(函数(){
纳洛齐();
});
});
和PHP代码
<?php
if(isset($_GET['id_skupine']))
{
$id_skupine = $_GET['id_skupine'];
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '$id_skupine'");
$velikost = mysql_num_rows($poizvedba);
for ($i=0;$i<$velikost;$i++)
{
$elements[]=mysql_fetch_assoc($poizvedba);
}
}
echo json_encode($elements);
?>
更新:
在将清理/验证/类型转换为sql查询之前,决不应放置变量。如果您希望查询字符串中的值是一个数字,则需要按如下方式正确键入cast:
$id_skupine = (int) $_GET['id_skupine'];
if(isset($_GET['id_skupine']))
{
$id_skupine = $_GET['id_skupine'];
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '$id_skupine'");
$velikost = mysql_num_rows($poizvedba);
while($row = mysql_fetch_assoc($poizvedba)){
$elements[] = $row['ime_artikla'];
}
}
echo json_encode($elements);
如果是字符串,至少可以使用mysql\u real\u escape\u string
函数:
$str = mysql_real_escape_string($_GET['str']);
您不应该像这样从db抓取记录吗:
$id_skupine = (int) $_GET['id_skupine'];
if(isset($_GET['id_skupine']))
{
$id_skupine = $_GET['id_skupine'];
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '$id_skupine'");
$velikost = mysql_num_rows($poizvedba);
while($row = mysql_fetch_assoc($poizvedba)){
$elements[] = $row['ime_artikla'];
}
}
echo json_encode($elements);
可能是您的查询没有返回任何内容
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '$id_skupine'");
啊!代码运行良好,但我只是错误地访问了artikli.php