Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Возможно ли использование запроса к базе несколько раз?
 
 автор: xpom   (07.09.2011 в 17:57)   письмо автору
 
 

Почему запрос к базе данных выполняемый в php выполняется только один раз?
например

$res = mysql_query("SELECT name FROM table WHERE id= $id",$db);

while($row = mysql_fetch_array($res))
         {
           $name=$row[name];
          }

я после выполнения цикла while $res уже недоступно, а ниже в документе, этот запрос к базе еще нужен и не хочется повторять и делать его снова! Можно ли как то использовать его много раз в файле php?

  Ответить  
 
 автор: Саня   (07.09.2011 в 18:22)   письмо автору
 
   для: xpom   (07.09.2011 в 17:57)
 

Надо либо вытащить результаты в отдельный массив и работать уже с ним, либо постоянно делать mysql_data_seek($res, 0) после каждого использования.
<?
$res 
mysql_query("SELECT name FROM table WHERE id= $id",$db); 
$data = array();
while ( 
$row mysql_fetch_array($res) ) $data[] = $row;
mysql_free_result($res);

foreach ( 
$data as $row )
         { 
           
$name=$row['name']; 
          }

  Ответить  
 
 автор: xpom   (07.09.2011 в 18:56)   письмо автору
 
   для: Саня   (07.09.2011 в 18:22)
 

т.е. каждый элемент что вытаскиваем name и все остальные в массивы разные залаживать?
а потом в циклах уже с ними разбираться

  Ответить  
 
 автор: Саня   (07.09.2011 в 20:12)   письмо автору
 
   для: xpom   (07.09.2011 в 18:56)
 

Не понятен вопрос. Выше я привёл пример. Сначала все данные полностью вытаскиваются в массив, а потом уже этот массив участвует во всех циклах.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования