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

Форум PHP

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

 

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

вид форума:
Линейный форум Структурный форум

тема: С помощью какой функции переделать запрос
 
 автор: jelenad   (08.05.2009 в 01:59)   письмо автору
 
 

Имеется скрипт
<?php
error_reporting
(E_ALL|E_NOTICE) ; 
    
    require_once(
'connect.php'); // соединяемся с БД
     

$image_dir '/'
mysql_connect($hostname$username$password) or die ("Не могу создать соединение");
mysql_select_db($dbName) or die (mysql_error());

//mysql_query("SET CHARACTER SET 'cp1251'");


     
$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 language_id=3 AND subsection_id=14  LIMIT 0, 30
           "
;

     
$res mysql_query($sql) or die(mysql_error());
 
while(
$row mysql_fetch_assoc($res))
  {

       echo 
" <table border=0 width=100%> ";
       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>";
if (
$row['author_name']!=NULL)
 {
       echo 
" <td width=10% align=left><b>"."Автор: " $row['author_name']." </td>";
       
// echo " <td align=left>".$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> "

   }
 
mysql_close();

?> 

А как сделать чтобы этот запрос показывал книги не конкретного подраздела а вразброску но чтобы language_id оставался конкретным то есть в моем случае language_id=3
может при помощи
ORDER BY RAND() 
???
Правильно будет так??или так не грамотно?
$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 language_id=3 ORDER BY RAND() LIMIT 0,6
           ";

  Ответить  
 
 автор: mihdan   (08.05.2009 в 10:51)   письмо автору
 
   для: jelenad   (08.05.2009 в 01:59)
 

language_id=3 к какой таблице относится?

  Ответить  
 
 автор: Trianon   (08.05.2009 в 10:53)   письмо автору
 
   для: mihdan   (08.05.2009 в 10:51)
 

и subsection_id тоже.

  Ответить  
 
 автор: jelenad   (08.05.2009 в 11:00)   письмо автору
 
   для: Trianon   (08.05.2009 в 10:53)
 

к таблице книга

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

из текста запроса этого не следует.

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

но он работает делает выборку случайных данных по language_id=3

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

делает.

  Ответить  
 
 автор: mihdan   (08.05.2009 в 11:07)   письмо автору
 
   для: jelenad   (08.05.2009 в 11:06)
 

Везет вам, но это в корне неверно.

  Ответить  
 
 автор: jelenad   (08.05.2009 в 11:11)   письмо автору
 
   для: mihdan   (08.05.2009 в 11:07)
 

главное работает
мне же н для коммерческих целей а для курсовой.....плюс я новичок в этом

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

Вас не понять.
Сперва Вы спрашиваете будет ли так правильно и грамотно.
Зная, что работает.
Если главное - это то, что работает, то какой смысл спрашивать?

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

мне надо чтобы работал.....если не правильно то хочу понять почему и переделать чтобы работал правильно

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

У Вас все остальные имена полей в запросе уточнены.
Так что как уточнить имя поля, указав имя таблицы (или её алиас) Вы знаете.

А работает он потому, что пока что в запросе не встретилось других таблиц с теми же именами полей.
Неоднозначности пока нет - вот и работает.

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

$sql = "
              SELECT subsection_id, language_id,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 language_id=3 AND subsection_id=14  LIMIT 0, 30
           "; 
так???

  Ответить  
 
 автор: Trianon   (08.05.2009 в 13:21)   письмо автору
 
   для: jelenad   (08.05.2009 в 11:37)
 

$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 k.language_id=3 AND k.subsection_id=14  
        LIMIT 0, 30
";

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

.

  Ответить  
Rambler's Top100
вверх

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