|
|
|
| файл add.php
.....
<?
....
$result = mysql_query ('insert into bd(row1) values("1")');
/// получается мы добавили в базу новую строчку
/// теперь можно получить id этой строчки (id - auto_increament)
$result = mysql_query('select id from ив where row1=1');
$num = mysql_fetch_row($result);
.....
?>
Так вот выдает не id последней добавленной строки, а предыдыщей
в чем проблема? | |
|
|
|
|
|
|
|
для: vikorel
(15.04.2008 в 15:22)
| | select id from bd
where id=last_insert_id()
это если надо id последней вставленной строки | |
|
|
|
|
|
|
|
для: ronin80
(15.04.2008 в 15:30)
| | А если несколько пользователей работают одновременно? не получится путаницы?
ведь в принципе он берет свой id по значению row1 | |
|
|
|
|
|
|
|
для: vikorel
(15.04.2008 в 15:34)
| | если значение row1 не уникальное то возможно у тебя в базе несколько значений равных 1? | |
|
|
|
|
|
|
|
для: ronin80
(15.04.2008 в 15:37)
| | значение row1 уникальное. Может запарка в другом? просто браузер не сбрасывет старые значения, когда снова открываю страницу. Хотя по идее, скрипт должен отрабатываться все равно | |
|
|
|
|
|
|
|
для: vikorel
(15.04.2008 в 15:38)
| | ну опять же если ты говоришь что значение поля row1 уникальное, то как может не обновиться браузер если ты в запросе пишешь where row1=1 ? | |
|
|
|
|
|
|
|
для: ronin80
(15.04.2008 в 15:43)
| | ....
$count=1;
while($count)
{
$new = rand(111,999);
$result = mysql_query('select * from db where row1='.$new.'');
$count = mysql_num_rows($result);
};
/ / / таким образом получаем уникальное значение, которого в базе нет, если такое есть, то оно генерит новое
вот и дальше мы уже заносим это значение в row1, т.е. вместо единицы подставляем $new и в where row1='.$new.' | |
|
|
|
|
|
|
|
для: vikorel
(15.04.2008 в 15:50)
| | сделал вывод $new
echo $new;
короче оно выводит значение, закрываем страницу, открываем ее снова, а значение тоже
получается скрипт не выполняется заново при отрытии страницы
весело | |
|
|
|