Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Enigma_Boy

Upload e registar várias fotos na BD

Recommended Posts

Boas meus amigos, eu estou a usar um sistema de envio de fotos para o servidor, o problema é que envio uma de cada vez, e queria enviar daquele genero que no upload posso selecionar todas as fotos que quero e ele regista e envia tudo de uma só ves..

 

actualmente uso o seguinte

 

Página que envia e regista o produto, foto..

 

<?php

session_start();

include('logout.php');

if($_SESSION['login']!=1) {

	header('Location: index.php');

} else {

	include('connect_DB_open.php');

	$result = mysql_query("SELECT * FROM admin_users WHERE id='".$_SESSION['id']."'");

	$row = mysql_fetch_array($result);

	if($_GET['action']=='add_product') {


		$id_cat=$_POST['combobox'];


		if($id_cat!='') {

			mysql_query("INSERT INTO produtos (subcategoria) VALUES ('".$id_cat."')") or die (mysql_error());

			include('upload_fotos.php');

		}

	}


	if($_GET['action']=='remove') {

		$id=$_GET['id'];

		$result = mysql_query("SELECT * FROM produtos WHERE id='".$id."'");

		$row = mysql_fetch_array($result);

		if($row['foto1']!='') {

			unlink("imagens_produtos/".$row['foto1']."");

		}

		mysql_query("DELETE FROM produtos WHERE id=$id") or die (mysql_error());

	}

}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-type" content="text/html; charset=utf-8" />

<title>Administração </title>

<link rel="stylesheet" href="css/style.css" type="text/css" media="all" />

   <!-- TinyMCE -->

<script type="text/javascript" src="jscripts/tiny_mce/tiny_mce.js"></script>

<script type="text/javascript">

tinyMCE.init({

       // General options

       mode : "textareas",

       theme : "advanced",

       plugins : "autolink,lists,spellchecker,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",



       // Theme options

       theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect,fontselect,fontsizeselect",

       theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",

       theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",

       theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,spellchecker,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,blockquote,pagebreak,|,insertfile,insertimage",

       theme_advanced_toolbar_location : "top",

       theme_advanced_toolbar_align : "left",

       theme_advanced_statusbar_location : "bottom",

       theme_advanced_resizing : true,



       // Skin options

       skin : "o2k7",

       skin_variant : "silver",



       // Example content CSS (should be your site CSS)

       content_css : "css/example.css",



       // Drop lists for link/image/media/template dialogs

       template_external_list_url : "js/template_list.js",

       external_link_list_url : "js/link_list.js",

       external_image_list_url : "js/image_list.js",

       media_external_list_url : "js/media_list.js",



       // Replace values for the template plugin

       template_replace_values : {

               username : "Some User",

               staffid : "991234"

       }

});

</script>

   <style type="text/css">

<!--

