|
|
|
| Имеется скрипт
<?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
может при помощи
???
Правильно будет так??или так не грамотно?
$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
";
|
| |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 01:59)
| | language_id=3 к какой таблице относится? | |
|
|
|
|
|
|
|
для: mihdan
(08.05.2009 в 10:51)
| | и subsection_id тоже. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 10:53)
| | к таблице книга | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 11:00)
| | из текста запроса этого не следует. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 11:04)
| | но он работает делает выборку случайных данных по language_id=3 | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 11:06)
| | делает. | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 11:06)
| | Везет вам, но это в корне неверно. | |
|
|
|
|
|
|
|
для: mihdan
(08.05.2009 в 11:07)
| | главное работает
мне же н для коммерческих целей а для курсовой.....плюс я новичок в этом | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 11:11)
| | Вас не понять.
Сперва Вы спрашиваете будет ли так правильно и грамотно.
Зная, что работает.
Если главное - это то, что работает, то какой смысл спрашивать? | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 11:13)
| | мне надо чтобы работал.....если не правильно то хочу понять почему и переделать чтобы работал правильно | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 11:18)
| | У Вас все остальные имена полей в запросе уточнены.
Так что как уточнить имя поля, указав имя таблицы (или её алиас) Вы знаете.
А работает он потому, что пока что в запросе не встретилось других таблиц с теми же именами полей.
Неоднозначности пока нет - вот и работает. | |
|
|
|
|
|
|
|
для: 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
";
| так??? | |
|
|
|
|
|
|
|
для: 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
";
|
| |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 11:22)
| | . | |
|
|
|