я получил данные mysql из одной таблицы в json, используя следующий script
$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.
Я считаю, что лучший способ пойти здесь - использовать 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
Надеюсь, что смогу помочь
Я уверен, что ваш код будет выглядеть примерно так:
$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.
Предположим, что есть две таблицы как State (st_id, st_name) и City (ct_id, ct_name, state_id). Теперь первичный ключ - это st_id и ct_id соответственно из таблиц State и City.
Связь между этой двумя таблицами может быть установлена путем объединения State.st_id и City.state_id.
Теперь, придя к вашей проблеме для извлечения данных из двух состояний таблицы и города, мы можем сделать 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/. я надеюсь тебе понравится.
Сначала вы можете получить все данные. Затем объедините массив данных. Наконец, используйте json_encode для изменения формата данных.
Внутри этой таблицы есть внешний ключ, поэтому вы можете использовать "join" для извлечения значений из других таблиц.