Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Olá amigos!
Estou estudando PHP e MySQL e bolei um projeto para botar os conhecimentos em prática.
Criei um form para cadastro de usuário, onde tenho um item <select> que deve listar todos os bairros cadastrados no banco. Até aí tudo bem.
Mas quando já tiver sido selecionado um bairro, ao acessar a página "Editar informações", gostaria que já ficasse selecionado o bairro de acordo com a informação do banco.
**<?php **
**$query_b = "SELECT bai_id, bai FROM bairro";**
$result_b = mysqli_query($dbc, $query_b)/>/>;
**while($row = mysqli_fetch_array($result_b)/>/>) { ?>**
**<option value = "<?php echo $row['bai_id']; ?>"><?php echo $row['bai']; ?><br /></option>**
**<?php }?>**
**</select>**
Está ocorrendo de sempre estar selecionado o primeiro bairro e não o cadastrado.
Se alguém puder ajudar, agradeço.
Abraços!
<?php
$query_b = "SELECT bai_id, bai FROM bairro";
$result_b = mysqli_query($dbc, $query_B)/>/>;
while($row = mysqli_fetch_array($result_B)/>/>) {
if ($row['bai_id'] == $_GET['bai_id']) $selected = 'selected';
else $selected = '';
?>
<option value = "<?php echo $row['bai_id']; ?>" <?php echo $selected; ?>><?php echo $row['bai']; ?><br /></option>
<?php }?>
</select>
Quando você cria um select, nas OPTIONS existe um parametro chamado "SELECTED" que deve ser informado no OPTION que deseja estar selecionado inicialmenteAmigos, nenhuma das duas opções funcionou.
Ou mostra o último registro da tabela ou mostra apenas o selecionado na tabela.
Gostaria que mostrasse todas as opções cadastradas na tabela BAIRRO mas que ficasse selecionado o bairro correspondente ao ID cadastrado na tabela USUARIOS.
Mais alguma opção?
Tenho o seguinte:
<label for = "bairro_imob">Bairro:</label><select name = "bairro_imob" id = "bairro_imob" class = "form" style="width:200px;"> <?php $query = "SELECT bai_id, bai FROM bairro"; $result= mysqli_query($dbc, $query); while($row = mysqli_fetch_array($result)) { ?> <option value = "<?php echo $row['bai_id']; ?>"><?php echo $row['bai']; ?></option> <?php } ?></select>
Este código está listando todos os bairros cadastrados na tabela BAIRRO. Ok.
Tenho a tabela IMOVEIS onde consta a ID id_bairro que é uma chave estrangeira para a tabela BAIRROS, com os campos bai_id e bai.
Como posso mostrar selecionado o bairro cadastrado na tabela IMOVEIS em caso de ser necessário editar o cadastro do imóvel?
Se puder ajudar, agradeço.
cara, faz assim
mysql select imoveis bla bla (faz o select dos imoveis)
$bai_ID_imv = (aki você quarda a id do bairro onde o imovel está);
dai quando for exibir
<option value = "<?php echo $row['bai_id']; if($row['bai_id']==$bai_ID_imv) echo " selected "; ?>"><?php echo $row['bai']; ?></option>
*eu n pude conferir a sintaxe porque acabou o trial do meu Dreamweaver agora mesmo, haha
>
cara, faz assim
mysql select imoveis bla bla (faz o select dos imoveis)
$bai_ID_imv = (aki você quarda a id do bairro onde o imovel está);
dai quando for exibir
<option value = "<?php echo $row['bai_id']; if($row['bai_id']==$bai_ID_imv) echo " selected "; ?>"><?php echo $row['bai']; ?></option>
*eu n pude conferir a sintaxe porque acabou o trial do meu Dreamweaver agora mesmo, haha
Não deu certo, bro...
Tenho a impressão que devo fazer um select do tipo:
"SELECT id_bairro FROM imoveis WHERE imov_id = '$imov_id'"
Desta forma eu obtenho a ID do bairro cadastrada na tabela de imóveis.
Então eu faço outro select para buscar a lista de bairros cadastrados:
"SELECT bai_id, bai FROM bairro"
Nisso eu tenho a ID do bairro selecionado e a listagem de todos os bairros do banco.
Mas não estou conseguindo dar o "selected" no bairro selecionado.
O que chega nessas duas variáveis: $row['bai_id'] e $bai_ID_imv?
Consegui com sua ajuda, VACAMAN. =)
Segue o código:
<label for = "bairro_imob">Bairro:</label>
<select name = "bairro_imob" id = "bairro_imob" class = "form" style="width:200px;">
<?php
//Faço o select para obter a ID do bairro cadastrado para o imóvel
$query_bi = "SELECT id_bairro FROM imoveis WHERE imov_id = '$imov_id'";
$result_bi = mysqli_query($dbc, $query);
//Reservo o resultado na variável $result_bi
$bairro_imov = mysqli_fetch_array($result_bi);
//Faço o select para obter a listagem de bairros cadastrados
$query_b = "SELECT bai_id, bai FROM bairro";
$result_b = mysqli_query($dbc, $query_b);
while($row = mysqli_fetch_array($result_b)) { ?>
//Faço a comparação do resultado com a linha correspondente e escrevo o SELECTED
<option value = "<?php echo $row['bai_id']; ?>" <?php if($row['bai_id'] == $bairro_imov['id_bairro']) { echo 'selected'; }?>><?php echo $row['bai']; ?></option>
<?php } ?>
</select>
Muito obrigado a todos que deram sugestões.
Todas foram muito válidas para meu aprendizado.
Você tem que fazer uma condição para ver se está editando. Tente assim:
Desta forma, ao editar o conteudo o primeiro item de exibição será o conteudo gravado no banco.