2013-08-14 2 views
1

Почему следующий код только печатает только одну запись:Как распечатать данные из таблицы?

$result = mysqli_query($con,"SELECT * FROM verifications WHERE user='seriot'"); 
$row = mysqli_fetch_array($result); 
echo date(DATE_RFC822); 
echo "<br>"; 
echo "<br>"; 
echo "<b>".$row['firstname'] . " " . $row['lastname']."</b>"; 
echo "<br>"; 
while($row = mysqli_fetch_array($result)){ 
    echo $row['filepath']." ".$row['type']; 
    echo "<br>"; 
} 

Хотя этот код выведет все записи:

while($row = mysqli_fetch_array($result)){ 
    echo $row['filepath']." ".$row['type']; 
    echo "<br>"; 
} 

Я пытаюсь напечатать Имя и Фамилия один раз, а затем все filepath и введите записи до следующего имени.

Спасибо, Kevin

ответ

2

Вы можете использовать его как это:

$result = mysqli_query($con,"SELECT * FROM verifications WHERE user='seriot'"); 
echo date(DATE_RFC822), '<br><br>'; 
$name = ''; 
while($row = mysqli_fetch_array($result)) 
{ 
    $current = $row['firstname'] . ' ' . $row['lastname']; 
    if (empty($name) || $name != $current) 
    { 
     echo '<b>', $current, '</b><br>'; 
     $name = $current; 
    } 
    echo $row['filepath'], ' ', $row['type'], '<br>'; 
} 

Мы начинаем $name пустых, а затем сохранить последнее согласованное имя в $name и если $current отличается $name мы распечатайте его снова.

0

вам нужно зациклить $ row ['firstname'] и $ row ['lastname'], чтобы получить весь результат в массиве. как это:

 $row = mysqli_fetch_array($result); 
     while($row = mysqli_fetch_array($result)){ 
     echo "<b>".$row['firstname'] . " " . $row['lastname']."</b>"; 
     echo "<br>"; 
     echo $row['filepath']." ".$row['type']; 
     echo "<br>"; 
     } 

Ваш код выше будет отображаться только последний результат в mysql_fetch_array

  $row = mysqli_fetch_array($result); 
     echo date(DATE_RFC822); 
     echo "<br>"; 
     echo "<br>"; 
     echo "<b>".$row['firstname'] . " " . $row['lastname']."</b>"; 
     echo "<br>"; 
Смежные вопросы