Ir para conteúdo

Arquivado

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

Marcello Ruoppolo

if dentro de um foreach

Recommended Posts

Galera, td certo?

 

Dúvida básica, não estou sabendo a sintaxe para fazer isso, eu tenho um formulário onde o usuário precisa selecionar o estado isso aciona uma função que busca a lista de cidades daquele estado, isso ai ja esta tudo pronto, funciona bem, o meu problema é na parte de edição, quado eu crio o formulário para editar isso o estado vem em branco e consequentemente as cidades também, por mais que eu traga o estado certo as cidades não vão vir preenchidas eu vou postar aqui o código:

 

Função que busca as cidades:

<!-- Função para buscar cidades -->
    <script type="text/javascript">      
      function buscar_cidades(){
        var estado = $('#estado').val();
        if(estado){
          var url = '../inc/config/config2.php?estado='+estado;
          $.get(url, function(dataReturn) {
            $('#load_cidades').html(dataReturn);
          });
        }
      }
    </script>

Formulário de Edição:

<?php

$sql = "SELECT * FROM tb_estados ORDER BY strEstadoNome ASC";
$res = mysql_query($sql) or die(mysql_error());
$num = mysql_num_rows($res);
for ($i = 0; $i < $num; $i++) {
$dados = mysql_fetch_array($res);
$arrEstados[$dados['intEstadoID']] = $dados['strEstadoNome'];
										
?>

<form method="post" action="organizador-eventos.php">
<select name="estado" id="estado" onchange="buscar_cidades()" class="selecter_3"  data-selecter-options='{"cover":"true"}'>
<option value="estado">Estado*</option>
<?php foreach ($arrEstados as $value => $name) {
echo "<option value='{$value}' ".if($ln['intEstadoID']==$value){echo "selected";}.">{$name}</option>";
}?>
</select><br>
<div id="load_cidades">
<select name="cidade" id="cidade" class="selecter_3" data-selecter-options='{"cover":"true"}'>
<option value="cidade">Cidade*</option>
</select>
</div>

O arquivo Config2.php

<?php
include('conexao.php');
$estado = $_GET['estado'];
$sql = "SELECT * FROM tb_cidades WHERE intEstadoID = $estado ORDER BY strCidadeNome";
$res = mysql_query($sql);
$num = mysql_num_rows($res);
for ($i = 0; $i < $num; $i++) {
  $dados = mysql_fetch_array($res);
  $arrCidades[$dados['intCidadeID']] = $dados['strCidadeNome'];
}
?>
<script type="text/javascript" src="js/site.min.js"></script>
<select name="cidade" id="cidade" class="selecter_3" data-selecter-options='{"cover":"true"}'>
  <?php foreach($arrCidades as $value => $nome){
    echo "<option value='{$value}'>{$nome}</option>";
  }
?>
</select>

Eu preciso conseguir dentro desses options colocar um if que vai me verificar se o value do campo é igual o valor salvo no banco de dados e se for vai dar um echo "selected"; mas não estou acertando fazer isso.

 

Alguém ai sabe como fazer?

 

 

Valew galera abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou no computador então da uma conferida na sintaxe posteriormente, mais tenho feito de un jeito que ten ajudado bastante

 

Fora do for ou foreach vc cria uma function que vai fazer a verificação se são iguais

 

function selected ($valor1, $ valor2){

if ($valor1 == $ valor2)

return 'selected';

}

Ajuda na velocidade de programação tbm

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.