Array
(
    [0] => stdClass Object
        (
            [Votos_Balanceados] => 1
            [id] => 526349
            [titulo] => Executar ação ao selecionar item do combo.
            [dataCadastro] => DateTime Object
                (
                    [date] => 2015-07-20 20:27:44
                    [timezone_type] => 3
                    [timezone] => America/Sao_Paulo
                )

            [isFirstPost] => -1
            [idUsuario] => 269142
            [status] => A
            [isExample] => 
            [NomeUsuario] => William 
            [Apelido] => William (Devwilliam)
            [Foto] => 269142_20150809195205.jpg
            [Conteudo] => Marcos para começar, por gentileza utilize a tag code quando for postar trechos de código fonte:
[img]http://arquivo.devmedia.com.br/forum/imagem/269142-20150720-202225.png[/img]

Quanto ao seu código, já postei diversas vezes aqui, não é recomendado utilizar a extensão mysql_ pois a mesma já está marcada como deprecate, recomendo a extensão PDO no meu blog possui muito material sobre isso [url:descricao=devwilliam.com.br]http://www.devwilliam.com.br[/url]

O seu código estava meio bagunçado com variáveis perdidas, + ou - como eu faria:
[code]
<form action="listarpesquisa.php" method="post">
<select name="delegacia">
<option value="0" selected="selected">Selecione uma delegacia</option>
<?php
$sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
$stm = $pdo->prepare($sql);
$stm->execute();
$dados = $stm->fetchAll(PDO::FETCH_OBJ);

foreach($dados as $delegacia):
?>
<option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
<?php endforeach; ?>
</select>
<input type="hidden" name="acao" value="buscar"/>
<input type="submit" value="Buscar"/>
</form>


<?php if(isset($_POST['acao']) && $_POST['acao'] == 'buscar'):
$id_delegacia = $_POST['delegacia'];

$busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
$busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
$stm = $pdo->prepare($busca);
$stm->bindValue(':parametro', $id_delegacia);
$stm->execute();
$posts = $stm->fetchAll(PDO::FETCH_OBJ);

if(empty($posts)):
echo 'Não foram encontrados nenhum registro!';
else:
foreach($posts as $post):
?>
<h1><?php echo $post->titulo;?></h1>
<p><?php echo $post->conteudo;?></p>
<p><?php echo $post->diretor;?></p>
<p><?php echo $post->coordenadoria;?>
</p><p><?php echo $post->endereco;?></p>
<?php
endif;
endif;
?>
[/code] ) )

Executar ação ao selecionar item do combo.

PHP
Marcos Roberto
   - 20 jul 2015

Olá!
estou fazendo um combo de cidades, eu queria quando selecionar uma cidade, ela me traz o resultado do banco de dados daquela cidade
mais eu tentei de tudo n estou conseguindo será q dava pra vc me da uma ajuda .
agradeço!
Marcos Roberto
segue meu código.

<form action="listarpesquisa.php" method="post" enctype="multipart/form-data">
<select name="categorias">
<option value="0" selected="selected">Selecione uma delegacia</option>
<a href="listarpesquisa.php?id=<?php echo $busca ['id_cat']; ?>"</a>
<?php
$selCats = "SELECT * FROM cat_delegacia";
$qrCats = mysql_query($selCats);
while($linhaCat = mysql_fetch_array($qrCats)){
?>
<option value="<?php echo $linhaCat['id_delegacia'];?>"><?php echo $linhaCat['nome_delegacia']; ?></option>
<?php } ?>

</select>
<!--<input type="text" name="pesquisa" size="30"/>-->
<input type="hidden" name="acao" value="buscar"/>
<input type="submit" value="Buscar"/>
</form>

