Я пытаюсь загрузить несколько jpgs с помощью uploadifive / uploadify.
В моем файле uploadify.php я:
1) Выполнение запроса для проверки текущего фотоид и увеличение на единицу для назначения нового идентификатора фотографии:
$qry="SELECT * FROM tblphotos ORDER BY photoid DESC LIMIT 1";
$result=mysql_query($qry);
$row = mysql_fetch_array($result);
if($row['photoid'] == '')
{
$photoid = 1;
}
else{
$photoid = $row['photoid'] + 1;
}
2) Выполнение запроса для проверки текущего порядка сортировки (идентификатора сортировки) фотографии и назначение нового идентификатора сортировки на основе предыдущей записи:
$qry="SELECT * FROM tblphotos WHERE elementid = $workid
and phototype ='work' ORDER BY sortorder DESC LIMIT 1;";
$result=mysql_query($qry);
$row = mysql_fetch_array($result);
$sortorder = $row['sortorder'];
if($row['sortorder'] == '')
{
$sortorder = 1;
}
else{
$sortorder = $row['sortorder'] + 1;
}
3) Наконец, после получения нового идентификатора фотографии и идентификатора сортировки я делаю вставку sql для сохранения информации о фотографии в базе данных:
mysql_query("INSERT INTO tblphotos (photoid, elementid, photoname, sortorder, phototype)
VALUES ($photoid, $workid, '$new_file_name', $sortorder, 'work');");
Моя проблема в том, что в базе данных фотоид и сортид дублируются случайным образом для некоторых фотографий / изображений. Там должно быть одна вставка для одного изображения. Это как если бы uploadify запускает два запроса / вставки одновременно, так как загружает несколько фотографий и таким образом дублирует вставку sql. Пожалуйста помоги. (Я не использовал автоинкремент для идентификаторов в базе данных, потому что я использую несколько типов фотографий).
Чтобы избежать дубликатов, вы можете использовать REPLACE INTO
или же INSERT IGNORE
вместо INSERT
Других решений пока нет …