Проблема с возвратом строк с использованием PHP - PullRequest
0 голосов
/ 04 декабря 2009
<?php

if (isset($_GET['flyerID']))
    $FlyerID = $_GET['flyerID'];

$DBConnect = @mysqli_connect("host", "UN", "pword")

    Or die("<p>Unable to connect to the datbase server.</p>" . "<p>Error Code ".mysqli_connect_errno().": ".mysqli_connect_error()) . "</p>";

$DBName = "agentsleuthdb";

@mysqli_select_db($DBConnect, $DBName)

    Or die("<p>Unable to select the database.</p>" . "<p>Error Code " . mysqli_errno($DBConnect) . ": " . mysqli_error($DBConnect)) ."</p>";

    $TableName = "FEEDBACK";

    $SQLstring = "SELECT * FROM $TableName order by FIRSTNAME";

    $QueryResult = @mysqli_query ($DBConnect, $SQLstring)

    Or die("<p> Unable to exequte Select query.</p>"."<p>Error Code ".mysqli_errno($DBConnect) .": ".mysqli_error

($DBConnect))."</p>";

    if (mysqli_num_rows($QueryResult) == 0){

        exit("<p>There is no feedback</p>");
}

?>


            <table border="1">
                <tr>
                    <th width = "15%">First Name </th>
                    <th width = "15%">Last Name </th>
                    <th width = "15%">Email Addr </th>
                    <th width = "15%">Company </th>
                    <th width = "40%">Feedback </th>

                </tr>


<?php
    $Row = mysqli_fetch_row($QueryResult);

do {
    echo "<tr><td>{$Row[0]}</td>";
    echo "<td>{$Row[1]}</td>";
    echo "<td>{$Row[2]}</td>";
    echo "<td>{$Row[3]}</td>";
    echo "<td>{$Row[4]}</td></tr>";
    $Row = mysqli_fetch_assoc($QueryResult);
} while ($Row);
mysqli_free_result($QueryResult);
mysqli_close($DBConnect);
?>              

Возвращает только одну строку. Как я могу вернуть все записи?

Ответы [ 2 ]

3 голосов
/ 04 декабря 2009

Вы пробовали

while ($Row = mysqli_fetch_row($QueryResult))

Описание здесь

или

while ($Row = mysqli_fetch_array($QueryResult, MYSQL_ASSOC))

Описание здесь

Надеюсь, это поможет.

0 голосов
/ 04 декабря 2009

В вашем коде только первый раз, когда вы вызываете mysqli_fetch_row, что делает $Row индексированным массивом. Вот почему вы видите вывод при доступе к содержимому $Row с индексом ($Row[0], $Row[1] и т. Д.). После этого вы mysqli_fetch_assoc, который превращает $Row в ассоциативный массив, таким образом, доступ к $Row с индексом для вашего вывода больше не работает.

Замените цикл do ... while на первый цикл while, предложенный ранее.

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