Мне интересно, как лучше всего использовать php для получения списка всех строк в базе данных, и при нажатии на строку показывать информацию более подробно, например, связанное изображение и т. д.
Следует ли мне использовать для этого фреймы? Есть где-нибудь хорошие примеры?
Редактировать:
Мне нужны более простые инструкции, так как я не программист и только начинаю. Можно порекомендовать какие-нибудь ссылки или примеры?






Для этого я использую таблицы и JavaScript.
Данные в базе данных SQL по своей природе являются табличными. Поэтому я просто выбираю данные и создаю таблицу. Затем, чтобы углубиться (когда мне нужно), я предоставляю «дополнительные» функции JavaScript и использую CSS для скрытия / отображения дополнительных данных.
Я предпочитаю использовать две отдельные страницы. Один для списка, который ссылается на тот, который показывает подробную запись. Тот, который перечисляет, передает параметр идентификатора в ссылку (например, show.php? Id = 145), а страница show.php получит этот параметр от $_GET['id'].
Это самый простой подход к вашей проблеме.
Однако, в зависимости от задействованных запросов, это может занять больше времени, чем просто выполнение одного запроса, чтобы получить все один раз и отобразить его по мере необходимости. Но это зависит от набора данных, индексов, запросов и прочего.
Вы можете начать с Руководство по PHP. Сейчас это довольно хорошо организовано. Но теперь, когда моя саркастическая часть исчезла ...
Один из лучших способов работы с вашей базой данных (на данный момент ваш выбор - MySQL, но это изменение мог) - это абстрагирование вашего кода от прямого взаимодействия с ним.
Такой инструмент, как ADODB, стоит изучить и делает задачу «получить список всех строк в базе данных» довольно тривиальной.
Основное преимущество этого заключается в том, что он в некоторой степени изолирует вас от необходимости переписывать большое количество кода, если вы обнаружите, что вам нужно перенести свое приложение на сервер с другой базой данных, работающей на нем.
Еще лучше (imho) было бы посмотреть на фреймворк, такой как Zend's (ну, они действительно делают php после) с его абстракцией БД под названием Zend_Db. Это может быть излишним для вас прямо сейчас, поскольку, глядя на другие ваши вопросы, кажется, что вы новичок в разработке PHP / MySQL.
Также хорошо: Умный (для абстрагирования вашей презентации от вашей логики)
Если вы не программист, но хотите использовать php, чтобы показать, что находится внутри ваших таблиц mysql, возможно, вы ищете phpMyAdmin?
Если вы создаете простое приложение, управляемое базой данных, и только начинаете изучать PHP, я бы рекомендовал использовать фреймворк, который генерирует их за вас. Взгляните на QCodo (http://www.qcodo.com) и, в частности, на это обучающее видео: http://www.qcodo.com/view.php/demo_1_live
Вопреки другим рекомендациям, я бы не рекомендовал фреймворк или уровень абстракции. Это изолирует вас от понимания того, как работает php, и требует, чтобы вы изучили php и структуру / процесс фреймворка одновременно. Уровень абстракции - это хорошая практика в коммерческой среде, но, судя по атмосфере вашего вопроса, вы не ожидаете перемещения серверов или миграции своей базы данных.
Я рекомендую работать с php и mysql процедурно (не объектно-ориентированно), пока вы не поймете, что происходит и как работает язык.
Чтобы ответить на ваш вопрос:
Вам необходимо подключиться к базе данных: mysql_connect()
Вам необходимо выбрать базу данных, с которой вы хотите работать: mysql_select_db()
Вам необходимо определить запрос: msyql_query()
Вам нужно использовать цикл while для получения данных:
$query=mysql_query("select * from table_name");
while($row=mysql_fetch_assoc($query)){
extract($row);
echo $name of field 1.": ".$name of field 2;
}
Чтобы сделать каждую строку вывода ссылкой на дополнительную информацию, перепишите выражение echo следующим образом:
echo "<a href=\"http://addresstomoreinfo.php?image_id = ".$image_id.\">".$name
of field 1.": ".$name of field 2."</a>";
Переменные «name of field» представляют имена столбцов вашей таблицы db, и я составил структуру имени поля, двоеточия и имени второго поля. Как будет отображаться информация, зависит от вас.
Знак вопроса добавляет имя переменной, определенной на странице addresstomoreinfo.php, которая будет идентифицирована $var=$_GET['image_id'];.
Другие элементы php, html, css участвуют в общей картине достижения этой цели. Хороший источник для начала информации - http://www.w3schools.com/Я также живу и умираю по руководству по php, указанному выше
Я думаю, вы действительно не знаете, о чем просите! :-)
С подходящей структурой, базой данных и уровнями абстракции объектов это тривиально (я делал это несколько раз). Но они нет тривиальны для написания с нуля и бесполезны для изучения PHP с нуля. Если вы не сделали это на других языках.
OTOH, выполнение всего этого напрямую, по-прежнему является хорошим упражнением (как @kevtrout описал), если вы готовы повторно проектировать код (даже если вы никогда этого не делаете) для разработки подходящей абстракции. ИМО, слишком много PHP, который давно перерос такую простую структуру.
Поскольку у меня нет кода, которым я мог бы поделиться (мне пришлось бы удалить слишком много, чтобы он был полезен), ознакомьтесь с классами PHP mysqli, кодом таблицы HTML, JavaScript и CSS.