[php] Вопрос по циклу while, mysql

[Удален]
568

Здравствуйте. Надо вывести данные с БД и использую сделующий код:

$select = $db->query("SELECT * FROM " . USERPREFIX . "_user WHERE user_id = '1'");

while ($row = $db->get_row($select)) {
echo $row['name'];
}

Всё отлично, он выводит нужную мне мефу, но мне всё это надо заключить в небольшую структуру (табы) и когда я пишу:

$select = $db->query("SELECT * FROM " . USERPREFIX . "_user WHERE user_id = '1'");


echo '<div class="tabs"><ul class="tabNavigation">';

while ($row = $db->get_row($select)) {
echo '<li>'.$row['name'].'</li>';
}

echo '</ul>';
echo '<div id="first">';

while ($row2 = $db->get_row($select)) {
echo '<h1>'.$row2['name'].'</h1>';
}
echo '</div></div>';

Выведется только один цикл while.

Код на выходе будет такой

<div class="tabs">

<ul class="tabNavigation">
<li>1</li>
</ul>
<div id="first">
И тут должно быть 1, но ничего нет.
</div></div>

Если конечно создать новый запрос(копию первого) $select2 и поставить его во второй цикл, то тогда будет всё ОК, но это не эффективно.

Подскажите, можно ли как-то реализовать, чтобы использовался только 1 запрос ?

lealhost
На сайте с 07.06.2014
Offline
136
#1

$select = $db->query("SELECT * FROM " . USERPREFIX . "_user WHERE user_id = '1'");

echo '<div class="tabs"><ul class="tabNavigation">';

while ($row = $db->get_row($select)) {
echo '<li>'.$row['name'].'</li>';
$newrow[] = row['name'];

}

echo '</ul>';
echo '<div id="first">';
$c = count($newrow);
for ($n=0; $n<$c; $n++) {
echo '<h1>'.$newrow[$n].'</h1>';
}

echo '</div></div>';

Можно так, но думаю есть варианты получше...

siv1987
На сайте с 02.04.2009
Offline
427
#2


$row = $db->super_query("SELECT * FROM " . USERPREFIX . "_users WHERE user_id=1");

echo "<div class='tabs'>
<ul class='tabNavigation'>
<li>{$row['name']}</li>
</ul>
<div id='first'>
<h1>{$row['name']}</h1>
</div>
</div>";
[Удален]
#3

Спасибо вам, всё получилось.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий