P purko Registered 13 Февруари 2010 #1 Здравейте! Как мога да взема последното ид от една таблица и след това да се направи нов запис в таблицата. Нещо от сорта на: id | name | ... id+1 | id+1 | ... Първото поле е auto_increment ама второто не е и искамтам да се запише стойността на първото поле
Здравейте! Как мога да взема последното ид от една таблица и след това да се направи нов запис в таблицата. Нещо от сорта на: id | name | ... id+1 | id+1 | ... Първото поле е auto_increment ама второто не е и искамтам да се запише стойността на първото поле
G gLaVoReZa Registered 13 Февруари 2010 #2 Код: $query = @mysql_query("SELECT max(`id`) FROM `mytable`"); $row = @mysql_fetch_assoc($query); @mysql_query("UPDATE `mytable` SET `name` = '".$row['id']."' WHERE `id` = '".$row['id']."'"); Ако съм те разбрал трябва да е нещо такова. Edit-нах кода, че имаше една грешка.
Код: $query = @mysql_query("SELECT max(`id`) FROM `mytable`"); $row = @mysql_fetch_assoc($query); @mysql_query("UPDATE `mytable` SET `name` = '".$row['id']."' WHERE `id` = '".$row['id']."'"); Ако съм те разбрал трябва да е нещо такова. Edit-нах кода, че имаше една грешка.
G gLaVoReZa Registered 13 Февруари 2010 #3 Горния код избира последното id и на реда на който се намира присвоява на `name` стойността на `id`. Ако искаш да се добавя нов ред в който и `id` и `name` имат една стойност, предполагам, че това ще ти свърши работа: Код: $query = @mysql_query("SELECT max(`id`) FROM `mytable`"); $row = @mysql_fetch_assoc($query); @mysql_query("INSERT INTO `mytable` (`name`) VALUES ('".($row['id']+1)."')");
Горния код избира последното id и на реда на който се намира присвоява на `name` стойността на `id`. Ако искаш да се добавя нов ред в който и `id` и `name` имат една стойност, предполагам, че това ще ти свърши работа: Код: $query = @mysql_query("SELECT max(`id`) FROM `mytable`"); $row = @mysql_fetch_assoc($query); @mysql_query("INSERT INTO `mytable` (`name`) VALUES ('".($row['id']+1)."')");