<?php if(isset($_POST['acao']) && $_POST['acao'] == 'buscar'){
$id_delegacia = $_POST['nome_delegacia'];
$pesquisa = strip_tags(trim($_POST['pesquisa']));

$linhaBusca = $_GET["id_delegacia "];
$busca = ("SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts
WHERE id=id_cat ORDER BY id DESC ");
$qrBusca = mysql_query($busca);
if(mysql_num_rows($qrBusca) == '0'){
echo 'Não foram encontrados nenhum registro!';
}else{
while($linhaBusca = mysql_fetch_assoc($qrBusca)){
?>

<h1><?php echo $linhaBusca['titulo'];?></h1>
<p><?php echo $linhaBusca['conteudo'];?></p>
<p><?php echo $linhaBusca['diretor'];?></p>
<p><?php echo $linhaBusca['coordenadoria'];?>
</p><p><?php echo $linhaBusca['endereco'];?></p>

<?php

}

}
}
?>

Post mais votado

William (devwilliam)
   - 20 jul 2015

Marcos para começar, por gentileza utilize a tag code quando for postar trechos de código fonte:
Clique na imagem para abrir em uma nova janela

Quanto ao seu código, já postei diversas vezes aqui, não é recomendado utilizar a extensão mysql_ pois a mesma já está marcada como deprecate, recomendo a extensão PDO no meu blog possui muito material sobre isso devwilliam.com.br

O seu código estava meio bagunçado com variáveis perdidas, + ou - como eu faria:
#Código

<form action="listarpesquisa.php" method="post">
	<select name="delegacia">
		<option value="0" selected="selected">Selecione uma delegacia</option>
		<?php
		$sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
		$stm = $pdo->prepare($sql);
		$stm->execute();
		$dados = $stm->fetchAll(PDO::FETCH_OBJ);

		foreach($dados as $delegacia):
		?>
			<option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
		<?php endforeach; ?>
	</select>
	<input type="hidden" name="acao" value="buscar"/>
	<input type="submit" value="Buscar"/>
</form>


<?php if(isset($_POST['acao']) && $_POST['acao'] == 'buscar'):
	$id_delegacia = $_POST['delegacia'];

	$busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
	$busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
	$stm = $pdo->prepare($busca);
	$stm->bindValue(':parametro', $id_delegacia);
	$stm->execute();
	$posts = $stm->fetchAll(PDO::FETCH_OBJ);

	if(empty($posts)):
		echo 'Não foram encontrados nenhum registro!';
	else:
		foreach($posts as $post):
		?>
		<h1><?php echo $post->titulo;?></h1>
		<p><?php echo $post->conteudo;?></p>
		<p><?php echo $post->diretor;?></p>
		<p><?php echo $post->coordenadoria;?>
		</p><p><?php echo $post->endereco;?></p>
		<?php
	endif;
endif;
?>

Fernando C
   - 20 jul 2015

só complementando, algumas observações, "data venia":

1. essa linha:
Citação:
<a href="listarpesquisa.php?id=<?php echo $busca ['id_cat']; ?>"</a>
é desnecessária.

2. também é desnecessário o botão oculto,
use o nome dele no outro botão visivel, normal:
#Código

<input type="submit" name="acao" value="Buscar"/>

aproveitando, eu retiraria essa parte:
Citação:
&& $_POST['acao'] == 'buscar'

sugiro q deixe apenas assim:
#Código
if(isset($_POST['acao']))

pq esse botão sempre terá esse valor

3. na SQL: há uma repetição do trecho "FROM site_posts"; verifique.

4. se a coluna "id" for chave primária, não há sentido
a ordenação ("order by..."), pq só deverá haver retorno de um registro (ou nenhum).

e reforço a recomendação de usar PDO e também de evitar linhas desnecessárias, fica mais facil "debugar", ok?

Marcos Roberto
   - 21 jul 2015

Valeu Willian e Fernando pela ajuda mais ainda n deu certo, está dando erro no final
endifi, ainda n consegui trazer os resultados do banco de dados oq pode ser esse erro?#Código

<form action="listarpesquisa.php" method="post">
    <select name="delegacia">
        <option value="0" selected="selected">Selecione uma delegacia</option>
        <?php
        $sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
        $stm = $pdo->prepare($sql);
        $stm->execute();
        $dados = $stm->fetchAll(PDO::FETCH_OBJ);
 
        foreach($dados as $delegacia):
        ?>
            <option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="submit" name="acao" value="Buscar"/>
</form>
 
 
<?php if(isset($_POST['acao'])):
    $id_delegacia = $_POST['delegacia'];
 
    $busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
    $busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
    $stm = $pdo->prepare($busca);
    $stm->bindValue(':parametro', $id_delegacia);
    $stm->execute();
    $posts = $stm->fetchAll(PDO::FETCH_OBJ);
 
    if(empty($posts)):
        echo 'Não foram encontrados nenhum registro!';
    else:
        foreach($posts as $post):
        ?>
        <h1><?php echo $post->titulo;?></h1>
        <p><?php echo $post->conteudo;?></p>
        <p><?php echo $post->diretor;?></p>
        <p><?php echo $post->coordenadoria;?>
        </p><p><?php echo $post->endereco;?></p>
        <?php
    endif;
endif;
?>

William (devwilliam)
   - 21 jul 2015

Uma pergunta Marcos você instanciou uma conexão PDO, eu só postei como ficaria mas vc tem que configurar uma conexão?

Exemplo:
#Código

$pdo = new PDO('mysql:host=localhost;dbame=nome_banco', 'usuario_banco', 'senha_banco');

Marcos Roberto
   - 21 jul 2015

Boa tarde Willian!
eu fiz a conexão em PDO mais msm assim está dando erro eu n estou conseguindo pegar o id para mostrar na pagina listarpesquisa.php
eu clico na cidade mais ela n traz os resultados do banco de dados, como eu posso fazer isso?

#Código

<?php
	try{
		$pdo = new PDO('mysql:host=localhost;dbname=site_teste','teste','belinha157@');
		$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
		
	}catch(PDOException $e){
		echo $e->getMessage();
		exit("Erro ao conectar");
	}
?>

William (devwilliam)
   - 21 jul 2015

Marcos, preciso saber qual a mensagem de erro que está sendo exibida, caso não esteja habilitado a exibição de erros coloque o seguinte código no topo do seu script:
#Código

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

Marcos Roberto
   - 21 jul 2015

MWillian do jeito q está o código já era para trazer as informações do banco de dados ?, ou tenho q fazer mais alguma coisa.
o erro q está dando é esse
#Código

arse error: syntax error, unexpected 'endif' (T_ENDIF) in D:\Marcos\Marcos - Windows\wamp\www\Site_Sindicato\delegacia.php on line 56


aqui está meu código
#Código
              <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);?>  
        
            <div id="delegacia">

     <form action="listarpesquisa.php" method="post">
    <select name="delegacia">
        <option value="0" selected="selected">Selecione uma delegacia</option>
        <?php
        $sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
        $stm = $pdo->prepare($sql);
        $stm->execute();
        $dados = $stm->fetchAll(PDO::FETCH_OBJ);
 
        foreach($dados as $delegacia):
        ?>
            <option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="submit" name="acao" value="Buscar"/>
