Проблема с выводом данных выборки из базы.

Armageddance

Новичок
Не получается дважды вывести вот такой блок информации:

<select id=profile_selector name=profile_id>
PHP:
<?php while($profile_data=mysqli_fetch_assoc($profile_query)){?>
<option value=<? echo $profile_data['profile_id'];?>><? echo $profile_data['profile_name'];?></option>
<? } ?>
</select>
Интерпретатор ругается.
Данные в mysqli_fetch_assoc поступают отсюда.
PHP:
$profile_query="SELECT DISTINCT profile_name, profile_id FROM session_profiles ORDER By profile_id ASC";
$profile_query=mysqli_query($connector, $profile_query);
С похожей проблемой сталкиваюсь не первый раз. Можно ли как-то ее обойти, кроме как повторно делать запрос с базу данных.
 

shelestov

я тут часто
Создайте массив с данными и используйте его сколько угодно раз.
Просто указатель уходит в конец, потому while второй раз отдает сразу false и не срабатывает.
 

Armageddance

Новичок
Создайте массив с данными и используйте его сколько угодно раз.
Просто указатель уходит в конец, потому while второй раз отдает сразу false и не срабатывает.
PHP:
<?php while($profile_data=mysqli_fetch_assoc($profile_query)){?>
<option value=<? echo $profile_data['profile_id'];?>><? echo $profile_data['profile_name'];?></option>
<? } ?>

<?php while($profile_data_2=mysqli_fetch_assoc($profile_query)){?>
<option value=<? echo $profile_data_2['profile_id'];?>><? echo $profile_data_2['profile_name'];?></option>
<? } ?>
Вы об этом? Так тоже не работает.
Или нужно впихивать в массив данные внутри цикла mysqli_fetch_assoc?
 

shelestov

я тут часто
PHP:
<?php 
$a = array();
while($profile_data=mysqli_fetch_assoc($profile_query)){
$a[$profile_data['profile_id']] = $profile_data['profile_name'];
} 
?>
Полученный массив можно использовать foreach-ем сколько угодно раз

PHP:
<?php foreach($a as $profile_id => $profile_name){?>
<option value=<?php echo $profile_id;?>><?php echo $profile_name;?></option>
<?php } ?>
 
Сверху