Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проблемы при удалении записей из таблицы
 
 автор: yaolegyest   (05.09.2009 в 00:29)   письмо автору
 
 

Здравствуйте.Я недавно изучаю пхп и не могу разобраться с такой проблемой: при добавлении записей в таблицу(в 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")" запись нормально добавляется и только после удаления нескольких записей возникают вышеуказанные проблемы.Пожалуйста,подскажите решение.

  Ответить  
 
 автор: Trianon   (05.09.2009 в 12:43)   письмо автору
 
   для: yaolegyest   (05.09.2009 в 00:29)
 

читайте

  Ответить  
 
 автор: yaolegyest   (05.09.2009 в 14:09)   письмо автору
 
   для: Trianon   (05.09.2009 в 12:43)
 

Спасибо, там сразу нашел что мне нужно.

  Ответить  
 
 автор: Trianon   (05.09.2009 в 14:29)   письмо автору
 
   для: yaolegyest   (05.09.2009 в 14:09)
 

Очень надеюсь, что это были знания, а не что-то другое.

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования