2010-10-15 5 views
-1

Мой 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_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(); 
    }); 
}); 

И 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); 

?> 

я не получаю значения обратно.

+2

ARGH! http://bobby-tables.com/ – Quentin

ответ

1

Update:

Вы никогда не должны ставить переменную перед sanitalizing/проверки/типа преобразования в ваших SQL запросов. Если значение, которое вы ожидаете в строке запроса является числом, вам необходимо правильно ввести отливка это следующим образом:

$id_skupine = (int) $_GET['id_skupine']; 

И если это строка, как минимум вы можете сделать, это использовать mysql_real_escape_string функцию:

$str = mysql_real_escape_string($_GET['str']); 

вы не должны быть захватывая записи из БД, как это:

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); 
+0

ok Это прекрасно работает :) – Alen

+0

@Alen: Это хорошая новость :) – Sarfraz

0

Может быть Ваш запрос ничего

не возвращает
 
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '$id_skupine'"); 

Удалить единственную цитату из '$id_skupine'

Попробуйте

 
$poizvedba = mysql_query("SELECT id,ime_artikla FROM artikli WHERE id_skupine = '".$id_skupine."'"); 
+0

Нет, что является правильным кодом :) – Sarfraz

+0

Код работает нормально, но у меня есть неправильный путь к artikli. PHP – Alen

Смежные вопросы