</form>
 
 
<?php if(isset($_POST['acao'])):
    $id_delegacia = $_POST['delegacia'];
 
    $busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
    $busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
    $stm = $pdo->prepare($busca);
    $stm->bindValue(':parametro', $id_delegacia);
    $stm->execute();
    $posts = $stm->fetchAll(PDO::FETCH_OBJ);
 
    if(empty($posts)):
        echo 'Não foram encontrados nenhum registro!';
    else:
        foreach($posts as $post):
        ?>
        <h1><?php echo $post->titulo;?></h1>
        <p><?php echo $post->conteudo;?></p>
        <p><?php echo $post->diretor;?></p>
        <p><?php echo $post->coordenadoria;?>
        </p><p><?php echo $post->endereco;?></p>
        <?php
    endif;
endif;
?>

William (devwilliam)
   - 21 jul 2015

Ele acusa problemas no fechamento de um IF, confere se todas as condições IFs estão sendo fechadas?

Marcos Roberto
   - 21 jul 2015

meu banco de dado
tabela site_post (Clique na imagem para abrir em uma nova janela)

cat_delegacia (Clique na imagem para abrir em uma nova janela)

William (devwilliam)
   - 21 jul 2015

Cara o erro é na linha 56, mas acho que você não está postando o script inteiro aqui!

Marcos Roberto
   - 21 jul 2015

Willian estou postando todo o meu script , eu n sei se falta mais alguma coisa para ele funciona

#Código

<?php require_once  'includes/header.php';?>

<?php include_once 'config.php';?>
<link rel="stylesheet" type="text/css" href="delegacia/delegacia.css"media="screen"/>
<main>
    
    
    
   <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);?>
         
         
         
  
              <?php
error_reporting(E_ALL);
ini_set('display_errors', 1);?>  
        
            <div id="delegacia">

     <form action="listarpesquisa.php" method="post">
    <select name="delegacia">
        <option value="0" selected="selected">Selecione uma delegacia</option>
        <?php
        $sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
        $stm = $pdo->prepare($sql);
        $stm->execute();
        $dados = $stm->fetchAll(PDO::FETCH_OBJ);
 
        foreach($dados as $delegacia):
        ?>
            <option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="submit" name="acao" value="Buscar"/>
</form>
 
 
<?php if(isset($_POST['acao'])):
    $id_delegacia = $_POST['delegacia'];
 
    $busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
    $busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
    $stm = $pdo->prepare($busca);
    $stm->bindValue(':parametro', $id_delegacia);
    $stm->execute();
    $posts = $stm->fetchAll(PDO::FETCH_OBJ);
 
    if(empty($posts)):
        echo 'Não foram encontrados nenhum registro!';
    else:
        foreach($posts as $post):
        ?>
        <h1><?php echo $post->titulo;?></h1>
        <p><?php echo $post->conteudo;?></p>
        <p><?php echo $post->diretor;?></p>
        <p><?php echo $post->coordenadoria;?></p>
        <p><?php echo $post->endereco;?></p>
        <?php
    endif;
