|
|
|
| Есть таблица
Как узнать какой последний id?
П.С. Не количество строк в таблице, а именно последний id | |
|
|
|
|
|
|
|
для: Елена Смирнова
(25.12.2007 в 01:06)
| | можно узнать добавленный id сразу за оператором добавления.
Делается это вызовом mysql_insert_id(); сразу после успешного mysql_query("INSERT INTO ...")
Последний же id никакой алгоритмической пользы не несет. В отличие от вышеприведенного. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2007 в 01:09)
| | Значит узнать его нельзя?
Я делаю так, узнаю кол-во строк записываю в переменную $all
птом при создании файла использую $all+1.txt
Но, если файл был удален то строк менньше, а значит перезапишется уже существующий файл :( | |
|
|
|
|
|
|
|
для: Елена Смирнова
(25.12.2007 в 01:11)
| | Вы имеете в виду - узнать наибольший id?
Почему нельзя - можно.
Да только толку никакого. Никто ведь не гарантирует того, что пока вы его узнаете, кто-то еще его не увеличит.
Если же Вы имеете узнать id последней строки - то увы. Первых - последних строк в таблице нет. Все строки лежат внавал. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2007 в 01:15)
| | >Да только толку никакого. Никто ведь не гарантирует того, что пока вы его узнаете, кто-то >еще его не увеличит.
Вот не думала, как же теперь быть? :( все мои планы летят ( | |
|
|
|
|
|
|
|
для: Елена Смирнова
(25.12.2007 в 01:11)
| | В любом случае Вам нужно отталкиваться от mysql_insert_id();
Сохраняете файл под временным именем.
Добавляете строку,
присваиваете $id = mysql_insert_id();
переименовываете файл в "$id".
если вопрос в том, как получить временное имя - запросите что-нибудь вроде md5(microtime());
За временное вполне покатит. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2007 в 01:18)
| | Можно подробнее... Не понимаю ( | |
|
|
|
|
|
|
|
для: Елена Смирнова
(25.12.2007 в 01:25)
| | Я так понял, что Вы хотели сперва файл создать с очередным номером, а потом строку в таблицу добавить.
Нужно поступить наоборот. Сперва добавить строку в таблицу, потом получить её номер, и только потом создать файл. Благо номер уже известен. | |
|
|
|
|
|
|
|
для: Trianon
(25.12.2007 в 01:30)
| | Странно, но у меня скачет через 1.
Я саздала файл под id15 далее файл дожен создаться под id 16, но он создается и под 16 и даже под 17 (
Надеюсь правильно:
mysql_query("insert into wp_files
values(0,
'".mysql_escape_string($filename)."',
'".mysql_escape_string($file_extension)."',
'".mysql_escape_string($login)."',
'".mysql_escape_string($info)."',
'',
'".mysql_escape_string($date)."',
'',
'');")
or die ("Îøèáêà INTO");
$all = mysql_insert_id();
|
| |
|
|
|
|
|
|
|
для: Елена Смирнова
(25.12.2007 в 01:45)
| | Все верно, работает. Я просто када запрос к БД перенасила перед созданием файла, со старого места не удалила, поэтому у меня и было по два обращения.
Спасибо, вы очень помогли! | |
|
|
|