Помогите кодировать JSON с пользовательской информацией (MySQL) - PullRequest
0 голосов
/ 05 июня 2011

В настоящее время я получаю идентификаторы accountID из базы данных моих подписчиков и выводит их в JSON.Но вместо того, чтобы просто получать ID учетной записи из БД, как я могу получить информацию о пользователе из другой таблицы «Учетные записи» и добавить ее в JSON?

Мой текущий код для этого:

    $accountID = NULL;
    if (isset($_GET['accountID'])) {
        $accountID = mysql_real_escape_string($_GET['accountID']);
    }
    else {
        exit("No accountID set");
    }
    $query = mysql_query("SELECT * FROM Following WHERE `followingUserID` = '$accountID`");
    $rows = array();
    while($r = mysql_fetch_assoc($query)) {
         $rows[] = $r;
    }
    header('Content-type: application/json');
    exit(json_encode($rows));

1 Ответ

2 голосов
/ 05 июня 2011

Я пойду на конечности и приму несколько вещей:

У вас есть 2 таблицы:

После

followId, followUserID, someOtherColumns

Счета

userID, someOtherAccountCollumns

Учитывая это, исправить легко:

// Switch this:
$query = mysql_query("SELECT * FROM Following WHERE `followingUserID` = '$accountID`");
// By this:
$query = mysql_query("
    SELECT f.*, a.*
    FROM Following as f
    JOIN Accounts as a on f.followingUserID = a.userID
    WHERE `f.followingUserID` = '$accountID`
");

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

Удачи!

Источники:

http://dev.mysql.com/doc/refman/5.1/en/join.html

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