вроде бы делал и так и в этом случае никакой реакции т е имееш ввиду так? $sql = "Insert into image_add_text (user_id,big,small) VALUES ( (SELECT id_add_text FROM add_new_text WHERE date=NOW() ORDER BY id_add_text,date DESC LIMIT 1),'$filename','$filename1')"; Добавлено спустя 19 секунд: ща ещё раз проверю
Нашёл другой вариант который нужно испробовать http://pyramidin.narod.ru/php42/f/mysql-insert-id.html или english version http://php.ru/manual/function.mysql-insert-id.html
LAST_INSERT_ID() не прокатывает делает кашу малашу!!! 276 275 2 images/1363078253.jpg images/small_1363078253.jpg 275 274 2 images/1363078252.jpg images/small_1363078252.jpg 274 214 2 images/1363078250.jpg images/small_1363078250.jpg
Сделал изменения в коде и заработало как надо. Код (Text): $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car"); $maxrowid = mysql_fetch_array($sql); $id_insert = $maxrowid['id_add_car']; echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />"; $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')"; 424---308---images/1363209424.jpg 423---308---images/1363209421.jpg 422---308---images/1363209418.jpg 421---308---images/1363209416.jpg Тока вот правильно ли он будет работать если одновременно несколько человек будут вводить данные Ниже код аплоуда в котором сделаны изменения рабочий вариант. Код (Text): <?php include("conf.php"); error_reporting(0); define ("MAX_SIZE","400"); function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $errors=0; // Создайте базу // исплозуйте свои настройки имя пользователя , пароль // $connection является сылкой на соединение $slike = array(file, file1, file2, file3, file4,file5,file6,file7);// Добавте переменные в зависимость от количества добавляемых имеджей if($_SERVER["REQUEST_METHOD"] == "POST") { $filearray = array(); $filearray1 = array(); $k=0; foreach($slike as $slika){ $image =$_FILES[$slika]["name"]; $uploadedfile = $_FILES[$slika]['tmp_name']; if ($image) { $filename = stripslashes($_FILES[$slika]['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { $change='<div class="msgdiv">Unknown Image extension </div> '; $errors=1; } else { $size=filesize($_FILES[$slika]['tmp_name']); if ($size > MAX_SIZE*1024) // макс размер имеджа { $change='<div class="msgdiv">You have exceeded the size limit!</div> '; $errors=1; } if($extension=="jpg" || $extension=="jpeg" ) { $uploadedfile = $_FILES[$slika]['tmp_name']; $src = imagecreatefromjpeg($uploadedfile); } else if($extension=="png") { $uploadedfile = $_FILES[$slika]['tmp_name']; $src = imagecreatefrompng($uploadedfile); } else { $src = imagecreatefromgif($uploadedfile); } echo $scr; list($width,$height)=getimagesize($uploadedfile); $newwidth=600; // новая ширина $newheight=($height/$width)*$newwidth; $tmp=imagecreatetruecolor($newwidth,$newheight); $newwidth1=60; // новая ширина миниатюры(thumb) $newheight1=($height/$width)*$newwidth1; $tmp1=imagecreatetruecolor($newwidth1,$newheight1); imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height); $image_name=(time()+$k).'.'.$extension; $filename = "images/". $image_name; $filename1 = "images/small_". $image_name; imagejpeg($tmp,$filename,100); imagejpeg($tmp1,$filename1,100); $filearray[$k]= $filename; $filearray1[$k]= $filename1; $k++; $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car"); $maxrowid = mysql_fetch_array($sql); $id_insert = $maxrowid['id_add_car']; echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />"; $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')"; mysql_query($sql) or die(mysql_error()); imagedestroy($src); imagedestroy($tmp); imagedestroy($tmp1); }} } } //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { $change=' <div class="msgdiv">Image Uploaded Successfully!</div>'; } ?>
а вы в теории какой вариант развития событий видите при параллельном исполнении? что опасение вызывает?
Ну ужас не ужас Вам профессионалам видней просто хотелось уточнить как правильно все наладить. Т е нужно ли делать ещё какие то сравнения по полям.
будут. хранит не под именем файла, а генерируй новое например через http://php.ru/manual/function.uniqid.html
Вопрос возник из тог что когда юзеры буду вводить данные возможно ли что в потоке при паралельной добавке имеджей айдишник одного будет вписываться в поле другого юзера Это в идеале 425---308---images/1363209425.jpg 424---308---images/1363209424.jpg 423---308---images/1363209421.jpg 422---308---images/1363209418.jpg 421---308---images/1363209416.jpg Возможен ли косяк если одновременно несколько пользователей добавят по несколько имеджей Т е может ли айдишка одног польз. в ряд имеджей другого польз.( т е при выводе картинки одного появятся картинки другого) 425---308---images/1363209425.jpg 424---308---images/1363209424.jpg 423---308---images/1363209421.jpg 422---308---images/1363209418.jpg 421---308---images/1363209416.jpg
Вопрос возник из того что когда юзеры будут вводить данные возможно ли что в потоке при паралельной добавке имеджей айдишник одного будет вписываться в поле другого юзера Это в идеале 425---308---images/1363209425.jpg 424---308---images/1363209424.jpg 423---308---images/1363209421.jpg 422---308---images/1363209418.jpg 421---308---images/1363209416.jpg Возможен ли косяк если одновременно несколько пользователей добавят по несколько имеджей Т е может ли айдишка одног польз. в ряд имеджей другого польз.( т е при выводе картинки одного появятся картинки другого) 425---308---images/1363209425.jpg 424---309---images/1363209424.jpg 423---309---images/1363209421.jpg 422---308---images/1363209418.jpg 421---308---images/1363209416.jpg
Спасибо за отклик igordata Код (Text): <?php include("conf.php"); error_reporting(0); define ("MAX_SIZE","400"); function getExtension($str) { $i = strrpos($str,"."); if (!$i) { return ""; } $l = strlen($str) - $i; $ext = substr($str,$i+1,$l); return $ext; } $errors=0; // Создайте базу // исплозуйте свои настройки имя пользователя , пароль // $connection является сылкой на соединение $slike = array(file, file1, file2, file3, file4,file5,file6,file7);// Добавте переменные в зависимость от количества добавляемых имеджей if($_SERVER["REQUEST_METHOD"] == "POST") { $filearray = array(); $filearray1 = array(); $k=0; foreach($slike as $slika){ $image =$_FILES[$slika]["name"]; $uploadedfile = $_FILES[$slika]['tmp_name']; if ($image) { $filename = stripslashes($_FILES[$slika]['name']); $extension = getExtension($filename); $extension = strtolower($extension); if (($extension != "jpg") && ($extension != "jpeg") && ($extension != "png") && ($extension != "gif")) { $change='<div class="msgdiv">Unknown Image extension </div> '; $errors=1; } else { $size=filesize($_FILES[$slika]['tmp_name']); if ($size > MAX_SIZE*1024) // макс размер имеджа { $change='<div class="msgdiv">You have exceeded the size limit!</div> '; $errors=1; } if($extension=="jpg" || $extension=="jpeg" ) { $uploadedfile = $_FILES[$slika]['tmp_name']; $src = imagecreatefromjpeg($uploadedfile); } else if($extension=="png") { $uploadedfile = $_FILES[$slika]['tmp_name']; $src = imagecreatefrompng($uploadedfile); } else { $src = imagecreatefromgif($uploadedfile); } echo $scr; list($width,$height)=getimagesize($uploadedfile); $newwidth=600; // новая ширина $newheight=($height/$width)*$newwidth; $tmp=imagecreatetruecolor($newwidth,$newheight); $newwidth1=60; // новая ширина миниатюры(thumb) $newheight1=($height/$width)*$newwidth1; $tmp1=imagecreatetruecolor($newwidth1,$newheight1); imagecopyresampled($tmp,$src,0,0,0,0,$newwidth,$newheight,$width,$height); imagecopyresampled($tmp1,$src,0,0,0,0,$newwidth1,$newheight1,$width,$height); $image_name=(time()+$k).'.'.$extension; $filename = "images/". $image_name; $filename1 = "images/small_". $image_name; imagejpeg($tmp,$filename,100); imagejpeg($tmp1,$filename1,100); $filearray[$k]= $filename; $filearray1[$k]= $filename1; $k++; $sql = mysql_query("SELECT id_add_car,model,date FROM add_new_car"); $maxrowid = mysql_fetch_array($sql); $id_insert = $maxrowid['id_add_car']; echo "<br /><br /><h2><b>".$id_insert."</b></h2><br /><br />"; $sql ="Insert into image_add_car (user_id,ap_id,big,small) VALUES ('$id_insert','2','$filename','$filename1')"; mysql_query($sql) or die(mysql_error()); imagedestroy($src); imagedestroy($tmp); imagedestroy($tmp1); }} } } //If no errors registred, print the success message if(isset($_POST['Submit']) && !$errors) { $change=' <div class="msgdiv">Image Uploaded Successfully!</div>'; } ?>
$slike = array(file, file1, file2, file3, file4, file5, file6, file7); // Добавте переменные в зависимость от количества добавляемых имеджей кавычки забыл Добавлено спустя 4 минуты 45 секунд: могут быть накладки, да. замени строку $image_name = (time() + $k) . '.' . $extension; на $image_name = (uniqid() . '-' . $k) . '.' . $extension; и всё, вопрос решен
Ok на счёт имен я понял! Спасибо за юник. А вот на счёт айдишки может ли при паралельной добавке id_txt одного посетителя случайно залететь к другому( т е при выводе картинки одного попадутся также некоторые картинки другого) id_im------id_txt 425---------308----------images/1363209425.jpg 424---------308----------images/1363209424.jpg 423---------308----------images/1363209421.jpg 422---------308----------images/1363209418.jpg 421---------308----------images/1363209416.jpg