Как получить информацию из 2 таблиц одновременно в PHP и MySQL? - PullRequest
1 голос
/ 24 мая 2011
<?php 

include('includes/config.php');
$topi = $_GET['id']; //id of url

mysql_select_db("ban", $con);

$query = "SELECT * FROM `basic` WHERE id = '$topi' LIMIT 0, 30"; 

$result = mysql_query($query) or die(mysql_error());

$row = mysql_fetch_array($result) or die(mysql_error());

$aa = $row['item'];
$cc = $row['moreinfo'];
$dd = $row['contactinfo'];
$ff = $row['id'];

В этом сценарии я получаю информацию из таблицы basic, но я хочу получить данные из другой таблицы с именем users. Как я могу получить данные из двух таблиц одновременно?

users таблица состоит из следующих столбцов:

  • Адрес электронной почты
  • имя пользователя
  • ID

Ответы [ 2 ]

4 голосов
/ 24 мая 2011

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

РЕДАКТИРОВАТЬ : см. Пример. Это вызывает явные имена столбцов вместо SELECT *.

$query = "SELECT 
    basic.id,
    basic.item,
    basic.moreinfo,
    basic.contactinfo,
    users.email,
    users.username
  FROM basic JOIN users ON basic.id = users.id
  WHERE id   = '$topi'
  LIMIT 0 , 30"; 
3 голосов
/ 24 мая 2011

Вы бы использовали JOIN для другой таблицы.

$query = "SELECT *
FROM basic b
JOIN users u ON b.user_id = u.user_id
WHERE id = '$topi'
LIMIT 0, 30";

Нечто подобное, но на основе ваших полей.

Обратите внимание: предложение ON указывает, что вы будете искатьна матч.

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