Как извлечь данные MySQL в JSON с помощью PHP - PullRequest
0 голосов
/ 03 декабря 2010

я получил данные mysql из одной таблицы в json, используя следующий скрипт

$table_first = 'abc';
$query = "SELECT * FROM $table_first";
$resouter = mysql_query($query, $conn);

$set = array();

$total_records = mysql_numrows($resouter);
if($total_records >= 1){

  while ($link = mysql_fetch_array($resouter, MYSQL_ASSOC)){
    $set[] = $link;
  }
}

echo json_encode($set);

как мне получить данные из двух других таблиц, в которых есть внешний ключ этой таблицы в обеих этих таблицах,ИЛИ просто как я могу получить данные из 3 таблиц mysql в php.

Ответы [ 5 ]

1 голос
/ 03 декабря 2010

Я считаю, что лучший способ пойти сюда - это использовать JOIN или что-то вроде этого:

$sql = "SELECT 
            tabl1.*, table2.*, tabl3.* FROM table1, table2, table3 
        WHERE 
            table1.fk1 = table2.id AND
            table1.fk2 = table2.id";

//Do the whole selection process...

Если вы сделаете запросы отдельно, вы будете принудительно выполнять 3 запроса в вашей базе данных и завершитев хит производительности, который вам не нужен.Итак, идея состоит в том, чтобы загрузить все данные из БД, используя соединения или аналогичные, и затем кодировать результаты.Это быстрее, и вы оставите работу по слиянию с MySQL

Надеюсь, что смогу помочь

0 голосов
/ 14 февраля 2017

Я считаю, что ваш код будет выглядеть примерно так:

$query = "SELECT 
        A.column1 AS First_1
        A.column2 AS First_2
        B.column2 AS Second
        C.column3 AS Third
        FROM table1 A, table2 B, table3 C 
    WHERE 
        A.fk1 = B.id AND
        B.fk2 = C.id";

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

0 голосов
/ 17 февраля 2011

Предположим, что есть две таблицы: State (st_id, st_name) и City (ct_id, ct_name, state_id).Теперь первичным ключом являются st_id и ct_id соответственно таблиц State и City.

Соединение между этими двумя таблицами можно установить, соединив State.st_id и City.state_id.

Теперь перейдем к вашемуПроблема извлечения данных из двух таблиц State & City, мы можем сделать запрос sql, как показано ниже,

$sql="select s.*, c.* from State s, City c
       where s.st_id=c.state_id ";

Используя вышеупомянутый запрос вы можете получить данные из базы данных и преобразовать в формат json и отправить их в систему Android.вот хорошая статья http://blog.sptechnolab.com/2011/02/10/android/android-connecting-to-mysql-using-php/. надеюсь, вам понравится.

0 голосов
/ 03 декабря 2010

В обеих таблицах есть внешний ключ этой таблицы, поэтому вы можете использовать "join" для извлечения значений из других таблиц.

0 голосов
/ 03 декабря 2010

Вы можете получить все данные в первую очередь.Затем объедините массив данных.Наконец, используйте json_encode для изменения формата данных.

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