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

Форум MySQL

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

 

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

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

тема: поиск книг по автору не работает запрос

Сообщения:  [1-10]    [11-20]  [21-27] 

 
 автор: jelenad   (08.05.2009 в 19:52)   письмо автору
 
   для: tri-edge   (08.05.2009 в 19:35)
 

да я уже заметила и исправила

  Ответить  
 
 автор: tri-edge   (08.05.2009 в 19:35)   письмо автору
 
   для: jelenad   (08.05.2009 в 19:26)
 

видимо стоит исправить
$title=$_POST['publisher_name'];

на
$publisher_name=$_POST['publisher_name'];

  Ответить  
 
 автор: jelenad   (08.05.2009 в 19:26)   письмо автору
 
   для: Trianon   (08.05.2009 в 18:32)
 

я сделала отдельно поиск книг по названию, по автору и по издательству а как сделать чтобы это всё было бы в одном запросе???

  Ответить  
 
 автор: jelenad   (08.05.2009 в 18:32)   письмо автору
 
   для: Trianon   (08.05.2009 в 18:32)
 

всё я сделала УРААААА работает!!!!!!
<html>
<head>
<title>Результат поиска книг по автору</title>
</head>
<body>
<?php
    error_reporting
(E_ALL|E_NOTICE) ; 
    require_once(
'connect.php'); // соединяемся с БД
$image_dir '/';
       if (empty(
$_POST['author_name']))
       die (
"Не все данные введены.<br>
       Пожалуйста, вернитесь назад и закончите ввод"
);

$author_name=$_POST['author_name'];
$an "'" mysql_escape_string($author_name) . "'"

         
$sql "
              SELECT k.title, k.price, k.description,k.image, a.author_name,p.publisher_name
              FROM kniga k
              LEFT JOIN author a ON k.author_id=a.author_id
              LEFT JOIN publisher p ON k.publisher_id=p.publisher_id
              WHERE author_name = 
$an
           "
;
        
$res mysql_query($sql) or die(mysql_error());
              
            if(
mysql_num_rows($res) == 0)
                   echo 
