Поставил задачу: 1.Форма ввода номера картинки 2.После введенного значения посылается запрос на БД 3.Вывод картинки ,вбитой в базу данных,которую ввел в пункте один. Например: 1.Я ввел в поле цифру 1 2.Он обрабатывает и посылает запрос на БД с чтением именно той строки где поле принимает значение введенной цифры(в данном случае 1) 3.Выводит значение строки БД. Вод мой код: <form action="show.php" method=POST> <input type="text" name="ID"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print ("Соединение выполнено"); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT * FROM work WHERE img='".$_POST["id"]."'"; $result=mysql_query($query); while($r=mysql_fetch_row($result)){ echo "$r"; } mysql_close($link); ?> но он не работает((( помогите пожалуйста!
Спасибо,но тут возникает ошибка: Код (Text): <form action="show.php" method=POST> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print ("Соединение выполнено"); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT img FROM work WHERE img="intval($_POST['id'])"; $result=mysql_query($query); while($r=mysql_fetch_row($result)){ echo $r[img]; } mysql_close($link); ?> Parse error: parse error, unexpected T_STRING in z:\home\custom\localhost\my\id\show.php on line 10
Все ввел,тогда возникает такая ошибка: Parse error: parse error, unexpected '"' in z:\home\custom\localhost\my\id\show.php on line 10 Код (Text): <form action="show.php" method=POST> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print ("Соединение выполнено"); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT 'img' FROM 'work' WHERE 'img'=" . intval($_POST['id'])"; $result=mysql_query($query); while($r=mysql_fetch_row($result)){ echo $r[img]; } mysql_close($link); ?> [/code]
Замените наконец на PHP: $query="SELECT `img` FROM `work` WHERE `img`=" . intval($_POST['id']); И исправьте, наконец, ошибки!!!!
Код (Text): <form action="show.php" method=POST> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print ("Соединение выполнено"); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT 'img' FROM 'work' WHERE 'id'=" . intval($_POST['id']); $result=mysql_query($query); while($r=mysql_fetch_row($result)){ echo $r[img]; } mysql_close($link); ?> Запрос делаю через ид,где ид=полю введному в форме,вывожу img. Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\custom\localhost\my\id\show.php on line 12
Покажите структуру таблицы (SQL-запрос для создания) Dimon1987 вы будете исправлять ошибки или нет????
Ошбику исправил. Вот SQL-запрос CREATE TABLE img ( id varchar(15) NOT NULL DEFAULT '0' , img varchar(15) NOT NULL DEFAULT '0' , PRIMARY KEY (id) );
Почему у вас поле id символьного типа? Замените на Код (Text): CREATE TABLE work ( id int(11) NOT NULL auto_increment, img varchar(15) NOT NULL DEFAULT '0', PRIMARY KEY (id) ); Почему ваша таблица называется img??? Подключаетесь вы к work !!!! База данных и таблица имеют одно название ???
Все поменял: Код (Text): <form action="show.php" method=POST> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print ("Соединение выполнено"); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT 'img' FROM 'img' WHERE 'id'=" . intval($_POST['id']); $result=mysql_query($query); while($r=mysql_fetch_row($result)){ echo $r['img']; } mysql_close($link); ?> БД называется work,таблица называется img,а в нем два поля: img и id Sql-запрос тоже изменил,все равно выскакивает ошибка: Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in z:\home\custom\localhost\my\id\show.php on line 12
Код (Text): mysql_fetch_row замените на Код (Text): mysql_fetch_array Исправьте наконец ошибку в этой строке. PHP: $query="SELECT `img` FROM `img` WHERE `id`=" . intval($_POST['id']); Кавычки должны быть обратными, а не прямыми!!!
О дА!!!! Огромное спасибо)) Удивляюсь вашему терпению,))все работает,только вот у меня не выполнена одна из суб-задач: Нужно только чтобы выводилось не текстовое значение а рисунок.Как это примерно можно сделать вообще?
Хранить картинки в базе данных это плохая идея. Картинки нужно хранить в файловой системе, а в базе текстовые ссылки на эти картинки. Затем выводить с помощью скрипта или просто ссылку. А вообще поле типа MEDIUMBLOB или LONGBLOB. Заносим туда картинку, а затем выводим выдавая заголовок PHP: header("Content-type: image/<Тип картинки>"); Обратите внимание! В этом файле не может быть никакой формы... и любого другого вывода кроме картинки.
А если поступить по первому способу,как вы рекомендуете: В поле "pic"(в базе данных естественно) ввожу текстовую ссылку на картинку,картинку храню в файловой системе,а как записать скрипт для вывода картинки(не для ссылки)?
PHP: <?php $path="namefilename.doc"; // Получен из базы данных if(!file_exists($path)) { echo "Файл не найден"; } else { $size=filesize($path); header("Content-Type: image/gif"); header("Content-Length: $size"); readfile($path); } ?> Путь должен быть в файловой системе, а не внешний... В этом файле не может быть формы!!! Вывод в браузер обычным образом Код (Text): <img src="script.php?id=1">
PHP: $path="namefilename.doc"; // Получен из базы данных Путь должен быть в файловой системе, а не внешний... В этом файле не может быть формы!!! Вывод в браузер обычным образом Код (Text): <img src="script.php?id=1"> [/quote] Извини,а как я вобью в базу данных формат doc,(вы уж извините я просто БД только начал изучать...)? И Куда происывать: Код (Text): <?php $path="pic.doc"; // Получен из базы данных if(!file_exists($path)) { echo "Файл не найден"; } else { $size=filesize($path); header("Content-Type: image/jpg"); header("Content-Length: $size"); readfile($path); } ?> <img src="script.php?id=1"> в один и тот же файл ,который вы мне помогали делать до этого?
В вашем случае это будет картинка с расширениями .gif, .jpg, .png и др. 50 на 50. Форму нужно убрать. Метод меняем на GET и соответственно получаем id из массива $_GET. Остальное точно также только путь PHP: $path = $r['img'];
А какую именно форму нужно убрать? <img src="script.php?id=1"> эту?? вот код: PHP: <form action="show.php" method=GET> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print (""); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT `pic` FROM `img` WHERE `id`=" . intval($_GET['id']); $result=mysql_query($query); while($r=mysql_fetch_array($result)){ echo $r['pic']; } mysql_close($link); $path = $r['img']; // Получен из базы данных if(!file_exists($path)) { echo "Файл не найден"; } else { $size=filesize($path); header("Content-Type: image/jpg"); header("Content-Length: $size"); readfile($path); } ?> Картинку не выводит( и что значит по вашему 50 на 50?
удалите эту строку Убрать надо Перед <?php не должно быть пустой строки!!! замените на PHP: $r=mysql_fetch_array($result); $path = $r['pic'];
Код (Text): <form action="show.php" method=GET> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> <?php $link=mysql_connect("localhost", "root", "") or die("Не могу подключиться"); print (""); mysql_select_db('work', $link) or die ('Не могу выбрать БД'); $query="SELECT `pic` FROM `img` WHERE `id`=" . intval($_GET['id']); $result=mysql_query($query); $r=mysql_fetch_array($result); $path=$r['pic']; mysql_close($link); if(!file_exists($path)) { echo "Файл не найден"; } else { $size=filesize($path); header("Content-Type: image/jpg"); header("Content-Length: $size"); readfile($path); } ?> Так ничего не получается; Если удалить: Код (Text): <form action="show.php" method=GET> <input type="text" name="id"> <input type="submit" value="Отправить"> </form> тоже ничего не выходит Да и тем более мне нужно так: вводишь значение в форму и он выдает соответствующую картинку,так что без формы никак(([/list]