2016-03-13 4 views
0

Я хочу показать все данные из моей базы данных MySQL в этот файл PHP. Однако, когда я запускаю код, все данные появляются, но первые данные из базы данных не отображаются. Интересно, есть ли ошибка в коде?Первые данные, которые не отображаются, когда я получаю данные из базы данных MySQL

<?php 
 
session_start(); 
 
include "db.php"; 
 

 
    echo'<table class="table table-bordered" >'; 
 
    echo"<tr>"; 
 
    echo"<td>No.</td>"; 
 
    echo"<td>Nama Masakan</td>"; 
 
    echo"<td>Jumlah</td>"; 
 
    echo"<td>Keterangan</td>"; 
 
    echo"<td></td>"; 
 
    echo"<td></td>"; 
 
    echo"<td></td>"; 
 
    echo"</tr>"; 
 

 
$query= mysql_query("SELECT * FROM `".$_SESSION["tabel"]."`"); 
 
if($row=mysql_fetch_row($query)>0){ 
 

 
    $i=1; 
 
    
 
    
 
    while($row = mysql_fetch_array($query)) 
 
    { 
 
     echo"<tr>"; 
 
\t echo"<td>"; 
 
\t echo $i; 
 
\t echo"</td>"; 
 
\t echo"<td>{$row['nama_masakan']}</td>"; 
 
\t echo"<td><input type='text' name='jumlah[]' id='jumlah$i' disabled='true' value='{$row['jumlah']}'/> </td>"; 
 
\t echo"<td><input type='text' name='keterangan[]' id='keterangan$i' disabled='true' value='{$row['keterangan']}'/></td>"; 
 
\t echo"<td><button type='button' name='edit' id='edit$i' onClick='edit($i)'>Edit</button></td>"; 
 
\t echo"<td><button type='button' name='save' id='save$i' disabled='true' onClick='save($i)'>Save</button></td>"; 
 
\t echo"<td><button type='button' name='delete' id='del$i' onClick='del($i)'>Del</button></td>"; 
 
\t echo"</tr>"; 
 
\t $i++; 
 
    } 
 
    
 
} else{ 
 
echo "Tidak ada Pesanan Makanan"; \t 
 
} 
 
echo"</Table>"; 
 

 
?> 
 

 
</div>

ответ

2

обязательное наказание: don't use the mysql API. Он устарел и не имеет много важных функций. Теперь на мой ответ ...

Каждый раз, когда вы звоните mysql_fetch_*, он извлекает строку next. Вы вызываете mysql_fetch_row один раз в свой if (который берет первую строку), затем снова в while (который извлекает вторую строку), прежде чем что-либо делать с выбранной вами строкой.

В вашем if, вместо fetch вы должны проверять mysql_num_rows, чтобы определить, есть ли какие-либо данные:

if (mysql_num_rows($query) > 0) 
{ 
    $i=1; 

    while($row = mysql_fetch_array($query)) 
    { 

После того, как вы есть, что изменение работать, вы бы хорошо обслужен, чтобы прочитать на mysqli API и начать конвертировать ваш код.

+0

ОК ... исправлено ... спасибо большое ... спасибо за обмен ... :) – Martin

Смежные вопросы