Есть задача. Вывести список БД которые есть на сервере. По клику на ссылку базы, выводить все таблицы и их кол-во. По клику на таблицу выводить список записей с пагинацией. Вот код. Как можно вывести список записей? //соединение с базой данных $link = mysqli_connect("localhost", "root", ""); mysqli_set_charset($link, "utf8"); if (!$link) { echo "Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL; echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL; echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL; exit; } echo "Соединение с MySQL установлено!" . PHP_EOL; echo "Информация о сервере: " . mysqli_get_host_info($link) . PHP_EOL; echo "<br>"; if (isset($_GET['name'])) { printf('<a href="lab2.php">Назад</a>'); printf('<br>'); $name = $_GET['name']; printf('<br><div style="font-weight: bold">Таблицы: %s</div><br>',$name); printf('<br>'); // Выбираем базу данных $d = mysqli_select_db($link, $name); $result = mysqli_query($link,'SHOW TABLES'); //Обходим полученный массив циклом $a = 0; while ($db = mysqli_fetch_row($result)) { //Выводим на экран printf('<a href="?name=%s">%s</a>', $db[0], $db[0]); printf('<br>'); $a++; } printf('<br>'); printf("Кол-во таблиц:" . $a); // вывод списка записей из таблиц } else { //соединение с базой данных $result = mysqli_query($link, 'SHOW DATABASES'); printf('<br><h3>Список баз данных</h3><br>'); printf('<br>'); while ($db = mysqli_fetch_row($result)) { printf('<a href="?name=%s">%s</a>', $db[0], $db[0]); printf('<br>'); } printf('</table>'); mysqli_close($link); }
Сначала научитесь правильно оформлять код в соответствующий тег на форуме, осознайте логичность вашего кода с присутствием в нем функций - альтернативу с оптимизацией напишите. Не вижу не единой строки с выводом строк, одной из выбранных по условию таблиц. Смысла вам помогать на данный момент так же не вижу / не логично. Так как просто напросто, по факту, вы хотите чтобы за вас написал посторонний человек, а вы тем не менее скопируете его код, напишите спасибо и на этом весь цирк закончится. С моей стороны, легче осудить и дать направление, чем написать пару строк очередного говнокода.
Как сделать вывод списка статей? Если состав полей заранее не известен/может быть различен, используйте форыч по каждому полю записи из выборки.
Код (Text): <?php //соединение с базой данных $link = mysqli_connect("localhost", "root", ""); mysqli_set_charset($link, "utf8"); if (!$link) { echo "Ошибка: Невозможно установить соединение с MySQL." . PHP_EOL; echo "Код ошибки errno: " . mysqli_connect_errno() . PHP_EOL; echo "Текст ошибки error: " . mysqli_connect_error() . PHP_EOL; exit; } echo "Соединение с MySQL установлено!" . PHP_EOL; echo "Информация о сервере: " . mysqli_get_host_info($link) . PHP_EOL; echo "<br>"; if (isset($_GET['name'])) { printf('<a href="lab2.php">Назад</a>'); printf('<br>'); $name = $_GET['name']; printf('<br><div style="font-weight: bold">Таблицы: %s</div><br>',$name); printf('<br>'); // Выбираем базу данных $d = mysqli_select_db($link, $name); $result = mysqli_query($link,'SHOW TABLES'); //Обходим полученный массив циклом $a = 0; while ($db = mysqli_fetch_row($result)) { //Выводим на экран printf('<a href="?name=%s">%s</a>', $db[0], $db[0]); printf('<br>'); $a++; } printf('<br>'); printf("Кол-во таблиц:" . $a); // вывод списка записей из таблиц } else { //соединение с базой данных $result = mysqli_query($link, 'SHOW DATABASES'); printf('<br><h3>Список баз данных</h3><br>'); printf('<br>'); while ($db = mysqli_fetch_row($result)) { printf('<a href="?name=%s">%s</a>', $db[0], $db[0]); printf('<br>'); } printf('</table>'); mysqli_close($link); } ?> я не могу понять как передать через GET параметр название таблицы, чтобы потом ее обойти циклом Foreach
Например ?table=имя_таблицы, не? И я говорил про форыч применительно к каждой записи, а не ко всей таблице, хотя в принципе пофиг, просто у вас везде while. Как использовать форыч по записям, писал там же в этом комменте: http://gency.ru/comment/57 --- Добавлено --- P.S. Если во всех именах (БД и т.п.) не может быть слэшей, для идентификации выводимого объекта можно использовать путь, а не GET-параметр, например в демке к статье используется путь /articles (указывать в пути еще и БД по понятным причинам мне не нужно, но вы можете добавить соотв. ведущий компонент пути).
По поводу оформления меня тоже бесит. Может админы допилят сохранение данных типо если что то похожее на код есть то запрещать сохранять пока не отформатирует