Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2010, 13:14   #1
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию Поиск по базе

привет всем, у меня такой вопрос.
вот есть значит база. в примере выдуманная.. так как в настоящей ппц много всего..
так вот. нужно чтоб в поле поиска как в яндексе или гугле вводилось значение, а потом по этому значению производился поиск по БД.. и на другой странице производился вывод результатов.
Сделала до последнего пункта, значение ищется находится но как вывести результаты..?


Search.php
PHP код:
<?

include "mysql.php";

$search $_POST['search'];

$res mysql_query("SELECT name FROM books WHERE name='$search'"$db);

echo(
'<p>была отправленна переменная:<br><b>');
echo(
$search);
echo(
'</b></p>');

echo(
'<p>была выбрана из базы:<br><b>');
echo(
$res);
echo(
'</b></p>');

$tt mysql_query("SELECT name FROM books WHERE name='рубли и манеты'"$db);
echo(
$tt);

?>
mysql.php
PHP код:
<?
$host
="localhost";
$user="root";
$pwd="";
$db=mysql_connect($host,$user,$pwd);
mysql_select_db("books",$db);
?>
index.php
PHP код:
<html>
<body>

<b>html</b><br>

<?php
echo('<b>php</b><br>');

include 
"mysql.php";

?>



<form method="post" action="search.php">
   <table>
   <tr>
      <td>Search:</td>
      <td><input type="text" name="search"></td>
   </tr>
   <tr>
      <td colspan="2"><input type="submit" value="search!"></td>
   </tr>
   </table>
</form>




</body>
</html>
помогите разобраться пожалуйста...
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Старый 01.09.2010, 13:53   #2
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Код:
for ($j=0; $j<=mysql_num_rows($res); $j++) { // это если может быть выбрано много вариантов
      $f = mysql_fetch_array($res);
      $book_name = $f[name];
      echo $book_name;
      echo "<br/>";
}
Maxx вне форума Ответить с цитированием
Старый 01.09.2010, 16:37   #3
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Цитата:
Сообщение от Maxx Посмотреть сообщение
Код:
for ($j=0; $j<=mysql_num_rows($res); $j++) { // это если может быть выбрано много вариантов
      $f = mysql_fetch_array($res);
      $book_name = $f[name];
      echo $book_name;
      echo "<br/>";
}
WTF?!

PHP код:
while ($row mysql_fetch_array($res)) {
    echo 
$row[0],'<br />';  

Это нужно поставить вместо echo($res);
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 01.09.2010, 16:46   #4
Maxx
Форумчанин
 
Аватар для Maxx
 
Регистрация: 29.10.2008
Сообщений: 294
По умолчанию

Цитата:
WTF?!
Я вас чем-то обидел?
Оптимизация кода - большое дело! Но приходит это со временем
Maxx вне форума Ответить с цитированием
Старый 01.09.2010, 23:10   #5
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Вы не обидели, а огорчили некомпетентным ответом.
mysql_num_rows($res) будет выполняться столько раз, сколько строк в результате, а это знаете-ли, не нативная конструкция языка, а порядком медленная функция.
Вы использовали 3 совершенно ненужных переменных.. Зачем? Лишний мусор только.
$f[name] - использование строкового индекса массива без кавычек - это, скажем так, одна из грубейших ошибок.
Не забывайте, что вы даёте ответ новичку. Он учится у вас. Он увидит, что так работает и будет так писать дальше. А когда столкнётся с такой константой - проклянёт вас, потому как никогда не поймёт, почему скрипт не работает как надо.
А ваш код говорит о том, что о мануале PHP вы знаете только по-наслышке. А ведь там везде используется достаточно оптимизированный и правильный код.
Это не оптимизация, а изначально неправильное обучение просто.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 02.09.2010, 06:33   #6
niziriska
Пользователь
 
Аватар для niziriska
 
Регистрация: 28.07.2008
Сообщений: 28
По умолчанию

спасибо, молодые люди!
вы мне очень помогли. щас до ума осталось довести
Жизнь коротка... нужно успеть все!
niziriska вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в базе данных St-Dyx Microsoft Office Excel 8 19.10.2008 12:13
Поиск по базе данных ERASERROR БД в Delphi 4 14.03.2008 16:34
Поиск по базе Антон Шестаков БД в Delphi 1 22.01.2008 20:32
Поиск по базе Таня84 БД в Delphi 3 09.02.2007 10:53