簡體   English   中英

如何將輸出與數據庫分開?

[英]How do I separate output from database?

我試圖用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;

  }

然后編輯:echo $postId." ";

並在ID之間獲得一個空格,如下所示:8 9 10。

我試圖做$postIds = explode(" ", $postId);

然后回顯例如$postIds[0]但我再次獲得所有id

現在我不知道該怎么辦,所以我需要幫助^^

替換$postId = $result['idPosts']; 其中$postId[] = $result['idPosts']; 這樣,您可以創建一個數組,就像$postId[0]一樣訪問它。

您還忘記了再次查詢。

...
$sql = "SELECT idPosts FROM posts WHERE idUsers=$id";
$sth = $conn->query($sql);
if(!$sth) {
...

您不需要進行第二個查詢,因為您已經擁有了第一個查詢的所有數據。 只需用以下代碼替換代碼:

$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/>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM