Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Непонятная проблема с UPDATE в MySQL (Антон) 27/10/2003 - 11:06:35
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 11:09:59
      Re: Непонятная проблема с UPDATE в MySQL (Антон) 27/10/2003 - 11:24:50
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 11:32:47
      Re: Непонятная проблема с UPDATE в MySQL (Libarus) 27/10/2003 - 11:38:46
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 11:59:41
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 12:06:10
      Re: Непонятная проблема с UPDATE в MySQL (Libarus) 27/10/2003 - 12:09:02
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 12:39:33
      Re: Непонятная проблема с UPDATE в MySQL (Libarus) 27/10/2003 - 12:45:32
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 13:01:47
      Re: Непонятная проблема с UPDATE в MySQL (prog) 27/10/2003 - 13:03:18
      Re: Непонятная проблема с UPDATE в MySQL (Libarus) 27/10/2003 - 13:17:30
      Re: Непонятная проблема с UPDATE в MySQL (Anton) 20/12/2007 - 14:43:39

> Original message text:
> From: Антон - 27/10/2003 - 11:06:35
> Subject:Непонятная проблема с UPDATE в MySQL
> -----------------
> Непонятная проблема с UPDATE в MySQL
> Приветствую all!
> Проблема заключается в следующем.
> Есть таблица. Она имеет много столбцов, 2 из которых я использую.
> 1. ID - уникальный, авто_инкримент
> 2. POR - просто числовое поле.
> Надо в зависимости от ID поменять местами значения в столбциах POR у текущей строки следующей за ней.
> Скрипт:
>
> <?
> // приходит $id
> $que="SELECT * FROM `table` WHERE `id`=$id;"
> $res = mysql_query($que);
> //получили выборку, далее по строчно
> while ($row = mysql_fetch_array($res)){
> if ($row["id"]==$id){
> $por = $row["por"];
> $row = mysql_fetch_array($res);
> $idnext = $row["id"];
> $pornext = $row["por"];
> }
> }
>
> $que = "UPDATE `table` SET `por`=$por WHERE `id`=$idnext;";
> $res = mysql_query($que);
>
> $que = "UPDATE `table` SET `por`=$pornext WHERE `id`=$id;";
> $res = mysql_query($que);
>
> //далее вывожу всю таблицу с помощью SELECT * FROM `table`;
> //все нормально.
>
> ?>
>
> Но когда я захажу через PHPMyAdmin посмотреть значения, там поменены местами значения не соседних строк, а церез одну. В чем проблема я не могу решить. Может кто-нибудь подскажет, как проще можно поменять местами два значения в строках таблицы, или скажет где у меня может быть ошибка? Буду премного благодарен!!!
>


From: prog - 27/10/2003 - 11:09:59
Subject:Непонятная проблема с UPDATE в MySQL
-----------------
не надо делать второй раз
mysql_fetch_array($res);
это производит выборку Следующей строки
поэтому и получается через одну.



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32607



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |