Помощник
|
Определение структуры |
Scream_mw
|
Сообщение
#1
|
||
|
|
||
|
|||
ZiTosS |
28.3.2010, 12:50;
Ответить: ZiTosS
Сообщение
#2
|
|
Scream,
Всё просто [php]<?php function getDataTable($sql) { if( ($res = mysql_query($sql)) == false ) // выполняем запрос return mysql_error().mysql_errno(); // если в запросе ошибка, возвращаем строку с сообщение ошибки $fields = array(); // сообщаем, что будем вытаскивать названия столбцов $rows = array(); // сообщаем, что будем вытаскивать строки $fields = getFieldsName($res); // получаем названия столбцов запроса if( $count = mysql_num_rows($res) ) // если строк запросе > 0 while( ($array = mysql_fetch_row($res)) != false ) // обрабатываем в цикле строки $rows[] = $array; // помещаем строку запроса return array("fields" => $fields, "rows" => $rows, "count" => $count); // возвращаем массив, в котором содержатся - названия столбцов, все полученный строки и количество записей } function printDataTable($dataTable) { if( !is_array($dataTable) ) { echo "Ошибка в запросе: {$dataTable}"; return; } if( !array_key_exists("fields", $dataTable) || !array_key_exists("rows", $dataTable) || !array_key_exists("count", $dataTable) ) { echo "Неприемлемый тип данных"; return; } echo "<table cellpadding='5' cellpsacing='5'>"; echo "<tr>"; foreach($dataTable['fields'] as $field) echo "<th>{$field}</th>"; echo "</tr>"; foreach($dataTable['rows'] as $row) { echo "<tr>"; foreach($row as $data) echo "<td>{$data}</td>"; echo "</tr>"; } echo "</table>"; } function getFieldsName($res) { $fields = array(); // сообщаем, что будем вытаскивать названия столбцов (локальная переменная) for($i = 0; $i < mysql_num_fields($res); $i++) // обрабатываем все индексы с о по [кол-во столбцов] - 1 $fields[] = mysql_field_name($res, $i); // помещаем в массив имя столбца с индексом $i return $fields; // возвращаем массив названий столбцов } $sql = "SELECT [поля] FROM [таблица] WHERE [условия] ORDER BY [сортировка] LIMIT [лимит]"; $dataTable = getDataTable($sql); printDataTable($dataTable); ?>[/php] |
|
|
Joker-jar |
4.4.2010, 11:58;
Ответить: Joker-jar
Сообщение
#3
|
|
Как вариант, для пятой ветки MySQL можно пользоваться БД information_schema
|
|
|
FordogeN |
5.4.2010, 9:46;
Ответить: FordogeN
Сообщение
#4
|
|
|
Как вариант, для пятой ветки MySQL можно пользоваться БД information_schema Я ей пользуюсь) Scream, вот пример вывода структуры БД в моей реализации... думаю ты пришел за этим. зы. Писал на скорую руку и не проверял, но должно работать... за кривость кода не пинать) [php]<?php // Подключаемся к бд $db = mysql_connect("host","user","password") or die("Не удалось подключиться к серверу бд"); mysql_select_db("information_schema",$db) or die("Не удалось подключиться к бд"); $q1=mysql_query("SELECT * FROM `KEY_COLUMN_USAGE` WHERE `CONSTRAINT_SCHEMA` LIKE '$SCHEMA_NAME';", $db) or die ("SCHEMATA ERROR mysql_query 2"); if(!$q1){ echo"Ошибка при работе с базой данных."; exit(mysql_error()); }if (mysql_num_rows($q1) > 0){ $a1=mysql_fetch_array($q1); do{ $CONSTRAINT_SCHEMA=$a1['TABLE_NAME']; echo'<br><br><b>'.$a1["TABLE_NAME"].'</b><br>'; // Выводим в цикле имя таблицы $q2=mysql_query("SELECT * FROM `COLUMNS` WHERE `TABLE_SCHEMA` LIKE '$SCHEMA_NAME' AND `TABLE_NAME` LIKE '$CONSTRAINT_SCHEMA';", $db) or die ("SCHEMATA ERROR mysql_query 3"); if(!$q2){ echo"Ошибка при работе с базой данных."; exit(mysql_error()); }if (mysql_num_rows($q2) > 0){ $a2=mysql_fetch_array($q2); do{ $COLUMN_NAME=$a2['COLUMN_NAME']; echo" $COLUMN_NAME"; // Выводим в вложенном цикле имена полей таблицы } while($a2= mysql_fetch_array($q2)); } } while($a1= mysql_fetch_array($q1)); } ?>[/php]
-------------------- |
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Автоматическое определение языка. Быстро. | 0 | capturis | 1913 | 7.8.2017, 19:30 автор: capturis |
|
Виды трафика, определение? Описание каждого вида |
3 | stixia007 | 4744 | 5.5.2015, 23:35 автор: Wolfhound |
|
Определение продажной стоимости сайта | 7 | Amilardo | 1938 | 26.10.2014, 18:49 автор: Amilardo |
|
Определение мыла по странице ВКонтакте (узнать e-mail ВКонтакте) | 0 | Denn4k | 7808 | 22.6.2012, 23:04 автор: -Denn4k- |
|
Перенос с любой CMS на Wordpress с сохранением структуры URL Быстро, качественно, недорого |
3 | nick777 | 2944 | 16.1.2012, 0:09 автор: kopcap |
Текстовая версия | Сейчас: 19.4.2024, 8:08 |