2013-12-16 4 views
0

У меня возникли проблемы с моим первым проектом PHP, я пытаюсь получить данные из базы данных MySQL (имеет 3 записи) и отображать их в таблицах. Проблема заключается в том, что только показывается запись 2 и 3, она пропускает 1-ю запись. См. Мой код и ниже.записей в таблице

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM unitstats"); 

while($row = mysqli_fetch_array($result)) { 
    echo "<table border='1' style='color:white'> 
    <tr> 
    <th>ID</th> 
    <th>Name</th> 
    </tr>"; 

    while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "</tr>"; 
    } 
    echo "</table>"; 
} 

enter image description here

+0

Что является первым 'while' делать? – Salman

+0

'while ($ row = mysqli_fetch_array ($ result))' Я не думаю, что вы знаете, что это делает T.T – hanzo2001

+0

, почему все ответы затухают? – user2936213

ответ

1

вы используете два, пока петли, которые ненужно использовать следующий код

if (mysqli_connect_errno()) 
     { 
     echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
     } 

     echo "</table>"; 


echo "<table border='1' style='color:white'> 
<tr> 
<th>ID</th> 
<th>Name</th> 
</tr>"; 
$result = mysqli_query($con,"SELECT * FROM unitstats"); 

while($row = mysqli_fetch_array($result)) 
    { 


echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "</tr>"; 
} 
    echo "</table>"; 
+0

- это ответ на что-то другое, что другие дали здесь? Почему это поддерживается и иначе все остальные занижены? – user2936213

+0

@ user2936213 спросите их, кто ответит на этот ответ. в любом случае вы не видели, что этот ответ также принимается владельцем вопроса? –

+0

его не только для u satish, но есть кто-то, кто делает это. Он просто пытается превратить всех нас в репутацию без всякой причины. – user2936213

1
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 

echo "<table border='1' style='color:white'> 
<tr> 
<th>ID</th> 
<th>Name</th> 
</tr>"; 

$result = mysqli_query($con,"SELECT * FROM unitstats"); 

while($row = mysqli_fetch_array($result)) 
{ 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "</tr>"; 
} 
    echo "</table>"; 

В основном вам не нужен первоначальный цикл, это будет иметь в основном вызвал вопрос, потому что вы бы $row с повторным объявлением второго циклом.

0

Просто удалить внешнее время цикла и просто использовать это:

if (mysqli_connect_errno()) { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
} 

$result = mysqli_query($con,"SELECT * FROM unitstats"); 


echo "<table border='1' style='color:white'> 
<tr> 
<th>ID</th> 
<th>Name</th> 
</tr>"; 

while($row = mysqli_fetch_array($result)) { 
    echo "<tr>"; 
    echo "<td>" . $row['id'] . "</td>"; 
    echo "<td>" . $row['name'] . "</td>"; 
    echo "</tr>"; 
} 
echo "</table>"; 
Смежные вопросы