Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как можно организовать?
 
 автор: Belkin   (01.11.2011 в 19:38)   письмо автору
 
 

Смотрите, есть допустим форма для отправки текста и под ней возможность добавить фотографию, где будет возможность загрузки нескольких файлов, то есть будет кнопочка "+", при нажатии на которую будет добавлять еще одна форма для загрузки. Как сделать это в БД MySQL? для одного файла допустим я создам ячейку в которую будет записывать путь файла и все, а вот если несколько - все-равно создавать ячейки для каждой формы загрузки? такого типа img2, img3 и т.д.?

  Ответить  
 
 автор: KPETuH   (01.11.2011 в 19:42)   письмо автору
 
   для: Belkin   (01.11.2011 в 19:38)
 

Можете все в одну ячейку кидать, можете в отдельную таблицу кидать имена файлов и идентификатор текста для связи

  Ответить  
 
 автор: Belkin   (01.11.2011 в 21:50)   письмо автору
 
   для: KPETuH   (01.11.2011 в 19:42)
 

А если в одну ячейку, то как название определенного изображение потом достать? )

  Ответить  
 
 автор: KPETuH   (01.11.2011 в 22:13)   письмо автору
 
   для: Belkin   (01.11.2011 в 21:50)
 

сделать разделитель а при извлечении из ячейки разбирать строку

  Ответить  
 
 автор: elenaki   (01.11.2011 в 22:37)   письмо автору
 
   для: Belkin   (01.11.2011 в 19:38)
 

скрипт взят с ЭТОГО форума:

<script>
function dropFile(btn) 

  if(document.getElementById) 
  { 
    while (btn.tagName != 'TR') btn = btn.parentNode; 
    btn.parentNode.removeChild(btn); 
  } 

function addFile(btn) 

  if(document.getElementById) 
  { 
    while (btn.tagName != 'TR') btn = btn.parentNode; 
    var newTr = btn.parentNode.insertBefore(btn.cloneNode(true),btn.nextSibling); 
    thisChilds = newTr.getElementsByTagName('td'); 
    for (var i = 0; i < thisChilds.length; i++) 
    { 
      if (thisChilds[i].className == 'files') thisChilds[i].innerHTML = '<input size="32" name="att[]" class=input type="file">'; 
    } 
  } 


</script>



этот код надо добавить в конец формы


<tr bgcolor="#dddddd">
    <td class="text">Фотографии:</td>
    <td><input type="file" size="25" name="att[]" class=input>&nbsp;
    порядок &nbsp;&nbsp;<input type="Text" name="ord[]" value="0" size="4">&nbsp;&nbsp;
    название &nbsp;&nbsp;<input type="Text" name="tit[]" value="" size="25">&nbsp;&nbsp;
    <input type="button" name="drop" value=" &minus; " onclick="dropFile(this);">&nbsp;<input type="button" value=" + " onclick="addFile(this);"></td> 
    
</tr>


а это кусок обработчика формы:


        /// add photos
for ($i=0; $i < count($_FILES['att']['name']); $i++) {        
 if ($_FILES['att']['tmp_name'][$i] != "") {
  $size = getimagesize($_FILES['att']['tmp_name'][$i]);
  
 
    $size0=700;
    $size1=700/$size[0]*$size[1];
    $size2=500;
    $size3=500/$size[0]*$size[1];

            
    $src_img=imagecreatefromjpeg($_FILES['att']['tmp_name'][$i]); 
    $dst_img=imagecreatetruecolor($size0, $size1); 
    $dst_img1=imagecreatetruecolor($size2, $size3); 
    imagecopyresampled($dst_img, $src_img, 0, 0, 0, 0, $size0, $size1, $size[0], $size[1]);
    imagecopyresampled($dst_img1, $src_img, 0, 0, 0, 0, $size2, $size3, $size[0], $size[1]);
    imagejpeg($dst_img, "../../photos/".$_FILES['att']['name'][$i], 90); 
    imagejpeg($dst_img1, "../../photos/s_".$_FILES['att']['name'][$i], 90); 
    imagedestroy($src_img); 
    imagedestroy($dst_img);
    imagedestroy($dst_img1);
    
 $sql = "INSERT into ".$db_prefix."pages_photos  values(
     NULL,  
     '".$page_id."', 
     '".$_FILES['att']['name'][$i]."', 
     '".$_POST['ord'][$i]."',
     '".$_POST["tit"][$i]."'
     )";
     
   // run SQL 
// echo $sql; exit;
     $result = mysql_query($sql) or die(" error in photo_query ".mysql_error()); 
 
  
}//==================== end of upload photo

  Ответить  
 
 автор: KPETuH   (01.11.2011 в 22:45)   письмо автору
 
   для: elenaki   (01.11.2011 в 22:37)
 

Ну как бы ресайз не обязателен )

  Ответить  
 
 автор: Belkin   (01.11.2011 в 22:55)   письмо автору
 
   для: elenaki   (01.11.2011 в 22:37)
 

Спасибо конечно )

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования