Массив выборки msql больше не отображает все результаты - PullRequest
0 голосов
/ 09 декабря 2010

У меня есть код, который я использовал снова и снова, и теперь он портится.Все, что я хочу сделать, это перечислить информацию из базы данных в таблицу на странице, но теперь она покажет только один результат вместо всех найденных результатов.

    <table>
    <tr><td style="background-color:#009745; color:#FFFFFF"><center><strong>Address Book</strong></center></td></tr>
    <tr>
    <?php
    $getids = mysql_query("SELECT id, first_name, last_name FROM accounts WHERE s1='$id' ORDER BY id DESC", $db);
    if (mysql_num_rows($getids) > 0) {
    while ($gids = mysql_fetch_array($getids)) {
    $ab_id = $gids['id'];
    $ab_fn = $gids['first_name'];
    $ab_ln = $gids['last_name'];
    }
    ?>
    <td><a href="#"><?= $ab_id ?></a> - <?= $ab_fn . " " . $ab_ln ?></td>
    <?php
    } else {
    ?>
    <td><center>No Contacts</center></td>
    <?php
    }
    ?>
    </tr>
</table>

, пожалуйста, помогите мне с этим.


Спасибо за вашу помощь:)

Я люблю этот сайт !!Я всегда могу получить ответы, когда они мне нужны.

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

Я увидел две неправильные вещи

  1. вы используете mysql_fetch_array, а позже вы используете строковые индексы для печати результата
  2. выводите данные в цикле, это переопределяет значенияи просто сохранив последнюю строку

     if (mysql_num_rows($getids) > 0) {
            while ($gids = mysql_fetch_assoc($getids)) {
            $ab_id = $gids['id'];
            $ab_fn = $gids['first_name'];
            $ab_ln = $gids['last_name'];
            echo '<td><a href="#">'.$ab_id.'</a> -'. $ab_fn.''.$ab_ln.' </td>';
            }
    
1 голос
/ 09 декабря 2010

В этом грязном коде вы слишком рано закрываете цикл while:

while ($gids = mysql_fetch_array($getids)) {
    $ab_id = $gids['id'];
    $ab_fn = $gids['first_name'];
    $ab_ln = $gids['last_name'];
}

Позже будет использоваться только последняя найденная строка. Кроме того, не используйте mysql_fetch_array, если у вас нет доступа к числовым значениям вашего результата. Вместо этого используйте mysql_fetch_assoc.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...