2012-04-07 3 views
-1

Мне нужно получить идентификаторы всех div на моей странице с классом archive и поместить их в запрос MySQL, чтобы проверить, проверены ли идентификаторы в базе данных.Поместите DIV ID в переменную PHP

Поэтому в основном я задаюсь вопросом, как я могу это сделать: $div = $(this).attr('id');

Тогда я бы бросить его в петлю, чтобы проверить:

$matches = mysql_query("SELECT * FROM content WHERE `div` = '$div'"); 
     while ($post = mysql_fetch_assoc($matches)) 
     { 
      if (mysql_num_rows($matches) > 0) 
      { 
       //DO THIS 
      } 
     } 

UPDATE

У меня есть этот код для AJAX сейчас:

$('div.heriyah').each(function() { 
var curID = $(this).attr('id'); 
$.post("admin/btnCheck.php", { div : curID }, function(data) { 
if (data == "yes") { 
    $('#' + curID).html('<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\"> + Add Element</div></div></div><div class=\"clear\"></div></div>'); 
} else { 
    $('#' + curID).html('<div class=\"add\"><div id=\"add_button_container\"><div id=\"add_button\" class=\"edit_links\"> + Set As Editable Region</div></div></div><div class=\"clear\"></div></div>'); 
} 
    }); 
}); 

И мой PHP:

$matches = mysql_query("SELECT * FROM content WHERE `div` = '".$_POST['div']."'"); 
if (mysql_num_rows($matches) > 0) 
{ 
    echo "yes"; 
} else { 
    echo "no"; 
} 

Что я делаю неправильно?

+2

'

http://bobby-tables.com
' –

ответ

2

Вы не можете перебрасывать переменную javascript в PHP-скрипт. Вы должны отправить AJAX запрос на странице

$div = $(this).attr('id'); 
$.post("yourquerypage.php", { divid : $div }, function(data) { 
    // Something to do when the php runs successfully 
}); 

Далее настроить запрос, чтобы получить переменную из $ _POST()

$matches = mysql_query("SELECT * FROM content WHERE `div` = '".$_POST['divid']."'"); 

И конечно, вы должны принять меры для инъекций.

+0

Спасибо! Вы были очень полезны! Мне нужно пройти и исправить мои запросы для предотвращения инъекций! – drummer392

+0

Я все еще немного новичок в AJAX, но как проверить и установить функцию обратного вызова, чтобы увидеть, есть ли данные в базе данных, которые совпадают в формате if/else. – drummer392

+1

@ drummer392, IF см. В приведенном выше коде, 'function (data) {}' - это функция обратного вызова, 'data' будет содержать все, что отражается на странице php. – Starx

0

Простая ошибка синтаксиса. Удалите условие после else, и все будет в порядке.

else (data == "yes") { // remove (data == "yes") 
    // snip 
} 
+0

ok, я сделал это, но я думаю, почему-то данные не отправляют и не возвращают ajax. Я просто просто помещаю 'echo 'no"; 'в файл btnCheck.php и все равно ничего. Путь правильный! – drummer392

+0

Я думаю, было бы проще, если бы вы разместили ссылку на сайт. Какую ошибку вы получаете? – rgin

+0

Сайт с аддоном защищен печально, но я не получаю ошибок в Firebug. Но вы говорите мне, что код, который я опубликовал, является правильным (помимо того, что вы отключаете этот сегмент) – drummer392

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