Подреждане на ID-тата в базата данни #2?

streleca_stz

Registered
Мм извинявам се, че правя същата тема, но просто избързах да дам +1 точка.. Става дума за тази тема => http://web-tourist.net/forum/viewtopic.php?t=112367 Ако някой модератор види това нека да изтрие другата тема! :)

-------------------------------------------------------------

Здравейте! Искам да попитам ако например имам ID-та които са така: 1, 2, 3, 10, 100, 563 - би ли могло по някакъв начин да ги "преработя" в phpmyadmin-a и да станат 1, 2, 3, 4, 5, 6? Питам понеже имам такива полета и обичам да ми е подредено.. Very Happy

Няма значение дали е от phpmyadmin или с някакъв php код... :)

ЕДИТ: Знам, че могат да се подредят и на ръка обаче когато имаш +1 000 реда и идва малко трудно.. :D

От миналата тема @ivo_pi4a ми даде следният цикъл, но не работи..
PHP:
$res=mysql_query("SELECT * FROM `table`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row[id];
mysql_query("UPDATE `table` SET 'id'=$i WHERE 'id'=$id");
}

Ако някой друг има предложения, нека да сподели и пак се извинявам, че направих втора тема ..
 
Извинявай грешката е моя.
PHP:
$res=mysql_query("SELECT * FROM `table`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row[id];
mysql_query("UPDATE `table` SET 'id'=$i WHERE 'id'=$id");
}
Трябва да бъде така
PHP:
$res=mysql_query("SELECT * FROM `table`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row[id];
mysql_query("UPDATE `table` SET `id`=$i WHERE `id`=$id");
}
Грешката е в query-то, защото id е запазено име и трябва да е в ``, а не в ' '.
 
ivo_pi4a каза:
Извинявай грешката е моя.
PHP:
$res=mysql_query("SELECT * FROM `table`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row[id];
mysql_query("UPDATE `table` SET 'id'=$i WHERE 'id'=$id");
}
Трябва да бъде така
PHP:
$res=mysql_query("SELECT * FROM `table`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row[id];
mysql_query("UPDATE `table` SET `id`=$i WHERE `id`=$id");
}
Грешката е в query-то, защото id е запазено име и трябва да е в ``, а не в ' '.

Амии и в двата случая ми даваше:
Parse error: syntax error, unexpected ':', expecting ';' in D:\xampp\htdocs\tokiohotel\sort.php on line 7
И аз го променят от : на ; .. Но и променения не работи.. :(
 
ivo_pi4a каза:
Дай си първите 10 реда код.

PHP:
<?php
include 'functions.php';
db_init();

$res=mysql_query("SELECT * FROM `subscription`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num:$i++){
$row=mysql_fetch_array($res);
$id=$row['sub_id'];
mysql_query("UPDATE `table` SET `sub_id`=$i WHERE `sub_id`=$id");
echo 'Ready!<br />';
}
?>

ЕДИТ: Омг.. чак сега видях, че не съм прекръстил при ъпдейта таблицата.. :d Мерси!
 
Видях къде ми е грешката.
PHP:
<?php
include 'functions.php';
db_init();

$res=mysql_query("SELECT * FROM `subscription`");
$num=mysql_num_rows($res);
for($i=1;$i<=$num;$i++){
$row=mysql_fetch_array($res);
$id=$row['sub_id'];
mysql_query("UPDATE `table` SET `sub_id`=$i WHERE `sub_id`=$id");
echo 'Ready!<br />';
}
?>
Така вече трябва да работи
 

Back
Горе