<inpu type='text' name='word'>
<select name='table'>
<option value="users">Потребители</option>
<option value="tapanari">Ботове</option>
<option value="tapanari,users">Всички</option>
</select>
$word = $_POST['word']
$table = $_POST['table'];
$q = mysql_query("SELECT * FROM ".$table." WHERE `title` LIKE '%".$word."%' OR `desc` LIKE '%".$word."%' OR `tags` LIKE '%".$word."%' ORDER BY `id` DESC");
while($r = ...)
{
// echo rezultatite ...
}
Мда...и как ще търси в две таблици едновременно с твоя пример?joTunkiq каза:ОМГ .. ?! ... ето как става ..
HTML:<inpu type='text' name='word'> <select name='table'> <option value="users">Потребители</option> <option value="tapanari">Ботове</option> <option value="tapanari,users">Всички</option> </select>
PHP:$word = $_POST['word'] $table = $_POST['table']; $q = mysql_query("SELECT * FROM ".$table." WHERE `title` LIKE '%".$word."%' OR `desc` LIKE '%".$word."%' OR `tags` LIKE '%".$word."%' ORDER BY `id` DESC"); while($r = ...) { // echo rezultatite ... }
Колко просто, нали ? :?: :?:
Предполагам, че си го писал тук във форума това! Забравил си да филтрираш данните за превент от SQLi или XSS!joTunkiq каза:ОМГ .. ?! ... ето как става ..
HTML:<inpu type='text' name='word'> <select name='table'> <option value="users">Потребители</option> <option value="tapanari">Ботове</option> <option value="tapanari,users">Всички</option> </select>
PHP:$word = $_POST['word'] $table = $_POST['table']; $q = mysql_query("SELECT * FROM ".$table." WHERE `title` LIKE '%".$word."%' OR `desc` LIKE '%".$word."%' OR `tags` LIKE '%".$word."%' ORDER BY `id` DESC"); while($r = ...) { // echo rezultatite ... }
Колко просто, нали ? :?: :?:
mysql_query("SELECT * FROM `table1` as `t1`, `table2` as `t2` WHERE `t1`.`title` LIKE '%".$word."%' OR `t1`.`desc` LIKE '%".$word."%' `t2`.`title` LIKE '%".$word."%' OR `t2`.`desc` LIKE '%".$word."%' ");
Това вече е друго.Аз исках да кажа,че не може да търси в повече от една таблица наведнъж с първия код,който даде.Просто може да си избира от коя...joTunkiq каза:няма значение филтрацията, това е пример.
@fbian - не виждаш ли, че ползвам селект меню.. ?! от там идват таблиците .. ако искаш да не е така просто напиши на ръка двете таблици или ползвай тоя пример:
PHP:mysql_query("SELECT * FROM `table1` as `t1`, `table2` as `t2` WHERE `t1`.`title` LIKE '%".$word."%' OR `t1`.`desc` LIKE '%".$word."%' `t2`.`title` LIKE '%".$word."%' OR `t2`.`desc` LIKE '%".$word."%' ");
само заметваш .. по-просто от това няма . !
Понеже те гледам, че неможеш и елементарен код да си скълъпиш .. гледай урока на Иван Внанов за Aliacing в mysql ! :?: :?: :?: :?:
$word = $_POST['word'];
$table =array("table1,table2,table3,table4");
foreach ($table as $value) {
$query="Select `nqkoia koloma` FROM ".$value." WHERE `nqkoia koloma` LIKE '%".$word."%'" ;
$result = mysql_query($query) or die (mysql_errno());
while ($row = mysql_fetch_assoc($result)){
//tuka se slaga koda za izkarvane na rezultata
}
}
$word = $_POST['word'];
$table =array(
"table1" => 'ime na kolona1',
"table2" => 'ime na kolona2',
"table3" => 'ime na kolona3',
"table4" => 'ime na kolona4'
);
foreach ($table as $key => $value) {
$query="Select ".$value." FROM ".$key." WHERE `nqkoia koloma` LIKE '%".$word."%'" ;
$result = mysql_query($query) or die (mysql_errno());
while ($row = mysql_fetch_assoc($result)){
//tuka se slaga koda za izkarvane na rezultata
}
}
deam0n каза:Добра идея е да се направят масиви с полетата. Защото ако търсиш в таблица users и имаш хардкоднато email LIKE ... няма проблем. Но ако потребителя избере таблицата movies примерно, ще изгърми грешка, че няма такова поле email в таблицата movies.