2016-06-05 3 views
0

в первый извините за мой плохой английский, но мне нужно сделать таблицу с помощью метода GET для выбора данных из 3 таблицВыберите из 3 таблиц PHP

where $_GET['steamid']: 
achievements (id, name, description); 
progress (id_player, achieve_id, progress); 
global (id_player, steamid, nick); 

to put in a table, example: 
Achievement | Progress 
name_achievement | 5 

как на: http://achievements.my-run.de/index.php?server=jail

+0

Просто сделайте соединение, выберите 3 таблицы. И уточните свой вопрос, напишите правильный PHP-код, возможно: D – Cristo

+0

Добро пожаловать в SO. Не могли бы вы рассказать подробнее о своем вопросе? Мы не можем помочь вам в этой плохой информации. Также, пожалуйста, сообщите нам, что вы пробовали до сих пор. SO не является кодирующей услугой. Вы должны знать об этом. – etalon11

+0

Мне нужно знать, как использовать соединение –

ответ

0

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

select a.name, p.progress from global as g 
join progress as p 
on g.id_player = p.id_player 
join achievements as a 
on p.achieve_id = a.id 
where g.steamid = ? 
0

Я не мог понять, что вы на самом деле имеете в виду, но что-то вроде этого может быть?

SELECT achievements.id, achievements.name, achievements.description, progress.id_player, progress.archieve_id, progress.progress, global.id_player, global.steamid, global.nick 
FROM global INNER JOIN achievements ON global.id_player = achievements.id INNER JOIN progress ON progress.id_player = achievements.id 
WHERE global.steamid = STEAMID 
+0

Я не уверен, что существует корреляция между 'global.id_player' и' success.id'. – chris85

0

Спасибо всем, уже есть извините за беспорядок и за мой плохой английский

я это сделал:

$sql_global = "SELECT Id FROM promad_mglobal WHERE SteamId='".$steam."'"; 
    $result_global = $con->query($sql_global); 
    while($row_global = $result_global->fetch_assoc()) 
     $idd = $row_global['Id']; 

    $sql_medals = "SELECT * FROM promad_medalhas 
    LEFT JOIN promad_mprogresso ON (promad_mprogresso.Achievement = promad_medalhas.Id AND promad_mprogresso.Id='$idd')"; 

    $result_medals = $con->query($sql_medals); 
    while($row_medals = $result_medals->fetch_assoc()) 
    {  
     if(empty($row_medals['Progress'])) 
      $row_medals['Progress'] = 0; 

     echo "- ".$row_medals['Name']." ".$row_medals['Progress']." <br>"; 
    } 

и это работает!

спасибо

Смежные вопросы