tabloda veritabanı ve gösteri döngü

4 Cevap php

Benim kullanıcıların veritabanı kendi arka arkaya tablosundaki her kullanıcı adı göstermek için ama ben döngü çalışıyorum. Ben sadece satır vardır, bu aracılığıyla bir kullanıcı ama döngüleri göstermek için alabilirsiniz. Kod aşağıda

<?php
require_once ('../login/connection.php');
include ('functions.php');

$query = "SELECT * FROM users";
$results=mysql_query($query);
$row_count=mysql_num_rows($results);
$row_users = mysql_fetch_array($results);

echo "<table>";
    for ($i=0; $i<$row_count; $i++)
    {
    echo "<table><tr><td>".($row_users['email'])."</td></tr>";
    }
    echo "</table>";
?>

Teşekkürler

4 Cevap

mysql_fetch_array, tek bir satır getirir - genellikle sonuç kümesindeki tüm satırları yemek için bir süre döngü kullanmak, örneğin

echo "<table>";

while ($row_users = mysql_fetch_array($results)) {
    //output a row here
    echo "<tr><td>".($row_users['email'])."</td></tr>";
}

echo "</table>";

Tek satır getiriliyor ediyoruz:

$row_users = mysql_fetch_array($results);

Eğer gerçekten bir şey döngü değil bu yüzden bir daha getirme çağrısında asla ediyoruz.

Ben aşağıdaki için döngü değişen öneririm:

echo "<table>";
while ($row = mysql_fetch_array($results)) {
    echo "<tr><td>".($row['email'])."</td></tr>";
}
echo "</table>";

While döngüsü irade sonuçları döngü ve satır bitene kadar, $ satır için bir satır atayın. Artı bu noktada sonuçların sayısını alma ile uğraşmaya gerek yok. Bu php DB sonuçlarına döngü "olağan" bir yoldur.

Senin sorunun bu doğrultudadır:

echo "<table><tr><td>".($row_users['email'])."</td></tr>";

Tekrar bir <table> etiketi dışarı yankılanıyordu ediyoruz. Böylece kod şöyle görünür Kaldır:

echo "<table>";
    for ($i=0; $i<$row_count; $i++)
    {
    echo "<tr><td>".($row_users['email'])."</td></tr>";
    }
echo "</table>";

Bir tablo içinde çıkışına bir tablo için bunu yapıyoruz yolu gerekmez.

$result = mysql_query("SELECT `email` FROM `users`");
$num_emails = mysql_num_rows($result);

echo "<table><caption>There are/is $num_emails email(s)</caption>";
while ($row = mysql_fetch_assoc($result)) {
    echo "<tr><td>{$row['email']}</td></tr>";
}
echo '</table>';

Bunun gibi bir şey çalışması gerekir.