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

Форум MySQL

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

 

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

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

тема: php5 cgi mysql
 
 автор: vasvas4   (14.05.2010 в 10:58)   письмо автору
 
 

Здравствуйте, имеется следукющий скрипт
require_once "cfg.php"; соединение с БД
$rr=mysql_query("SELECT * FROM `CLIO` where `stat`='activ' or `stat`='test'");
$num=mysql_num_rows($rr);
//$num ~ 4500 записей
for ($i=0; $i<$num; $i++)
{
$ff=mysql_fetch_array($rr);
//тут происходят какие то расчёты
$sql="UPDATE `CLIO` SET `check`='$itog' WHERE `id`='$ff[id]'";
mysql_query($sql);
}
Вапрос в следующем, почему запрос
$sql="UPDATE `CLIO` SET `check`='$itog' WHERE `id`='$ff[id]'";
проходит в цикле 2 раза с каждой записью, хотя долджен только один

  Ответить  
 
 автор: sim5   (14.05.2010 в 14:15)   письмо автору
 
   для: vasvas4   (14.05.2010 в 10:58)
 

Вот из-за mysql_fetch_array().

  Ответить  
 
 автор: vasvas4   (14.05.2010 в 14:23)   письмо автору
 
   для: sim5   (14.05.2010 в 14:15)
 

можно подробнее, при чём тут он?

  Ответить  
 
 автор: sim5   (14.05.2010 в 14:26)   письмо автору
 
   для: vasvas4   (14.05.2010 в 14:23)
 

[поправлено модератором]

  Ответить  
 
 автор: vasvas4   (14.05.2010 в 15:05)   письмо автору
 
   для: sim5   (14.05.2010 в 14:26)
 

будьте любезны, совсем кратенько

  Ответить  
 
 автор: sim5   (14.05.2010 в 15:11)   письмо автору
 
   для: vasvas4   (14.05.2010 в 15:05)
 

У вас что мануала нет? Скачать давно пора. Ну если кратенько, то:
mysql_fetch_array - извлекает результирующий ряд как ассоциативный массив, числовой массив или и тот, и другой.
Вот по умолчанию она и возвращает два набора.
Существуют функции:
mysql_fetch_assoc - извлекает ряд результата как ассоциативный массив.
mysql_fetch_row - получает результирующий ряд как перечислимый массив.
вот из этих двух и используйте нужное вам.
А вообще, у вас цикл for лишний. Зайдите в раздел MySQL, посмотрите как "человечнее" получать содержимое ресурса в цикле.

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

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