|
|
|
| Смотрите, есть допустим форма для отправки текста и под ней возможность добавить фотографию, где будет возможность загрузки нескольких файлов, то есть будет кнопочка "+", при нажатии на которую будет добавлять еще одна форма для загрузки. Как сделать это в БД MySQL? для одного файла допустим я создам ячейку в которую будет записывать путь файла и все, а вот если несколько - все-равно создавать ячейки для каждой формы загрузки? такого типа img2, img3 и т.д.? | |
|
|
|
|
|
|
|
для: Belkin
(01.11.2011 в 19:38)
| | Можете все в одну ячейку кидать, можете в отдельную таблицу кидать имена файлов и идентификатор текста для связи | |
|
|
|
|
|
|
|
для: KPETuH
(01.11.2011 в 19:42)
| | А если в одну ячейку, то как название определенного изображение потом достать? ) | |
|
|
|
|
|
|
|
для: Belkin
(01.11.2011 в 21:50)
| | сделать разделитель а при извлечении из ячейки разбирать строку | |
|
|
|
|
|
|
|
для: 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>
порядок <input type="Text" name="ord[]" value="0" size="4">
название <input type="Text" name="tit[]" value="" size="25">
<input type="button" name="drop" value=" − " onclick="dropFile(this);"> <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
|
| |
|
|
|
|
|
|
|
для: elenaki
(01.11.2011 в 22:37)
| | Ну как бы ресайз не обязателен ) | |
|
|
|
|
|
|
|
для: elenaki
(01.11.2011 в 22:37)
| | Спасибо конечно ) | |
|
|
|