mysql_fetch_object в цикле while и строке -> [имя атрибута] - PullRequest
0 голосов
/ 07 марта 2011

Я очень новичок в веб-программировании, и я работаю над книгой Викрама Васвани «Как сделать все с помощью PHP и MySQL». В конце он показывает, как создать веб-программу, которая показывает новости и позволяет пользователю редактировать и добавлять различные новости. Код, похоже, не работает, и я настроил его, чтобы заставить его работать, но я все еще в замешательстве. В частности, у меня есть следующий код (этот сайт не очень хорошо обрабатывает перерывы)

// if records present
if (mysql_num_rows($result) > 0)
{
    // iterate through resultset
    // print article titles
    while($row == mysql_fetch_object($result));
    {
    ?>
        <li><a href="story.php?Ticker=<?php echo $row->Ticker;?>"><?php echo $row->StockName;?></a></li>
        <?php 
        $row = mysql_fetch_object($result);  
        echo $row->Ticker;
        echo $row->StockName;

<br>

Так вот, в книге было while ($row = mysql_fetch_object($result)); - но это ничего не сделало. Поэтому я изменил его на оператор сравнения равных. Я думаю, что с $row = mysql_fetch_object($result) в нижней части цикла, он должен перейти к следующему ряду таблицы, так как это нормальное поведение для http://us2.php.net/manual/en/function.mysql-fetch-object.php и для моего собственного тестирования. Я могу сделать это по-другому с помощью цикла for или чего-то еще, но я хотел бы выяснить, почему это не работает так, как я ожидаю.

Ответы [ 2 ]

0 голосов
/ 07 марта 2011

В вашем цикле while mysql_fetch_object () возвращает следующую строку в вашем $ result.Если вы тестируете с оператором ==, это не может быть правдой.

0 голосов
/ 07 марта 2011

Это определенно должно быть:

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

}

Похоже, у вас есть точка с запятой в конце строки while, и это завершит цикл while прямо сейчас.Вместо этого вы должны открыть блок кода с круглыми скобками.Если результаты не возвращаются, он будет ложным и выйдет из цикла while.

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