Проблема с циклом while в PHP - PullRequest
       13

Проблема с циклом while в PHP

0 голосов
/ 11 сентября 2010

Любое предположение, что не так с моим WHILE Loop?

    <?php
        include('header.php');
        $manage = "current_page_item";
        include('nav.php');
        include('sidebar.php');
    ?>
    <div class="primary">
    <br/>
    <?php
    $userId = $_GET['id'];
    echo "<div class=\"item_list\">";
    $sql = "SELECT * FROM user WHERE id = " . intval($userId);
    $result = mysql_query($sql);
    while($item = mysql_fetch_array($result, MYSQL_ASSOC))
    {
        echo "<b>Title: </b>" . $item['item'] . "<br/><b>Email: </b>" . $item['email'] . "<br/>";
        echo "<b>Price: </b>" . $item['price'] . "</b><br/><b>Category: </b>" . $item['category'] . "</b><br/> <b>Extra: </b>" . ($item['extra'] ."</b><br/><b>Date Listed: </b>". $item['date'];
    }
    echo "</div>";
?>
</div>
<?php include('footer.php'); ?>

Ответы [ 5 ]

5 голосов
/ 11 сентября 2010

Ваша ошибка здесь. Вы используете неправильное имя переменной для извлечения строк:

while($userid = mysql_fetch_array($result, MYSQL_ASSOC)){

Должно быть:

while($item = mysql_fetch_array($result, MYSQL_ASSOC)){

Кроме того, в самой последней строке перед закрывающим тегом ?> есть свободная закрывающая скобка }. Я не знаю, была ли она осиротевшей из-за начального блока, который вы исключили из своего вопроса, или он действительно был там по ошибке.

2 голосов
/ 11 сентября 2010

Наряду с тем, что сказали BoltClock и stoosh, у вас также есть синтаксическая ошибка:

echo "<b>Price: </b>" . $item['price'] .
     "</b><br/> <b>Category: </b>". $item['category'] . 
     "</b><br/> <b>Extra: </b>". $item['extra'] . 
     "</b><br/><b>Date Listed: </b>". $item['date'];

У вас было два парана, в которых они не имели никакого смысла, и моя ставка вызывает синтаксическую ошибку,Вы действительно должны иметь error_reporting для E_ALL и display_errors для on для разработки!Это облегчает отладку этого материала.

Обновление

Чтобы установить это временно для сценария, добавьте его в начало (после <?php, конечно)

error_reporting(E_ALL);
ini_set("display_errors", "on");
1 голос
/ 11 сентября 2010

Во второй строке эха у вас есть несколько случайных скобок.Должно быть:

echo "<b>Price: </b>" . $item['price'] . "</b><br/> <b>Category: </b>" . $item['category'] . "</b><br/> <b>Extra: </b>" . $item['extra'] . "</b><br/><b>Date Listed: </b>" . $item['date'];
0 голосов
/ 11 сентября 2010

Похоже, вы неправильно назвали свои переменные?

Вы передали $userid в аргументе функции while, но вы используете $item в цикле?

You 'у нас также есть дополнительный }, если только вы не опубликовали фрагмент функции.

0 голосов
/ 11 сентября 2010

Удалить закрытие } в последней строке.

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