簡體   English   中英

回聲來自MYSQL的第一個結果與所有其他結果不同

[英]Echo first result from MYSQL differently than all the other results

我有一個mysql表,其中包含視頻標題,視頻嵌入html,視頻描述和視頻縮略圖。 我希望它將第一個條目輸出為;

$result = mysqli_query($con,"SELECT * FROM entries");
while($row = mysqli_fetch_array($result)) {
  echo $row['title'];
  echo $row['html'];
  echo $row['desc'];
}

然后,我希望將接下來的五個條目輸出為

$result = mysqli_query($con,"SELECT * FROM entries");
while($row = mysqli_fetch_array($result)) {
  echo $row['title'];
  echo "<a href='". $row['id'] . "'><img src='" . $row['thu'] . "'></a>";
}

但是我不知道該怎么做。 當涉及到mysql時,我有點像個newb。 任何幫助,將不勝感激。

我已經看過其他類似的問題,但沒有一個完全符合要求。

窮人的解決方案是這樣的:

$result = mysqli_query($con,"SELECT * FROM entries");
$first = true;
while($row = mysqli_fetch_array($result)) {

  if ($first) {
    echo $row['title'], $row['html'], $row['desc'];
    $first = false;
    continue 2;
  }

  echo $row['title'], "<a href='{$row[id]}'><img src='{$row[thu]}'></a>";  
}

(如PHP聊天室所述)

由於mysqli_fetch_array()使您獲得一行,因此可以在while()之前使用它, while()不會出現這樣的問題

$result = mysqli_query($con,"SELECT * FROM entries");
$row = mysqli_fetch_array($result);
echo $row['title'];
//etc.
while($row = mysqli_fetch_array($result)) {
  echo $row['title'];
  echo "<a href='". $row['id'] . "'><img src='" . $row['thu'] . "'></a>";
}

用前哨值追蹤

$i = 0;
while($row = mysqli_fetch_array($result)) {
  if($i == 0){
    //first iteration
    echo $row['title'];
    echo $row['html'];
    echo $row['desc']; 
  }else{
    echo $row['title'];
    echo "<a href='". $row['id'] . "'><img src='" . $row['thu'] . "'></a>";
  }
  $i++;//increment value
}

暫無
暫無

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

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