endif;
?>
                
               
            </div><!--delegacia-->
        
    
    
</main>

<?php require_once 'includes/footer.php'; ?>

William (devwilliam)
   - 21 jul 2015

Você colocou 2 vezes esse trecho, retire um deles:
#Código

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);?>  


E poste novamente o script com a mensagem de erro separada, pois nele aponta a linha onde está dando problema.

Marcos Roberto
   - 21 jul 2015

Willian está dando o msm erro, ja olhei os fechamento do IF n encontrei nada. Me fala uma coisa o código do jeito q está ja era para funciona, ou está faltando mais alguma coisa?

#Código

( ! ) Parse error: syntax error, unexpected 'endif' (T_ENDIF) in D:\Marcos\Marcos- Windows\wamp\www\Site_Sindicato\delegacia.php on line 55

Marcos Roberto
   - 22 jul 2015

Boa noite Willian, estou tentando fazer mais n estou conseguindo vc poderia me ajudar eu n sei se falta mais algum código. em pdo estou perdido

William (devwilliam)
   - 22 jul 2015

Marcos, só por desencargo enviei esse script para o meu email wllfl@ig.com.br, encontrando a solução postamos aqui!

Marcos Roberto
   - 22 jul 2015

Boa noite Willian!

Mandei no seu e-mail.

Grato.

William (devwilliam)
   - 23 jul 2015

Marcos, a falta de atenção foi minha na hora de escrever esse exemplo, esqueci de fechar o foreach() com "endforeach;"
#Código

<form action="listarpesquisa.php" method="post">
    <select name="delegacia">
        <option value="0" selected="selected">Selecione uma delegacia</option>
        <?php
        $sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
        $stm = $pdo->prepare($sql);
        $stm->execute();
        $dados = $stm->fetchAll(PDO::FETCH_OBJ);
 
        foreach($dados as $delegacia):
        ?>
            <option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
        <?php endforeach; ?>
    </select>
    <input type="hidden" name="acao" value="buscar"/>
    <input type="submit" value="Buscar"/>
</form>
 
 
<?php if(isset($_POST['acao']) && $_POST['acao'] == 'buscar'):
    $id_delegacia = $_POST['delegacia'];
 
    $busca ='SELECT id, titulo, diretor, coordenadoria, endereco, conteudo, telefone FROM site_posts ';
    $busca .= 'FROM site_posts WHERE id=:parametro ORDER BY id DESC';
    $stm = $pdo->prepare($busca);
    $stm->bindValue(':parametro', $id_delegacia);
    $stm->execute();
    $posts = $stm->fetchAll(PDO::FETCH_OBJ);
 
    if(empty($posts)):
        echo 'Não foram encontrados nenhum registro!';
    else:
        foreach($posts as $post):
        ?>
        <h1><?php echo $post->titulo;?></h1>
        <p><?php echo $post->conteudo;?></p>
        <p><?php echo $post->diretor;?></p>
        <p><?php echo $post->coordenadoria;?>
        </p><p><?php echo $post->endereco;?></p>
        <?php
        endforeach;
    endif;
endif;
?>

Marcos Roberto
   - 23 jul 2015

.....

Marcos Roberto
   - 23 jul 2015

Boa noite!

Esse código está se comportando igual ao meu, ele monta o combo mas não faz a segunda consulta no banco de dados.
Eu tenho a impressão de que não está fazendo a consulta no banco pq não está pegando o id da delegacia ao seleciona-la no combo.

Como posso testar se esta pegando o id do combo?

Eu fiz um botão pra exibir o id da delegacia que esta no combo, vê se está correto ou se tem uma melhor forma de se fazer.

#Código

<form action="listarpesquisa.php" method="post">
    <select name="delegacia" id="delegacia">
        <option value="0" selected="selected">Selecione uma delegacia</option>
        <?php
        $sql = 'SELECT id_delegacia, nome_delegacia FROM cat_delegacia';
        $stm = $pdo->prepare($sql);
        $stm->execute();
        $dados = $stm->fetchAll(PDO::FETCH_OBJ);

        foreach($dados as $delegacia):  
        ?>
            <option value="<?php echo $delegacia->id_delegacia;?>"><?php echo $delegacia->nome_delegacia; ?></option>
        <?php endforeach; ?>

        <?php $id_delegacia = $_POST['delegacia']; ?>

    </select>
    <input type="hidden" name="acao" value="buscar"/>
    <input type="submit" value="Buscar"/>
    <input type="button" value="Buscar" onClick="alert('<?php echo $id_delegacia; ?>'); return true">