Как отделить вывод от базы данных? - PullRequest
0 голосов
/ 07 ноября 2018

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

Мой код следующий:

  $sql = "SELECT * FROM posts WHERE idUsers=$id";
  $sth = $conn->query($sql);
  if(!$sth) {
    echo("Error description: " . mysqli_error($conn));
    die();
  }

  $rows = mysqli_num_rows($sth);

  for ($x = 0; $x <= $rows; $x++) {
       $sql = "SELECT idPosts FROM posts WHERE idUsers=$id";
       if(!$sth) {
         echo("Error description: " . mysqli_error($conn));
         die();
       }
       $result = mysqli_fetch_array($sth);

       $postId = $result['idPosts'];

       echo $postId;

  }

А потом я редактирую это: эхо $postId." ";

И получите пробел между идентификаторами, например: 8 9 10.

Я пытался сделать $postIds = explode(" ", $postId);

А затем, например, повторив $postIds[0], но я снова получаю все идентификаторы

Теперь я не знаю, что делать, поэтому мне нужна помощь ^^

Ответы [ 2 ]

0 голосов
/ 07 ноября 2018

Ваш второй запрос не нужен, у вас уже есть все данные из вашего первого запроса. Просто замените ваш код следующим:

$sql = "SELECT * FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if (!$sth) {
    echo("Error description: " . mysqli_error($conn));
    die();
}
$postIds = array();
while ($row = mysqli_fetch_array($sth)) {
    $postIds[] = $result['idPosts'];
}

После этого цикла у вас будет массив всех значений idPosts. Затем вы можете обработать их, как вам нужно. Или вы можете обработать их в цикле:

while ($row = mysqli_fetch_array($sth)) {
    $postId = $result['idPosts'];
    // code to process postId e.g.
    echo "$postId<br/>";
}
0 голосов
/ 07 ноября 2018

Заменить $postId = $result['idPosts']; на $postId[] = $result['idPosts'];. Таким образом, вы создаете массив, и вы можете просто получить к нему доступ как $postId[0].

Вы также забыли запросить снова.

...
$sql = "SELECT idPosts FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if(!$sth) {
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...