2012-11-26 3 views
0

Пожалуйста, помогите мне, я новичок в этом поле, пытаясь понять, как добиться обновления столбца из таблицы с нумерацией каждой строки из этой таблицы. (от 1 до ~).
Название таблицы ПРОДУКТЫ.
Название столбца НОМЕР.
Я хочу упомянуть, что начало того, что номер поля полностью отличается от идентификатора. Продукты вставляются и удаляются, а идентификатор - автоинкремент. Но номер поля обновляется с количеством строк. Итак, я хочу, чтобы у вас была кнопка при отправке, чтобы обновить поле Number с количеством ответов, соответствующим количеству строк.Обновление столбца с номерами

Пожалуйста, предложите скрипт PHP/MySql, который поможет мне обновить поле NUMBER с помощью цифр. Я бы очень признателен за ваше предложение. Заранее спасибо!

Мой сценарий не так:

$rank="0"; 
$q = mysql_query("SELECT NUMBER FROM PRODUCTS"); 
$productCount = mysql_num_rows($q); 
if ($productCount > 0) { 
while($row = @mysql_fetch_row($q)){ 
mysql_query("update PRODUCTS set NUMBER=$rank++ where ID IS NOT NULL"); 
} 

отредактирован: базы данных в настоящее время:

ID NAME NUMBER 
________________ 
201 Apple 3 
203 Orange 5 
204 Grape 17 

должны быть после обновления:

ID NAME NUMBER 
________________ 
201 Apple 1 
203 Orange 2 
204 Grape 3 
+2

вы можете дать некоторые выборочные данные здесь чтобы было более ясно, как ур та и как вы хотите? – AnandPhadke

+0

Зачем вам это нужно? – Peon

+0

Во-первых, я хотел бы ОБНОВИТЬ всю колонку NUMBER, начиная с номера 1 и последующих чисел 2,3,4 ... и так далее. –

ответ

2
SET @rank:=0; 
update tablename 
set [email protected]:[email protected]+1 
+0

. Ничего. Я считаю, что это должно быть так, но как использовать его в PHP? –

+0

использовать весь запрос и выполнить в php – AnandPhadke

+1

добавить в конец 'ORDER BY ID ASC', чтобы он обновлял значения по правильному порядку – cichy

Смежные вопросы