|
|
|
| хочу сделать поиск книг по автору
есть файл search.html
<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 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>";
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>
|
Не могу понять где я сделала ошибку? имеется error_reporting(E_ALL|E_NOTICE) ; для вывода ошибок но при выполнении запроса ничего не выводится.... | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 13:31)
| | Может у Вас в настройках php вывод ошибок запрещен?
( display_errors = Off в php.ini или аналогичная инструкция в .htaccess)
Нарушения синтаксиса видны даже по цветовой подсветке ключевых слов у Вас в посте. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 13:39)
| | в php.ini
display_errors = On | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 13:47)
| | Тогда почему у меня он показывает
Parse error: syntax error, unexpected '"' in Z:\home\localhost\www\Tests\tmp\temp2.php on line 24
|
? | |
|
|
|
|
 48.2 Кб |
|
|
для: Trianon
(08.05.2009 в 13:51)
| | вот мой php.ini вроде всё как надо. в чём тогда проблема???Помогите пожалуйста | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 13:58)
| | а в .htaccess что?
Во всех от корня документов , до каталога, где скрипт лежит | |
|
|
|
|
 118 байт |
|
|
для: Trianon
(08.05.2009 в 14:59)
| | .htaccess а с помощью чего его открыть???Помогите... | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 15:07)
| | что еще можно посоветовать ...
в том же php.ini снять комментарий перед строкой задающей имя фaqkf регистрации ошибок, прописать в нем полный путь, и смотреть туда.
; Log errors to specified file.
error_log = c:\web\errors.txt
.htaccess открывается любым текстовым редактором. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 15:47)
| | тоесть он будет показывать ошибки в errors.txt ??? | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 15:59)
| | он будет их туда складывать.
Я понятия не имею, почему у Вас не показывает ошибки прямо на экране.
Все предположения по этому вопросу я сделал.
Разбираться досконально никакого интереса нет. Тем более - на форуме. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 16:01)
| | Спасибо Вам и на этом.
я в настройках не сильна поэтому оставлю как есть.......а то натворю еще чего нето.
Мне главное теперь разобратся где именно у меня ошибка...... | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 16:09)
| | оставив как есть, разобраться откуда у Вас лезут ошибки, Вы не сможете. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 16:24)
| | а в какой строке у меня ошибка??? | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 17:17)
| |
echo "<table border="0">";
|
| |
|
|
|
|
|
|
|
для: 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 | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 13:39)
| | каким цветом указаны ошибки??? | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 14:09)
| | Это конечно интересный подход.
Исправить ошибку, а потом спрашивать, каким цветом она указана. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 14:37)
| | я исправляла по ходу просмотра кода каждую строку но в итоге все равно не работает............ где тут ошибка?? | |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 14:46)
| | Ошибка синтаксиса , но уже на другой строке. | |
|
|
|
|
|
|
|
для: Trianon
(08.05.2009 в 14:56)
| | где именно??? здесь ?
<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 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>";
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>
|
| |
|
|
|
|
|
|
|
для: jelenad
(08.05.2009 в 15:06)
| |
else
{
echo "<table border="0">";
while($row = mysql_fetch_array($res))
{
|
| |
|
|
|
|
|
|
|
для: 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 в 18:28)
| | Вы в апострофах запутались. | |
|
|
|
|
|
|
|
для: 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 в 19:26)
| | видимо стоит исправить
$title=$_POST['publisher_name'];
|
на
$publisher_name=$_POST['publisher_name'];
|
| |
|
|
|
|
|
|
|
для: tri-edge
(08.05.2009 в 19:35)
| | да я уже заметила и исправила | |
|
|
|