.style1 {color: #BA4C32}

-->

   </style>

</head>

<body>

<!-- Header -->
<div id="header">
 <div class="shell">
   <!-- Logo + Top Nav -->
   <div id="top">
     <h1><a href="#">Administração</a></h1>
     <div id="top-navigation"> Bem Vindo <a href="#"><strong><?php echo $row['username']; ?></strong></a> <span>|</span> <a href="../index.php">Ver o site</a><span>|</span> <a href="?action=logout">Log out</a> </div>
   </div>
   <!-- End Logo + Top Nav -->
   <!-- Main Nav -->
   <div id="navigation">
     <ul>
       <li><a href="categorias.php"><span>Categorias </span></a></li>
       <li><a href="subcat.php" ><span>Marcas</span></a></li>
       <li><a href="produtos.php"><span>Fotos</span></a></li>
<li><a href="../admin_loja/categorias.php"><span>Admin loja</span></a></li>
     </ul>
   </div>
   <!-- End Main Nav -->
 </div>
</div>
<!-- End Header -->



<!-- Container -->

<div id="container">

<div class="shell">



	<!-- Small Nav --><!-- End Small Nav -->



	<!-- Message OK --><!-- End Message OK -->		



	<!-- Message Error -->

  <!-- End Message Error --><br />

	<!-- Main -->

	<div id="main">

		<div class="cl"> </div>



		<!-- Content -->

		<div id="content">



			<!-- Box -->

			<div class="box">

				<!-- Box Head -->

				<div class="box-head">

					<h2 class="left">Produtos registados</h2>

			  </div>

				<!-- End Box Head -->	



				<!-- Table -->

				<div class="table">

					<table width="100%" border="0" cellspacing="0" cellpadding="0">

						<tr>

							<th width="237" height="31"><div align="center">Foto</div></th>

							<th width="189" class="ac"><div align="center">Categoria</div></th>

						    <th width="167" class="ac"><div align="center">Subcategoria</div></th>

						    <th width="155" class="ac"><div align="center">Painel Controlo</div></th>
						</tr>

						<tr>

                         <?php

			$result = mysql_query("SELECT * FROM produtos ORDER BY nome ASC") or die (mysql_error());

			$cont=0;

			while($row2 = mysql_fetch_array($result))

			{

				$result2 = mysql_query("SELECT * FROM sub_categorias WHERE id='".$row2['subcategoria']."'") or die (mysql_error());

				$row3 = mysql_fetch_array($result2);

				$result2 = mysql_query("SELECT * FROM categorias WHERE id='".$row3['categoria_id']."'") or die (mysql_error());

				$row4 = mysql_fetch_array($result2);

			?>

							<td><h3 align="left" class="style1"><?php
				if($row2['foto1']!='') {
					?><a class="toc"><img  src='imagens_produtos/<?php echo $row2['foto1']; ?>' width="200" /></a><br />
                 <br />
                             <?php
				}

			  ?></h3></td>

							<td><div align="left"><?php echo $row4['nome']; ?></div></td>

						    <td><div align="left"><?php echo $row3['nome']; ?></div></td>

						    <td><div align="left"><a href="?action=remove&id=<?php echo $row2['id'];?>" class="ico del">Remover</a><a href="edit-produtos.php?id=<?php echo $row2['id']; ?>" class="ico edit">Editar</a><a href="info-produtos.php?action=view&id=<?php echo $row2['id']; ?>" class="ico info">info</a></div></td>
						</tr>

                           <?php

				$cont++;

			}

			if($cont==0) {

			?>

                         <tr>

                           <td colspan="6"> Sem produtos!</td>
                         </tr>

                         <?php

			}

			?><strong></strong>
                       </table>





<p>

		              <!-- Pagging -->

	              </p>

		            <p> </p>

                   </div>

				<!-- Table -->



			</div>

			<!-- End Box -->



			<!-- Box -->

			<div class="box">

				<!-- Box Head -->

			  <div class="box-head">

					<h2>Adicionar novo produto</h2><a name="addpro" id="addcat"></a>					</div>

				<!-- End Box Head -->

				<form id="form1" name="form1" method="post" action="?action=add_product" enctype='multipart/form-data'>

				<table width="83%" border="0" align="center" cellpadding="0" cellspacing="0" bordercolor="#0000FF" id="addsubcat">

               <tr>

                 <td width="24%" height="65"><table width="200" border="0" cellspacing="0" cellpadding="0">

                     <tr>

                       <td height="30"><strong>Adicionar a subcategoria </strong></td>
                   </tr>

                     <tr>

                       <td><select id='combobox' class="field size3" name='combobox'>

                         <?php

					$cont=0;

					$result = mysql_query("SELECT * FROM categorias ORDER BY nome ASC");

					while($row3 = mysql_fetch_array($result))

					{

						?>

                         <option disabled='disabled'><?php echo $row3['nome']; ?></option>

                         <?php

						$result2 = mysql_query("SELECT * FROM sub_categorias WHERE categoria_id='".$row3['id']."' ORDER BY nome ASC");

						while($row4 = mysql_fetch_array($result2))

						{

						?>

                         <option <?php if($cont==0) {?>selected=selected <?php } ?> value=<?php echo $row4['id']; ?> > - <?php echo $row4['nome']; ?></option>

                         <?php

							$cont++;

						}



					}

					?>

                       </select></td>
                     </tr>

                   </table></td>
                </tr>
             </table>



                   <p>

                     <!-- End Form -->

                   </p>

                   <table width="250" border="0" align="center" cellpadding="0" cellspacing="0">

                     <tr>

                       <td width="250" height="33"><strong>Fotos</strong></td>

                     </tr>

                     <tr>

                       <td><p class="style1">Foto 1:  

                           <input type="file" class="button"  name="image1">

                       </p>

			  <p class="style1"> </p>

			  </td>

                     </tr>

                   </table>

                   <p> </p>

                   <p>



                     <!-- Form Buttons -->

                   </p>

       <div class="buttons">

					  <input type="submit" class="button" value="Adicionar" />

					</div>

					<!-- End Form Buttons -->

				</form>		</div>

			<!-- End Box -->



		</div>

		<!-- End Content -->



		<!-- Sidebar -->

           <div id="sidebar">



			<!-- Box -->

			<div class="box">



				<!-- Box Head -->

				<div class="box-head">

					<h2>Produtos</h2>

				</div>

				<!-- End Box Head-->



				<div class="box-content">

					<a href="#addpro" class="add-button"><span>Adicionar produto</span></a>

			        <div class="cl"> 

					  <!-- Sort -->

					</div>



					<!-- End Sort -->

</div>

		  </div>

			<!-- End Box -->

		</div>

	  <!-- End Sidebar -->



	  <div class="cl"> </div>			

	</div>

	<!-- Main -->

</div>

</div>

<!-- End Container -->





</body>

</html>

 

o include upload-fotos é o seguinte

 

<?php
$foto1 = $_FILES['image1'];
// Se a foto estiver sido selecionada
if (!empty($foto1["name"])) {
$id=0;
$result2 = mysql_query("SELECT * FROM produtos ORDER BY id ASC");
while($row5 = mysql_fetch_array($result2))
{
	$id=$row5['id'];

}
// Verifica se o arquivo é uma imagem
if(!eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $foto1["type"])){
   $error[1] = "Imagem inválida";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
//if($foto["size"] > $tamanho) {
//	$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
//}

// Se não houver nenhum erro
if (count($error) == 0) {

	// Pega extensão da imagem
	preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto1["name"], $ext);

	// Gera um nome único para a imagem
	$nome_imagem = md5(uniqid(time())) . "." . $ext[1];


	// Caminho de onde ficará a imagem
	$caminho_imagem = "imagens_produtos/" . $nome_imagem;



	// Faz o upload da imagem para seu respectivo caminho
	$files = move_uploaded_file($foto1["tmp_name"], $caminho_imagem);
	mysql_query("UPDATE produtos SET foto1='".$nome_imagem."' WHERE id='".$id."'") or die (mysql_error());
	// Se os dados forem inseridos com sucesso


}

// Se houver mensagens de erro, exibe-as
if (count($error) != 0) {
	foreach ($error as $erro) {
		echo $erro ."<br />";

	}
}
}
?>

 

o que devo alterar para poder enviar várias fotos ao mesmo tempo, criar cada uma é como se fosse um produto diferente para a subcategoria... por ex: para adicionar fotos a marca de carro BMW tenho de adicionar 1 por 1 e queria poder selecionar todas as que quiser para enviar de uma só ves e que me registase cada fotos por id's diferente para evitar conflitos com a actual configuração de listagens e etc..

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

o que devo alterar para poder enviar várias fotos ao mesmo tempo

bom cara, ai eu conheço alguns bons plugins que usam flash, para abrir a janelinha de multipla seleção

 

http://demo.swfupload.org/v220/index.htm

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.