• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

subkiller

imagens na base de dados

4 mensagens neste tópico

boas

mais uma vez, la venho eu chatear-vos...  :)

tou com dificuldades em criar uma pagina de admin onde tenho de inserir imagens, e cada imagem tera informaçoes...

mas estou com duvidas de como fazer...

vou passar a mostrar o codigo.

tenho tres funçoes para mostrar conteudo, mostrar fotos e apagar fotos.

_ mostrar conteudo:

<?php
function show_content($record_id)
{

include "server_info.php";

if(!($id = mysql_connect($server, $username, $password))) 
{
       return 0;
    }

if (mysql_select_db($database, $id))
{
        $query="SELECT * FROM maquinas WHERE id=$record_id";
        $res=mysql_query($query, $id) or die (mysql_error());
        if (mysql_num_rows($res)>0)
	{
            $reg=mysql_fetch_row($res);
            mysql_free_result($res);
            mysql_close();
            return $reg;
        }
	else
	{
            echo "<p><font color='red'>Registo inexistente</font></p>";
            mysql_free_result($res);
            mysql_close();
            return 0;
        }
    }
else
{
        mysql_close();
        return 0;
    }
}

if (isset($_POST["store"]))
{
    $id=$_POST["id"];
    $nome=$_POST["nome"];
    $descricao=$_POST["descricao"];
$caracteristicas=$_POST["caracteristicas"];
    $dados_tecnicos=$_POST["dados_tecnicos"];

    if ($nome<>"" && $descricao<>"" && $caracteristicas<>"" && $dados_tecnicos<>"")
{
          if ($id<>"")
	  {
            $query="UPDATE maquinas SET nome='$nome', descricao='$descricao', caracteristicas='$caracteristicas', 
		dados_tecnicos='$dados_tecnicos' WHERE id='$id'";
          }
          if (isset($query))
	  {
            if (execute_query($query))
		{
                $error="<p><font color='green'>Registo gravado com sucesso</font></p>";
            }
            else
		{
                $error="<p><font color='red'>Erro ao gravar na base de dados</font></p>";
            }
          }
    }
else
{
        $error="<p><font color='red'>Preencher campos obrigatórios</font></p>";
}
}
?>

_ listar fotos

<?php
function list_fotos($pag) 
{
	include "server_info.php";

         $n_reg = 12;
         $first_reg = $pag*$n_reg;
         if(!($id = mysql_connect($server, $username, $password))) 
	 {
                  return 0;
         }

        if(mysql_select_db($database, $id)) 
	{
            $query = "SELECT id FROM maquinas";
            $res = mysql_query($query);
            $total_reg = mysql_num_rows($res);
            mysql_free_result($res);
            $query = "SELECT * FROM maquinas ORDER BY id ASC LIMIT $first_reg, $n_reg";
            $res = mysql_query($query, $id);
            echo"<center>";
            echo"<form action = admin_maquinas.php method = POST enctype = multipart/form-data>";
            echo"<table border = 0 cellspacing = 0 cellpadding = 0>";
            echo"<tr>";
            $count = 0;
            if(mysql_num_rows($res) > 0) 
		{
                while($reg = mysql_fetch_row($res)) 
			{
                    if($count == 4) 
				{
                        $count = 0;
                        echo"</tr><tr>";
                    }
                    echo"<td>";
                    echo"<table border = 0 class = tableGrid width = 125 cellspacing = 0 cellpadding = 0 \n ";
                    echo"<tr>";
                    echo"<td class = tdLine><img src = ../$reg[1] width = 100></td>";
                    echo"<td class = tdLine width = 25><input type = checkbox name = selected[] value = $reg[0]></td></tr>";
                    echo"</table>";
                    $count = $count+1;
                    echo"</td>";
                }
                echo"</tr>";
            echo"<table border = 0 cellspacing = 0, cellpadding = 0>";
            echo"<tr><td width = 80><p class = text><h6>Imagem: $i</h6></p></td><td><input type = file name = image_file$i size = 20 class = text></td></tr>";	   
            echo"</table>";
            echo"<p><input type = submit name = insert value = inserir class = cmdForm>";
            echo"</form>";
            echo"</center>\n";

            mysql_free_result($res);
            mysql_close();
            return 1;
        }
        else 
	{
            mysql_close();
            return 0;
        }
	}
}
?>

_ apagar fotos

<?php
function delete_fotos($record_id) 
{
        include "server_info.php";

         if (!($id = mysql_connect($server, $username, $password))) 
	 {
            return 0;
         }

         if(mysql_select_db($database, $id)) 
	 {
            $query = "SELECT * FROM maquinas WHERE id = $record_id";
            $res = mysql_query($query, $id);
            if(mysql_num_rows($res) > 0) 
		{
               $reg = mysql_fetch_row($res);
               unlink("../$reg[1]");
            }
            mysql_free_result($res);
            mysql_close();
            return 1;
         }
         else 
	 {
              mysql_close();
              return 0;
         }
}
?>

