Intereting Posts
Vimeo video link regex Использование автозагрузки Composer parsing json error: SyntaxError: JSON.parse: неожиданный символ в строке 1 столбца 2 данных JSON как заставить хром не перезагружать изображения с тем же URL-адресом, пока страница не обновится, как firefox Хорошая библиотека PHP ORM? Попытка понять шаблон Post / Redirect / Get (реализованный с помощью PHP) Предоставление простого текста через PHP Проблемы с кодировкой на стене facebook? Поставляемый ключевой параметр не может быть принудительно введен в закрытый ключ с API Google Выбор дубликатов запроса возвращает дубликаты MYSQL fsockopen (): php_network_getaddresses: getaddrinfo не удалось: имя или услуга неизвестны выберите опцию для обновления второго варианта выбора на основе выпадающих меню mysql Время сеанса по умолчанию в Apache и CentOS CodeIgniter: set_value () или post () – что быстрее и что лучше всего хранить данные в базе данных Форматирование числа сгруппированными тысячами

PHP – Экспорт таблиц MySQL в файл JSON

Я пытаюсь экспортировать мои таблицы MySQL из моей базы данных в файл JSON, поэтому я могу перечислить их в массиве.

Я могу создавать файлы с этим кодом без проблем:

$sql=mysql_query("select * from food_breakfast"); while($row=mysql_fetch_assoc($sql)) { $ID=$row['ID']; $Consumption=$row['Consumption']; $Subline=$row['Subline']; $Price=$row['Price']; $visible=$row['visible']; $posts[] = array('ID'=> $ID, 'Consumption'=> $Consumption, 'Subline'=> $Subline, 'Price'=> $Price, 'visible'=> $visible); } $response['posts'] = $posts; $fp = fopen('results.json', 'w'); fwrite($fp, json_encode($response)); fclose($fp); 

Теперь это читает таблицу и рисует ее информацию из полей внутри нее.

Я хотел бы знать, можно ли создать файл JSON с именами таблиц, поэтому один уровень выше в иерархии.

У меня есть часть кода:

  $showtablequery = " SHOW TABLES FROM [database] LIKE '%food_%' "; $sql=mysql_query($showtablequery); while($row=mysql_fetch_array($sql)) { $tablename = $row[0]; $posts[] = array('tablename'=> $tablename); } $response['posts'] = $posts; в  $showtablequery = " SHOW TABLES FROM [database] LIKE '%food_%' "; $sql=mysql_query($showtablequery); while($row=mysql_fetch_array($sql)) { $tablename = $row[0]; $posts[] = array('tablename'=> $tablename); } $response['posts'] = $posts; 

Но теперь я застрял в последней строке, где говорится: $ID=$row['ID']; Это связано с информацией внутри таблицы, и я не знаю, что здесь делать.

Также, как вы можете видеть, мне нужно отфильтровать таблицы, чтобы перечислять только таблицы, начинающиеся с food_ и drinks_

Любая помощь очень ценится 🙂

Related of "PHP – Экспорт таблиц MySQL в файл JSON"

В MySQL нет «идентификатора таблицы», поэтому в наборе результатов из SHOW TABLES нет id индекса. Единственный индекс в наборе результатов называется «Tables_in_DATABASENAME».

Также вы должны использовать библиотеку mysqli, так как старая библиотека mysql депрепаратирована. Подготовив пример:

 <?php $mysqli = new mysqli( 'yourserver', 'yourusername', 'yourpassword', 'yourdatabasename' ); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; } $result = $mysqli->query('SHOW TABLES FROM `yourdatabasename` LIKE \'%food_%\''); if(!$result) { die('Database error: ' . $mysqli->error); } $posts = array(); // use fetch_array instead of fetch_assoc as the column while($row = $result->fetch_array()) { $tablename = $row[0]; $posts []= array ( 'tablename' => $tablename ); } var_dump($posts);