Вообще как я понял. У тебя есть две таблицы: user and user_info Abyss, тебе с решением помог. мне не ясно, откуда эти таблицы а и b. Покажи их дамп, если они есть.
На этот? Теперь тут так же выдает "Nothing found", или на запрос Abyss? на который выдает "Unknown column 'a.name'"
запрос: Код (PHP): SELECT id, name, sname, email from user left join user_info on user_id = id результат будет: Код (PHP): id | name | sname | email 1 | Иван | Петрович | ivan@mail.ru 2 | Петр | Константинович | petr@mail.ru
Так тоже пробовал в самом коде , все то же Nothing found, хотя в SQL выдает результат. Смотрю код.. Но все же главный вопрос это как сделать так чтобы поиск был без перезагрузки страницы ( ведь сначала клиент отправляет запрос веб-серверу, а уже тот браузеру, как понимаю этим обусловлена она )
Короче все работает, НО при поиске юзеров выдает "():" ( Когда вводишь рандом то дает No result как надо) Подскажите почему так? Исправленный PHP код : Код (PHP): <?php header("Content-type: text/html; charset=windows-1251"); $search = $_POST['search']; $search = addslashes($search); $search = htmlspecialchars($search); $search = stripslashes($search); if($search == ''){ exit("type your message"); } $db = mysql_connect("localhost","root",""); mysql_select_db("libr",$db); mysql_query("SET NAMES cp1251"); $query = mysql_query("SELECT id, name, sname, email from user left join user_info on user_id = id where email LIKE '%".$search."%'",$db); echo mysql_errno($db) . ": " . mysql_error($db) . "\n"; if(mysql_num_rows($query) > 0){ $sql = mysql_fetch_array($query); do{ echo "<div>".$sql['text']."</div>"; }while($sql = mysql_fetch_array($query)); }else{ echo "No results"; } Javascript + Html : Код (PHP): <html> <head> <meta http-equiv="Content-Type"; "charset=utf-8"> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script> <script type="text/javascript"> $(function(){ $("#search").keyup(function(){ var search = $("#search").val(); $.ajax({ type: "POST", url: "search.php", data: {"search": search}, cache: false, success: function(response){ $("#resSearch").html(response); } }); return false; }); }); </script> </script> </head> <body> <form action="search.php" method="post" name="form" onsubmit="return false;"> <input type='text' name='search' value='' id="search"> <input type='submit' value='поиск' /> </form> <div id="resSearch">Начните вводить запрос</div> </body> </html>
Код (PHP): header("Content-type: text/html; charset=windows-1251"); ... do{}while(); Почему ? Зачем ? Код (PHP): if(mysql_num_rows($query) > 0){ while($sql = mysql_fetch_array($query)){ echo "<div>".$sql['text']."</div>"; } }else{ echo "No results"; } И ты смотри какие поля выгружаешь в запросе Код (PHP): mysql_query("SELECT id, name, sname, email from user left join user_info on user_id = id where email LIKE '%".$search."%'",$db); Среди них есть 'text' ?
Ессс, все работает, Abyss второй раз помог, спасибо! Хотя на последок, как сделать так чтобы при неправильном вводе был красный цвет, а при верном зеленый
Тегом span можно. Код (PHP): echo "<div><span style="color: green">" .$sql[email]. " " .$sql[name]. " " . $sql[sname] ." " .$sql[id]. "</span></div>" } }else{ echo "<span style="color: red">нет такого N в базе</span>";
Так попробуй... Код (PHP): echo "<div><p><span style="color: green">" .$sql[email]. " " .$sql[name]. " " . $sql[sname] ." " .$sql[id]. "</span></p></div>"