depois tenho o php dentro do html

<?php
//inicio - se carregar no insert

if(isset($_POST["insert"])) 
{
for($i = 1; $i <=3; $i++) 
{
        $image_file = "image_file$i";
        if(isset($_FILES["$image_file"])) 
	{
            if($_FILES["$image_file"]["name"] <> "") 
		{
                $file_name = $_FILES["$image_file"]["name"];
                $file_type = $_FILES["$image_file"]["type"];
                $file_size = $_FILES["$image_file"]["size"];
                if((strpos($file_type, "gif") || strpos($file_type, "jpeg")) && ($file_size < 2500000)) 
			{
                    $file_name_trim = str_replace(" ", "", $file_name);
                    $new_image_file_url = "fotos_imgs/$file_name_trim";
                    if(move_uploaded_file($_FILES["$image_file"]['tmp_name'], "../$new_image_file_url")) 
				{
                        $data_criacao = date("Y-m-d");
                        $query = "INSERT INTO maquinas (caminho) VALUES ('$new_image_file_url')";
                        execute_query($query);
                    }
                    else 
				{
                        echo"<p><font color='red'>Erro ao carregar o ficheiro</font></p>";
                        exit;
                        return 0;
                    }
                }
                else 
			{
                    echo"<p><font color='red'>A extensão ou o tamanho do ficheiro nao é correcta</font></p>";
                    return 0;
                }
            }
        }
    }
}
    
//fim - se carregar no insert
?>

<?php
//inicio - se carregar no delete
if(isset($_POST["delete"])) 
{
    if(isset($_POST["selected"])) 
{
        $selected = $_POST["selected"];
        $query = "DELETE FROM maquinas WHERE id = -1";
        for($i = 0; $i < sizeof($selected); $i++) 
	{
            delete_fotos($selected[$i]);
            $query = "$query OR id_foto = $selected[$i]";
        }
        if(execute_query($query)) 
	{
            echo"<p><font color='green'>Registos eliminados com êxito</font></p>";
        }
        else 
	{
		echo"<p><font color='red'>Erro no acesso da base de dados</font></p>";
        }
    }
    else 
{
    echo"<p class = labelOp> </p>";
    }
}
?>

<?php
if (isset($_POST["store"]))
{
        echo "<form action=admin_maquinas.php method=POST>";
        echo "<input type=hidden name=id value='$id'>";
        echo "<h6>Nome: </h6><input type=text name=mnome value='$nome' class=text>";
        echo "<h6>Descricao: </h6><><textarea rows=13 cols=50 name=descricao class=text >$descricao</textarea>";
        echo "<h6>Caracteristicas: </h6>><textarea rows=13 cols=50 name=caracteristicas class=text >$caracteristicas</textarea";
	echo "<h6>Dados Tecnicos: </h6>><textarea rows=13 cols=50 name=dados_tecnicos class=text >$dados_tecnicos</textarea";
	echo "<br/><br/><br/>";
        echo "<input type=submit name=store value=guardar>";
	echo "</form>";
    }
    else
{
        $reg=show_content(1);

        if ($reg)
	{
		echo "<form action=admin_maquinas.php method=POST>";
		echo "<input type=hidden name=id value='$reg[0]'>";
		echo "<h6>Nome: </h6><input type=text name=mnome value='$reg[1]' class=text>";
		echo "<h6>Descricao: </h6><><textarea rows=13 cols=50 name=descricao class=text >$reg[2]</textarea>";
		echo "<h6>Caracteristicas: </h6>><textarea rows=13 cols=50 name=caracteristicas class=text >$reg[3]</textarea>";
		echo "<h6>Dados Tecnicos: </h6>><textarea rows=13 cols=50 name=dados_tecnicos class=text >$reg[4]</textarea>";
		echo "<br/><br/><br/>";
		echo "<input type=submit name=store value=guardar>";
		echo "</form>";
        }
        else
	{
		echo "<p><font color='red'>Erro no acesso a base de dados</font></p>";
	}
}

echo "</center>\n";
?>

o meu problema é que tenho de inserir as imagens com a informaçao na pagina HTML e em algumas vou ter de inserir 2 vezes mas nao estou a conseguir e gostava de ver outras sugestoes...

abraço

p.s. espero ter-me explicado bem :)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Manda só o código que interessa e elabora a tua dúvida. Acho que ninguém está aqui para fazer debug ao teu código.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

lol, desculpem é que estou a ver-me a nora com isto...

o que eu pretendo fazer é uma pagina de administrador onde possa inserir imagens. essas imagens terao informaçao como caracteristicas, nome, etc. e vao se varias imagens na mesma pagina e eu tenho de listar no html todas as imagens com respectiva informaçao...

mas ai é que eu tenho duvidas e nao sei bem como fazer e por isso mostrei o codigo no primeiro post das minhas funçoes na pagina do admin...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora