Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: обновление БД в цикле

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
igor3310
Отправлено: 20 Февраля, 2012 - 17:19:37
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Здравствуйте!
Скажите пожалуйста - сделал обновление поля БД в цикле а оно обновило только 1 а результат ОК для весх вернуло - это наверное ограничение какоето действует или как с этим быть?
 
 Top
Okula
Отправлено: 20 Февраля, 2012 - 17:31:57
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




Битва экстрасенсов не тут, а на канале ТНТ.
 
 Top
igor3310
Отправлено: 20 Февраля, 2012 - 17:34:50
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




ВОт цикл который обновляет все строки 1 поля в 1 таблице -циклом ДО-ВАЙЛ но изменяется только в 1 строке и все , а возврашает ОК для всех строк.

$result=mysql_query("SELECT offer_picture,offer_id FROM ozon_offer",$bd);
$myrow=mysql_fetch_array($result);

do{
$rest = substr($myrow['offer_picture'], -14);
$id=$myrow['offer_id'];


$otv=mysql_query("UPDATE ozon_offer SET offer_picture='$rest' WHERE offer_id='$id' ");

if($otv==true){echo "OK!<br>";} else{echo"NO";}
}


while($myrows=mysql_fetch_array($result))
 
 Top
DlTA
Отправлено: 20 Февраля, 2012 - 17:46:12
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




а почему решили что тут что то не так?
функция mysql_query возвращает false только при не валидном запросе
 
 Top
igor3310
Отправлено: 20 Февраля, 2012 - 17:50:19
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




а в чем тогда ошибка - надо чтоб цикл менял поле во всех строках а он меняет только в 1 -
раз меняет значит цикл работает( таже история в конструкции ВАЙЛ без ДО)?
 
 Top
kappa
Отправлено: 20 Февраля, 2012 - 20:13:03
Post Id



Посетитель


Покинул форум
Сообщений всего: 349
Дата рег-ции: Апр. 2011  


Помог: 3 раз(а)




Вот так приблизительно попробуйте
PHP:
скопировать код в буфер обмена
  1. for($i = 0;  $i <= count($result); $i++) {
  2.    
  3.     $res =mysql_query("UPDATE ozon_offer SET offer_picture='$result[i]' WHERE offer_id='$id' ");
  4.    
  5. }
  6.  isset($res) ? print('Данные добавлены') : print('Произошла ошибка');
 
 Top
Viper
Отправлено: 21 Февраля, 2012 - 10:02:57
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




kappa может все же не isset($res) а проверить на true/false? А то кагбэ половину влепит, а дальше что?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
igor3310
Отправлено: 21 Февраля, 2012 - 13:37:54
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Не нехочет "съела всю запись" в 1 поле в 1 строке а ответ "Данные добавлены" вывело 324 раза (сколько строк в той таблице) - а нету какихто спец програм чтоб даные в самой БД можно было пачками редактировать?
 
 Top
DelphinPRO
Отправлено: 21 Февраля, 2012 - 13:46:25
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




igor3310 пишет:
$result=mysql_query("SELECT offer_picture,offer_id FROM ozon_offer",$bd);
$myrow=mysql_fetch_array($result);

do{
$rest = substr($myrow['offer_picture'], -14);
$id=$myrow['offer_id'];


$otv=mysql_query("UPDATE ozon_offer SET offer_picture='$rest' WHERE offer_id='$id' ");

if($otv==true){echo "OK!<br>";} else{echo"NO";}
}


while($myrows=mysql_fetch_array($result))


опечатка в имени переменной


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
igor3310
Отправлено: 21 Февраля, 2012 - 13:49:47
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




Спасибо это я исправил ищо тода.
 
 Top
DelphinPRO
Отправлено: 21 Февраля, 2012 - 13:56:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




ну попробуйте так.
Код, вроде, правильный.

PHP:
скопировать код в буфер обмена
  1. $result=mysql_query("SELECT offer_picture, offer_id FROM ozon_offer", $bd);
  2.  
  3. while($myrow=mysql_fetch_array($result)) {
  4.     $rest = substr($myrow['offer_picture'], -14);
  5.     $id = $myrow['offer_id'];
  6.  
  7.     $otv = mysql_query("UPDATE ozon_offer SET offer_picture='$rest' WHERE offer_id='$id'");
  8.  
  9.     if ($otv !== false) {
  10.         echo "OK!<br>";
  11.     }
  12.     else {
  13.         echo"NO<br/>";
  14.         echo mysql_error();
  15.     }
  16. }


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
igor3310
Отправлено: 21 Февраля, 2012 - 14:52:31
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




[quote=DelphinPRO][/quote]
Спасибо теперь работает круто!!!!!!!!!
А неподскажите как добиться выборку из БД или очистку поля до "слеша" - взять ссылку и выбрать справа все до слеша (тоесть имя файла без путей) ?
 
 Top
DelphinPRO
Отправлено: 21 Февраля, 2012 - 15:00:12
Post Id



Активный участник


Покинул форум
Сообщений всего: 7187
Дата рег-ции: Февр. 2012  


Помог: 353 раз(а)




igor3310 пишет:
А неподскажите как добиться выборку из БД или очистку поля до "слеша" - взять ссылку и выбрать справа все до слеша (тоесть имя файла без путей) ?


покажите на примере, что есть и что нужно.


-----
Чем больше узнаю, тем больше я не знаю.
 
 Top
igor3310
Отправлено: 21 Февраля, 2012 - 17:02:09
Post Id


Гость


Покинул форум
Сообщений всего: 111
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




есть
http://forum.php.su/im/avatars/p.../9708-avatar.png
и например брало справо до слеш и получалось только полное имя файла без полного пути так:
9708-avatar.png
 
 Top
snikers987
Отправлено: 21 Февраля, 2012 - 23:56:48
Post Id



Участник


Покинул форум
Сообщений всего: 1239
Дата рег-ции: Сент. 2011  
Откуда: Крым


Помог: 25 раз(а)




igor3310 пишет:
есть
http://forum.php.su/im/avatars/p.../9708-avatar.png
и например брало справо до слеш и получалось только полное имя файла без полного пути так:
9708-avatar.png



-----
Когда всматриваешься в тёмную бездну, учти, что кто-то может смотреть на тебя из неё...
 
My status
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« SQL и Архитектура БД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB