|
|
|
| Здравствуйте, имеется следукющий скрипт
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 раза с каждой записью, хотя долджен только один | |
|
|
|
|
|
|
|
для: vasvas4
(14.05.2010 в 10:58)
| | Вот из-за mysql_fetch_array(). | |
|
|
|
|
|
|
|
для: sim5
(14.05.2010 в 14:15)
| | можно подробнее, при чём тут он? | |
|
|
|
|
|
|
|
для: vasvas4
(14.05.2010 в 14:23)
| | [поправлено модератором] | |
|
|
|
|
|
|
|
для: sim5
(14.05.2010 в 14:26)
| | будьте любезны, совсем кратенько | |
|
|
|
|
|
|
|
для: vasvas4
(14.05.2010 в 15:05)
| | У вас что мануала нет? Скачать давно пора. Ну если кратенько, то:
mysql_fetch_array - извлекает результирующий ряд как ассоциативный массив, числовой массив или и тот, и другой.
Вот по умолчанию она и возвращает два набора.
Существуют функции:
mysql_fetch_assoc - извлекает ряд результата как ассоциативный массив.
mysql_fetch_row - получает результирующий ряд как перечислимый массив.
вот из этих двух и используйте нужное вам.
А вообще, у вас цикл for лишний. Зайдите в раздел MySQL, посмотрите как "человечнее" получать содержимое ресурса в цикле. | |
|
|
|