| Здравствуйте.Я недавно изучаю пхп и не могу разобраться с такой проблемой: при добавлении записей в таблицу(в mysql) из пхп эти записи располагаются в странном порядке по ид:9,8.3,11,10,7.Пока я не удалял записи все было нормально.Подскажите пожалуйста почему так происходит и еще как сделать, чтобы при удалении записей последующие сдвигались влево, например при удалении 3-й выходит 1,2,4,5 а я хочу, чтобы было по порядку.Мои скрипты:
создает таблицу(пользователь вводит ее имя, кол-во и название полей,кроме id(файл кот. передает $_POST [ ] не указываю):
$name_tb=$_POST["tb_name"];
$cr_tb="CREATE TABLE $name_tb
(
id int auto_increment ";
foreach($_POST as $value){
if($value==$_POST["tb_name"]){continue;}
$cr_tb.=",$value VARCHAR(25) ";
}
$cr_tb.=",primary key(id)
)";
mysql_query($cr_tb);
Ввожу в первом файле(который я здесь не указываю-много места занимает), например, mytb,fio,city запускаю в debugger'e получается $cr_tb = "CREATE TABLE mytb (id int auto_increment ,fio VARCHAR(25) ,city VARCHAR(25) ,primary key(id))"т.е. вроде бы все как положено и таблицы создаются без проблем.Потом следующий скрипт добавляет записи(здесь post передает данные в этот же файл):
if(!isset($_POST['da'])&&!isset($_POST['go']))
{
echo"<form action=\"add.note.php\" method=POST>";
echo"введите имя таблицы:<input type=text name=tb_n>";
echo"<input type=submit name=da value=\"ввести\">";
echo"</form>";
}
if(isset($_POST['da'])&&!isset($_POST['go']))
{
$name_tb=$_POST['tb_n'];
$q=mysql_query("select*from $name_tb");
$f=mysql_num_fields($q);
echo"<form action=\"add.note.php\" method=POST>";
echo"введите значения в соответствующие поля:<br>";
for($i=1;$i<$f;$i++)
{
echo mysql_field_name($q,$i);
echo"<input type=text name=cel_val[]>";
echo"<br>";
}
echo"<input type=submit name=go value='добавить строку'>";
echo"<input type=hidden name=yes value=$name_tb>";
echo"</form>";
}
if(isset($_POST['go']))
{
$z=$_POST['yes'];
$ins="INSERT INTO $z VALUES(0";
foreach($_POST['cel_val'] as $value)
{
$ins.=",\"$value\"";
}
$ins.=")";
echo"строка добавлена";
mysql_query($ins);
}
тоже запускаю через debugger $ins = "INSERT INTO mytb VALUES(0,"oleg","gorod")" запись нормально добавляется и только после удаления нескольких записей возникают вышеуказанные проблемы.Пожалуйста,подскажите решение. | |