2013-09-09 3 views
0

Мне кажется, что я знаю это, но я расстраиваюсь, что не могу точно запомнить, как это сделать.PHP Recordset и EOF

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

Я попытался это:

<?php do { ?> 
    <li><a href="#">Content Goes Here</a></li> 
<?php } while (!feof($recordsetName) && $row_recordsetName = mysql_fetch_assoc($recordsetName)); ?> 

И я попытался сделать это таким образом, поставив повторяющегося элемента жгутов в если/другое заявление, как это:

<?php if (!feof($recordsetName)) { 
    echo ""; } 
else do { ?> 
    <li><a href="#">Content Goes Here</a></li> 
<?php } while ($row_recordsetName = mysql_fetch_assoc($recordsetName)); 
; } ?> 

Но это не также работает. Любая информация будет полезна

+0

Я думаю, что есть более простой способ выполнить это. Можете ли вы показать, как выглядит ваша структура/запросы db, а также как вы хотите, чтобы ваш конечный результат выглядел? – Maximus2012

ответ

0
while($row = mysql_fetch_assoc($recordsetName)) { 
    if($row['fieldname'] != '') { 
     echo '<li><a href="#">Content Goes Here</a></li>'; 
    } 
} 

или вы могли бы проверить, если запрос был успешным ...

$result = mysql_query($sql); 
if($result) { 
    echo '<li><a href="#">Content Goes Here</a></li>'; 
} 

или если он возвращается никаких результатов ...

$results = mysql_fetch_assoc($recordsetName); 
if(mysql_num_rows($results) > 0) { 
    while($row = mysql_fetch_assoc($results)) { 
     echo '<li><a href="#">Content Goes Here</a></li>'; 
    } 
} 

Кроме того, вам должен действительно использовать mysqli или PDO, так как mysql амортизируется.

Редактировать: добавлен цикл в примере 3.

+0

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

+0

Пример 1 не отображает ничего, если поле пусто. Пример 2 не отображает ничего, если запрос не удался. В примере 3 ничего не отображается, если набор записей пуст - это то, что вы хотите. – timgavin

+0

Спасибо за ваши замечания Tim. Я действительно смог понять эту часть, прежде чем я увидел ваш ответ, но увидев, что ты подтвердил мои мысли, и я смог заставить его работать. Еще раз спасибо! – user2762748

Смежные вопросы