0
My form is like this:
// pega o ID da URL
$id = isset($_GET['id']) ? (int) $_GET['id'] : null;
//Valida a variavel da URL
if (empty($id)){
echo "ID para alteração não definido";
exit;
}
$sql_selecao = "SELECT * FROM veiculos WHERE id=:id";
$result_selecao = $pdo->prepare($sql_selecao);
$result_selecao->bindParam(':id', $id, PDO::PARAM_INT);
$result_selecao->execute();
$resultado = $result_selecao->fetch(PDO::FETCH_ASSOC);
if(!is_array($resultado)){
echo "Nunhum id encontrado";
exit;
}
$marca = listaMarcas($pdo);
?>
<!-- os dois primeiros divs vêm do template-admin-->
<div id="page-wrapper">
<div class="row">
<body>
<h1>Formulário de Alteração de Dados</h1>
<form action="altera-veiculos.php" method="post" enctype="multipart/form-data">
<!--o tipo hidden esconde o campo-->
<table class="table">
<tbody>
<tr>
<td>Modelo:</td>
<td><input class="form-control" type="text" name="modelo" value="<?php echo $resultado['modelo']; ?>"></td>
</tr>
<tr>
<td>Ano:</td>
<td><input class="form-control" type="number" name="ano" value="<?php echo $resultado['ano']; ?>"></td>
</tr>
<tr>
<td>Versão:</td>
<td><input class="form-control" type="text" name="versao" value="<?php echo $resultado['versao']; ?>"></td>
</tr>
<tr>
<td>Cor:</td>
<td><input class="form-control" type="text" name="cor" value="<?php echo $resultado['cor']; ?>"></td>
</tr>
<tr>
<td>Câmbio:</td>
<td><input class="form-control" type="text" name="cambio" value="<?php echo $resultado['cambio']; ?>"></td>
</tr>
<tr>
<td>Portas:</td>
<td><input class="form-control" type="number" name="portas" value="<?php echo $resultado['portas']; ?>"></td>
</tr>
<tr>
<td>Valor:</td>
<td><input class="form-control" type="number" name="valor" value="<?php echo $resultado['valor']; ?>"></td>
</tr>
<tr>
<td>Descrição</td>
<td><textarea class="form-control" type="text" name="descricao">"<?php echo $resultado['descricao']; ?>"</textarea></td>
</tr>
<tr>
<td>Marca :</td>
<td>
<select name="marca_id" class="form-control">
<?php
foreach ($marca as $marcas) :
$essaEhAMarca = $resultado['marcas'] == $marcas['id'];
$selecao = $essaEhAMarca ? "selected='selected'" : "";
?>
<option value="<?= $marcas['id'] ?>" <?=$selecao?>>
<?= $marcas['nome'] ?>
</option>}
<?php
endforeach
?>
</select>
</td>
</tr>
<tr>
<td>Imagem</td>
<td><input type="file" name="arquivo"></td>
</tr>
<tr>
<td><button action="veiculos_cadastrados.php" class="btn btn-primary" type="submit">Alterar</button></td>
I also have this function implemented in a.php data file.:
function alteraVeiculo($pdo, $id, $modelo,$ano,$versao,$cor,$cambio,$portas,$valor,$descricao,$marcas,$tmp,$folder,$novoNome,$imagem){
$sql_alteracao = " UPDATE veiculos set modelo='{$modelo}', ano={$ano}, versao='{$versao}', cor='{$cor}', cambio='{$cambio}', portas={$portas}, valor={$valor}, descricao='{$descricao}' where id='{$id}'";
$insert_msg_alteracao = $pdo->prepare($sql_alteracao);
if ($insert_msg_alteracao->execute()){
echo "<script>location.href='veiculos_cadastrados.php?alterado=true';</script>";
die();
}else{
echo "<script>location.href='veiculos_cadastrados.php?alterado=false';</script>";
die();
}
This tag[id] is what you pass in Where in PHP after?
– Diego
Checks your query with SQL return,
UPDATE veiculos... RETURNING *;
;)– Rafael Nery
Because in set model='{$model}', {$model} is between single quotes and in year={$year}, ports={$ports}, value={$value} are not?
– user60252
So, tag is another table. I saw so on Alura.
– Julia Alves
Why I saw in video that should only have simple quotes where string
– Julia Alves
okay, that’s true
– user60252
The thing is ugly in HTML. Tag body after div tags. Of course this does not generate any error
– user60252
i made a simple test in my bank with only one field (Description) and could only update so $sql_change = "UPDATE vehicles set Description='$Description' Where id='$id'";
– user60252
these variables $id, $model, $year, $version, $color ..... are being created as?
– user60252