"Книг с таким автором не найдено";
                       else
                          { 
                            echo 
"<table border=0>";
                                while(
$row mysql_fetch_array($res))
                                                      {
       echo 
" <table border=0> ";
       echo 
" <tr> ";
       echo 
" <td colspan=3>".$row['title']."</td>";
       echo 
"</tr>";

       echo 
" <tr> ";
       echo 
" <td  rowspan=4 width=10%><img src=\"" $image_dir $row['image'] . "\" width=120 hight=160></td>";
       echo 
" <td width=10% align=left><b>"."Автор: " $row['author_name']." </td>";
       echo 
" </tr> ";
    
       
       echo 
" <tr> ";
       echo 
" <td colspan=3>".$row['description']."</td>";
       echo 
"</tr>";
       
if (
$row['publisher_name']!=NULL

 {
       echo 
" <tr > ";
       echo 
" <td align=right width=40%><b>"."Издательство:"."</b></td>";
       echo 
" <td align=left>".$row['publisher_name']."</td>";
       echo 
" </tr> ";
}
    
       echo 
" <tr> ";
       echo 
" <td align=right width=40%><b>"."Цена:"."</b></td>";
       echo 
" <td align=left>".$row['price']." Ls</td>";
       echo 
"</tr>";
       echo 
" </table> ";
       echo 
" <HR> ";
       echo 
" <br> "
}
}
    
?> 

</body>
</html> 

  Ответить  
 
 автор: Trianon   (08.05.2009 в 18:32)   письмо автору
 
   для: jelenad   (08.05.2009 в 18:28)
 

Вы в апострофах запутались.

  Ответить  
 
 автор: jelenad   (08.05.2009 в 18:28)   письмо автору
 
   для: nikita2206   (08.05.2009 в 17:27)
 

 if (empty($_POST['author_name']))
       die ("Не все данные введены.<br>
       Пожалуйста, вернитесь назад и закончите ввод");

$author_name=$_POST['author_name'];
$an = "'" . mysql_escape_string($author_name) . "'"; 

         $sql = "
              SELECT k.title, k.price, k.description,k.image, a.author_name,p.publisher_name
              FROM kniga k
              LEFT JOIN author a ON k.author_id=a.author_id
              LEFT JOIN publisher p ON k.publisher_id=p.publisher_id
              WHERE author_name = '$an' 
           "; 
а тут все правильно????


всё я сделала УРААААА работает!!!!!!

  Ответить  
 
 автор: jelenad   (08.05.2009 в 17:30)   письмо автору
 
   для: Trianon   (08.05.2009 в 17:22)
 

файл search.html
<html>
<head>
<title>Поиск книг по автору</title>
</head>
<body>

<form action="result.php" method="post">

      Введите название автора<br><input type="text" name="author_name" size="60" value=""><br>

     <input type="submit" name="submit" value="Искать">
     <input type="reset" name="reset" value="Очистить">

</form>
 
</body>
</html>


файл result.php

<html>
<head>
<title>Результат поиска книг по автору</title>
</head>
<body>
<?php
    error_reporting
(E_ALL|E_NOTICE) ; 
    require_once(
'connect.php'); // соединяемся с БД

       
if (empty($_POST['author_name']))
       die (
"Не все данные введены.<br>
       Пожалуйста, вернитесь назад и закончите ввод"
);

$author_name=$_POST['author_name'];
$an "'" mysql_escape_string($author_name) . "'"

         
$sql "
              SELECT k.title, k.price, k.description,k.image, a.author_name,p.publisher_name
              FROM kniga k
              LEFT JOIN author a ON k.author_id=a.author_id
              LEFT JOIN publisher p ON k.publisher_id=p.publisher_id
              WHERE author_name = '
$an
           "
;
        
$res mysql_query($sql) or die(mysql_error());
              
            if(
mysql_num_rows($res) == 0)
                   echo 
"Книг с таким автором не найдено";
                       else
                          { 
                            echo 
"<table border=0>";
                                while(
$row mysql_fetch_array($res))
                                                      {
       echo 
" <table border=0> ";
       echo 
" <tr> ";
       echo 
" <td colspan=3>".$row['title']."</td>";
       echo 
"</tr>";

       echo 
" <tr> ";
       echo 
" <td  rowspan=4 width=10%><img src=\"" $image_dir $row['image'] . "\" width=120 hight=160></td>";
       echo 
" <td width=10% align=left><b>"."Автор: " $row['author_name']." </td>";
       echo 
" </tr> ";
    
       
       echo 
" <tr> ";
       echo 
" <td colspan=3>".$row['description']."</td>";
       echo 
"</tr>";
       
if (
$row['publisher_name']!=NULL

 {
       echo 
" <tr > ";
       echo 
" <td align=right width=40%><b>"."Издательство:"."</b></td>";
       echo 
" <td align=left>".$row['publisher_name']."</td>";
       echo 
" </tr> ";
}
    
       echo 
" <tr> ";
       echo 
" <td align=right width=40%><b>"."Цена:"."</b></td>";
       echo 
" <td align=left>".$row['price']." Ls</td>";
       echo 
"</tr>";
       echo 
" </table> ";
       echo 
" <HR> ";
       echo 
" <br> "
}
}
  
?> 

</body>
</html> 

выдаёт ошибку:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version
for the right syntax to use near 'Набоков''' at line 5

  Ответить  
 
 автор: nikita2206   (08.05.2009 в 17:27)   письмо автору
 
   для: jelenad   (08.05.2009 в 15:06)
 

else 
                {  

                echo "<table border="0">"; 
                while($row = mysql_fetch_array($res)) 
                      {

  Ответить  
 
 автор: Trianon   (08.05.2009 в 17:22)   письмо автору
 
   для: jelenad   (08.05.2009 в 17:17)
 

                echo "<table border="0">"; 

  Ответить  
 
 автор: jelenad   (08.05.2009 в 17:17)   письмо автору
 
   для: Trianon   (08.05.2009 в 16:24)
 

а в какой строке у меня ошибка???

  Ответить  

Сообщения:  [1-10]    [11-20]  [21-27] 

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

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