Новости
Документация
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



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 посмотреть значения, там поменены местами значения не соседних строк, а церез одну. В чем проблема я не могу решить. Может кто-нибудь подскажет, как проще можно поменять местами два значения в строках таблицы, или скажет где у меня может быть ошибка? Буду премного благодарен!!!


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

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

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



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