nesta tabela será enviado as informações normais sobre o veículo menos os campos arquivo,arquivo1,arquivo2,arquivo3 e arquivo4 que são fotos dos veículos(apenas o nome será gravado no banco).
O meu problema é o seguinte por ser apenas o nome o comando update não está funcionando. Os códigos seguem abaixo:
lista.php (lista todos os registros do banco, com a opção de atualizar o campo desejado não se esquencendo de atualizar apenas o registro desejado)
$sql = "update veiculo set arquivo='".$arquivo_nome."' where id=".$id; //nesta parte não está funcionando o comando update junto com o id, eu preciso do id para identificar o registro a ser alterado senão altera todos os registros com a mesma imagemmysql_query($sql);
mysql_close();
//arquivos suportados
$info = "nome do arquivo: <b>" . $arquivo_nome . "</b><br>\n";
echo "<a href=\"form.php\">Voltar para upload</a>";
echo "<br>";
echo "<a href=\"lista.php\">Voltar para lista</a>";
}
?>
espero que vocês tenha entendido, caso tenham dúvida podem postar aqui ou enviar um email para mim eduardococite@MSN.com.
Estou a praticamente a dois dias tentando resolver isso, as vezes pode ser alguma coisa boba que nõa esteja observando por não ter experiência com o php ainda.
Pergunta
Eduardo Cocite
tenho uma tabela com a seguinte estrutura:
CREATE TABLE `veiculo` (
`id` int(11) NOT NULL auto_increment,
`marca` varchar(35) default '',
`veiculo` varchar(35) default '',
`modelo` varchar(35) default '',
`cor` varchar(30) default '',
`ano` int(11) default '0',
`comb` varchar(15) default '',
`opcionais` text,
`diac` int(11) default '0',
`mesc` int(11) default '0',
`anoc` int(11) default '0',
`datacad` int(11) default '0',
`valor` float default '0',
`arquivo` varchar(100) default '',
`arquivo1` varchar(100) default '',
`arquivo2` varchar(100) default '',
`arquivo3` varchar(100) default '',
`arquivo4` varchar(100) default '',
PRIMARY KEY (`id`)
) TYPE=MyISAM;
nesta tabela será enviado as informações normais sobre o veículo menos os campos arquivo,arquivo1,arquivo2,arquivo3 e arquivo4 que são fotos dos veículos(apenas o nome será gravado no banco).
O meu problema é o seguinte por ser apenas o nome o comando update não está funcionando. Os códigos seguem abaixo:
lista.php (lista todos os registros do banco, com a opção de atualizar o campo desejado não se esquencendo de atualizar apenas o registro desejado)
<?
echo "<center>";
$cn = mysql_connect("localhost", "root", "");
mysql_select_db("acheiveiculo");
$sql = "Select * from veiculo";
$result = mysql_query($sql);
if ($total_de_linhas == 0)
{
$total_de_linhas = mysql_num_rows($result);
echo "Sua busca retornou <b>'$total_de_linhas'</b> resultados.<br>\n";
echo "<hr>\n";
if ($total_de_linhas)
{
echo "<center>";
echo "<h2>Lista de Veículos</h2>";
echo "<hr>";
echo "<table border=1px width=100% cellpadding=0 cellspacing=0>\n";
echo "<tr>";
echo "<td align=center><b>Código<b></td>";
echo "<td align=center><b>Veículo</b></td>";
echo "<td align=center><b>Conteúdo Foto frente</b></td>";
echo "<td align=center><b>Foto Frente</b></td>";
echo "<td align=center><b>Foto Trás</b></td>";
echo "<td align=center><b>Foto Lateral</b></td>";
echo "<td align=center><b>Foto Painel</b></td>";
echo "<td align=center><b>Foto Diversos</b></td>";
echo "</tr>";
while($dados = mysql_fetch_array($result))
{
echo "<tr>\n";
echo "<td align=center>".$dados[id]."</td>\n";
echo "<td align=center>".$dados[veiculo]."</td>\n";
echo "<td align=center>".$dados[arquivo]."</td>\n";
echo "<td align=center><a href=form.php?id=.$dados["id].">Inserir</a></td>";
echo "<td align=center><a href=form1.php?id=".$dados["id"].">não Inserir</a></td>";
echo "<td align=center><a href=form2.php?id=.$dados["id].">não Inserir</a></td>";
echo "<td align=center><a href=form3.php?id=".$dados["id"].">não Inserir</a></td>";
echo "<td align=center><a href=form4.php?id=.$dados["id].">não Inserir</a></td>";
echo "</tr>";
}
echo "</table>\n";
echo "<hr>";
}
else
{
echo "<b>Nenhum Veículo cadastrado!</b>";
}
}
echo "<br>";
echo "<br>";
?>
form.php (formulário de upload do arquivo)
<?
$cn = mysql_connect("localhost", "root", "");
mysql_select_db("acheiveiculo");
$sql="select * from veiculo where id=".$id;
mysql_query($sql);
$dados = mysql_query($sql);
//$total = mysql_num_rows($result_id);
//if ($total)
//{
// $dados = mysql_fetch_array($result_id);
//}
//else
//{
// echo"Nenhum Veículo Cadastrado.";
//}
?>
<form action="upload.php" enctype="multipart/form-data" method="post" name="upload">
<input type="file" name="arquivo" size="40">
<input type="submit" value="upload!">
<input type=hidden name=id value=<?php echo $dados["id"];?>>
</form>
upload.php (onde está o problema no comando update)
<?
$cn = mysql_connect("localhost", "root", "");
mysql_select_db("acheiveiculo");
$sql1=select * from veiculo where id=".$id;
mysql_query($sql1);
$dados = mysql_query($sql);
if(isset($_FILES["arquivo])){
$arquivo = $_FILES["arquivo"];
$pasta_dir = "figuras/";
$arquivo_nome = $pasta_dir . $arquivo["name"];
// Faz o upload da imagem
move_uploaded_file($arquivo["tmp_name"], $arquivo_nome);
$sql = "update veiculo set arquivo='".$arquivo_nome."' where id=".$id; //nesta parte não está funcionando o comando update junto com o id, eu preciso do id para identificar o registro a ser alterado senão altera todos os registros com a mesma imagemmysql_query($sql);
mysql_close();
//arquivos suportados
$info = "nome do arquivo: <b>" . $arquivo_nome . "</b><br>\n";
$info.= "diretório: <b>" . $pasta_dir . "</b><br>\n";
$info.= "nome temporário do arquivo: <b>" . $arquivo . "</b><p>\n";
$info.= "arquivo enviado com sucesso!<br>\n";
$info.= "<b>Cópia</b> funcionando ok!<p>\n";
$info.= "<img alt=\"".$arquivo_nome."\" src=\"".$pasta_dir.$arquivo_name."\">";
echo($info);
echo "<br>";
echo "<a href=\"form.php\">Voltar para upload</a>";
echo "<br>";
echo "<a href=\"lista.php\">Voltar para lista</a>";
}
?>
espero que vocês tenha entendido, caso tenham dúvida podem postar aqui ou enviar um email para mim eduardococite@MSN.com.
Estou a praticamente a dois dias tentando resolver isso, as vezes pode ser alguma coisa boba que nõa esteja observando por não ter experiência com o php ainda.
Agradeço.
Link para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.