Получить значения из разных таблиц внутри оператора while с помощью php - PullRequest
1 голос
/ 21 апреля 2019

У меня проблема с получением значений из двух разных таблиц.Вот код на данный момент:

$result = mysqli_query($conn,"SELECT * FROM articles");
$num = mysqli_num_rows($result);

while ($row = mysqli_fetch_array($result)) {
    $uid=$row['_uid'];

    $result2 = mysqli_query($conn, "SELECT _username FROM users WHERE _id = '$uid' ";
    $num2 = mysqli_num_rows($result2);

    while ($row2 = mysqli_fetch_array($result2)) {
        $username = $row2['_username'];
    }
    $divtext='<h3>'.$row['_posttype'].'</h3> <h2>'.$username.' </h2>';
}    

Я читал, что мне нужно предварительно это сделать с помощью нескольких запросов, также найденных на w3, чтобы вы могли напрямую присвоить значение переменной напрямую, используя:

"SELECT _username INTO $username FROM users WHERE  _id = '$uid'  LIMIT 1";    

Но это работает в SQL внутри myadmin, в php я не могу найти, как его привести.Я также заменил fetch_row на fetch_assoc и все еще ничего, уже два дня борюсь с этим.

1 Ответ

0 голосов
/ 21 апреля 2019

Вы можете выбрать все значение, используя один запрос

SELECT a._uid , a._posttype, u._username 
FROM articles a
INNER JOIN users u on a._uid = u._id 

..

$result = mysqli_query($conn,
  "SELECT a._uid , a._posttype, u._username 
  FROM articles a
  INNER JOIN users u on a._uid = u._id");
$num = mysqli_num_rows($result);

while ($row = mysqli_fetch_array($result)) {

    $divtext='<h3>'.$row['_posttype'].'</h3> <h2>'.$username.' </h2>';

}  

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