Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Требуется доработать скрипт

Сообщения:  [1-4] 

 
 автор: Job   (18.06.2007 в 23:28)   письмо автору
 
   для: выдр   (18.06.2007 в 20:43)
 

> @$query = "SELECT * FROM production WHERE $srch like '%$name%' ";
> $result = mysql_query($query) or die('Ошибка запроса');

только зачем @ ставить... хм... буди так?


$query = "SELECT * FROM production WHERE $srch like '%$name%' ";   
@$result = mysql_query($query) or die('Ошибка запроса');   


Вот так смысл имеет :)

   
 
 автор: выдр   (18.06.2007 в 20:43)   письмо автору
 
   для: mjc66   (18.06.2007 в 20:32)
 

перед
while($t = @mysql_fetch_array($result))....
поставьте

if (mysql_num_rows($result) > 0)
{
 //блок вывода результатов
}
else echo "по Вашему запросу ничего не найдено"; 

mysql_num_rows($result) -- подсчитывает кол-во строк, возвращаемых mysql_query().

   
 
 автор: Poison   (18.06.2007 в 20:41)   письмо автору
 
   для: mjc66   (18.06.2007 в 20:32)
 

Можно так

<?php  

...

        @
$query "SELECT * FROM production WHERE $srch like '%$name%' ";  
       
$result mysql_query($query) or die('Ошибка запроса');     
       
$out "";
        while(
$t = @mysql_fetch_array($result)) {         


     
$out .="       
         <tr>  
           <td  width='35%' class='search'><font color='#CC0000'>
$t[name]</font></td>  
           <td  width='20%' class='search'><font color='#0000CC'><a href=
$t[page]>Найти на странице</a></font></td>  
           <td  width='30%' class='search'><font color='#CC0000'>
$t[group_production]</font></td>  
          </tr>"
;  
    }  

   if ( 
$out <> "" ) {
         echo 
$out."</table>";
   } else {
          echo 
"Error!";
}

?>


Кстати почему у вас переменная $name пытаеться выполнить две разные вещи?

Вы пробывали искать в базе чтонить в столбце name?

   
 
 автор: mjc66   (18.06.2007 в 20:32)   письмо автору
 
 

Сделал с горем пополам поисковый скрипт, вроде работает, но хотелось бы внести изменение: что и куда надо вставить в скрипт, если поиск завершился ничем т.е. товар не найден и выводилась бы фраза типа: "По вашему запросу ничего не найдено"??? Код скрипта:

<?php 
       
print("<table border='1' cellspacing='2' cellpadding='1' class='search'><caption align=top class='search'>Результат поиска:</caption><tr><td width='35%' class='search_top' align='center'><b>Наименование товара</b></td><td width='20%' class='search_top' align='center'><b>Страница в каталоге</b></td><td width='30%' class='search_top' align='center'><b>Группа товаров</b></td></tr>"); 


//connection to MySQL 
     
$db_host "localhost"
     
$db_user "login"
     
$db_password "password"
     
$db_name "my_db"
     
$connection mysql_connect ($db_host$db_user$db_password) or die ('error connection'); 
     
mysql_select_db($db_name$connection); 



//variables 
        
@$id =$_GET['id']; 
        @
$name =$_GET['name']; 
        @
$page =$_GET['page']; 
        @
$group_production =$_GET['group_production']; 

//chekboxes 
     
if (isset($id)) { 
         
$srch='id';} //id - имя столбца в таблице 
     
if (isset($name)) { 
         
$srch='name';} //name - имя столбца в таблице 
     
if (isset($page)) { 
         
$srch='page';} //page - имя столбца в таблице 
     
if (isset($group_production)) { 
         
$srch='group_production';} //group_production - имя столбца в таблице 


        
@$query "SELECT * FROM production WHERE $srch like '%$name%' "
       
$result mysql_query($query) or die('Ошибка запроса');    
        while(
$t = @mysql_fetch_array($result)) {        


     print(
"      
         <tr> 
           <td  width='35%' class='search'><font color='#CC0000'>
$t[name]</font></td> 
           <td  width='20%' class='search'><font color='#0000CC'><a href=
$t[page]>Найти на странице</a></font></td> 
           <td  width='30%' class='search'><font color='#CC0000'>
$t[group_production]</font></td> 
          </tr> 

         "
); 
    } 


     print(
"</table>"); 
    

?>

Хочу предупредить, знания по PHP у меня сильно ограничены, поэтому если есть возможность писать подробно буду премного благодарен, хотя благодарен за любую помощь.

   

Сообщения:  [1-4] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования