используйте php, чтобы показать данные MySQL - PullRequest
0 голосов
/ 30 октября 2008

Мне интересно, как лучше всего использовать php для получения списка всех строк в базе данных, и при нажатии на строку отображать информацию более подробно, например, связанные изображения и т. Д.

Должен ли я использовать кадры для этого? Где-нибудь есть хорошие примеры?

Edit:

Мне нужны намного более простые инструкции, так как я не программист и только начинаю. Можно ли рекомендовать какие-либо ссылки или примеры?

Ответы [ 7 ]

3 голосов
/ 31 октября 2008

Вопреки рекомендациям других, я бы не рекомендовал рамки или уровень абстракции. Это защитит вас от понимания того, как работает 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" представляют имена столбцов вашей таблицы БД, и я составил макет имени поля, двоеточия и имени второго поля. Как отображается информация, зависит от вас.

Знак вопроса стоит перед именем переменной, определенной на странице addresstomoreinfo.php, которая будет обозначена $var=$_GET['image_id'];

Другие элементы php, html, css участвуют в общей картине достижения этой цели. Хороший источник для получения информации: http://www.w3schools.com/ Я также живу и умираю по руководству по php, указанному выше

3 голосов
/ 30 октября 2008

Для этого я использую таблицы и JavaScript.

Данные в базе данных SQL по своей природе являются табличными. Поэтому я просто выбираю данные и создаю таблицу. Затем, чтобы выполнить детализацию (когда мне нужно это сделать), я предоставляю функциональность JavaScript «more» и использую CSS для скрытия / отображения дополнительных данных.

1 голос
/ 30 октября 2008

Вы можете начать с руководства по PHP . Это довольно хорошо организовано сейчас. Но теперь, когда мой саркастический кусочек исчез с дороги ...

Один из лучших способов работы с вашей базой данных (на данный момент ваш выбор - MySQL, но это может изменить) - абстрагировать ваш код от прямого взаимодействия с ним.

Такой инструмент, как ADODB , стоит того, чтобы с ним познакомиться, и делает задачу "получить список всех строк в базе данных" довольно тривиальной.

Основным преимуществом этого является то, что он несколько изолирует вас от необходимости переписывать много кода, если вы обнаружите, что вам нужно перенести приложение на сервер с другой запущенной базой данных.

Еще лучше (imho) было бы взглянуть на фреймворк, такой как Zend's (ну, в конце концов, они делают php) с его абстракцией БД под названием Zend_Db. Это может быть излишним для вас сейчас, так как, глядя на ваши другие вопросы, вы совершенно новичок в разработке PHP / MySQL.

Также хорошо: Smarty (для абстрагирования вашей презентации от вашей логики)

0 голосов
/ 31 октября 2008

Я думаю, вы не знаете, о чем просите! : -)

С подходящей структурой, базой данных и слоями абстракции объектов это тривиально (я делал это несколько раз). Но они не тривиальны для написания с нуля и не полезны для изучения основ PHP. Если вы не сделали это на других языках.

OTOH, делать все это напрямую - все еще хорошее упражнение (как описал @ kevtrout ), если вы готовы повторно создавать код повторно (даже если вы никогда этого не делаете) разработать подходящую абстракцию. ИМО, слишком много PHP работает, что давно переросло такую ​​простую структуру.

0 голосов
/ 30 октября 2008

Если вы создаете простое приложение на основе базы данных и только начинаете изучать PHP, я бы порекомендовал подход, который заключается в использовании инфраструктуры, которая генерирует их для вас. Посмотрите на QCodo (http://www.qcodo.com), и, в частности, это видео-урок: http://www.qcodo.com/view.php/demo_1_live

0 голосов
/ 30 октября 2008

Если вы не программист, но хотите использовать php, чтобы показать, что находится внутри ваших таблиц mysql, возможно phpMyAdmin - это то, что вы ищете?

0 голосов
/ 30 октября 2008

Я склонен использовать две отдельные страницы. Один в список, который ссылается на тот, который показывает подробную запись. Тот, который перечисляет, передает параметр ID по ссылке (т. Е. Show.php? Id = 145), поскольку для страницы show.php этот параметр будет получен из $_GET['id'].

Это самый простой подход к вашей проблеме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...