Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
HEUSS

Dúvida Simples

Question

Boa tarde...

Queria por num menu de lista resultados de uma busca feita no meu bd. Por exemplo: Os nomes dos colunistas de um portal, Ze, Joao, Xico... Que todos esses nomes ficasse listados no menu e ao clicar em determinado nome abrisse a página correspondente ao mesmo... pagina.php?nome=$nome

Desde já agradecido!

Share this post


Link to post
Share on other sites

13 answers to this question

Recommended Posts

  • 0

Ok, vamos la...

O script que faz a busca esta postado ai embaixo...

Gostaria de pegar essa variavel nome e aplicar no meu menu de lista, supondo que tenhamos: ze,joao,xico:

ze

joao

xico

E, ao clicar em ze, a acao correspondente acontecesse... pagina.php?id=$id ou pagina.php?nome=$nome etc... não tenho ideia de como inserir os nomes no menu, como dito anteriormente, não encontrei algo a respeito no manual!! Valeu

<?php

$comando = "Select * From colunistas";

include("sql.inc");

$rs = mysql_query($comando,$conectar);

if(mysql_num_rows($rs)>0){

$rs_busca = mysql_fetch_array($rs);

$nome=$rs_busca["nome"];

$id = $rs_busca["id"];

}

?>

Share this post


Link to post
Share on other sites
  • 0

Você saberia fazer isso em HTML, se a página não fosse dinâmica?

Digamos que essas pessoas seriam fixas e você fosse fazerm em HTML, como você faria? Sem PHP...

Share this post


Link to post
Share on other sites
  • 0

Hehehe, se você não tem problemas, posta aí... eu quero ver o código pra te mostrar como é fácil de fazer. Mas quero que você poste aí o código HTML. happy.gif

Share this post


Link to post
Share on other sites
  • 0

Certinho, isso aí mesmo.

Só tem 1 problema na lógica do seu script.

Você faz a query [busca] no banco de dados e guarda o resultado dessa busca na variável $rs.

Então, a mysql_fetch_array() vai pegar 1 linha desse resultado e passar pra um array, no caso, $rs_busca. Além de passar os valores dessa linha pro array, a mysql_fetch_array() vai fazer com que o ponteiro passe para a próxima linha.

Então, se você executa a mysql_fetch_array() só 1 vez, você pega só a 1ª linha.

Por isso, o que é feito? É feito um while() para que enquanto houverem linhas a mysql_fetch_array() seja executada, entendeu?

Dá uma olhada em:

· http://br.php.net/function.mysql_fetch_array

Tem uns exemplos nessa página, olha eles, tenta colocar o while() no seu script e posta aí pra gente ver... smile.gif

Share this post


Link to post
Share on other sites
  • 0

Postei o codigo errado...

ta ai...

<?php

//*** Alvaro Henriques - HEUSS ***//

// [email protected] //

include "sql.inc";

$comando = "Select * From colunistas";

$r = mysql_query($comando,$conectar);

while($rs=mysql_fetch_array($r)){

$nome=$rs["nome"];

$id=$rs["id"];

?>

<?

}

?>

quando faco isso:

<form name="teste">

<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">

<option value="http://www.teste.com/teste.php?nome=<?php echo $nome; ?>" selected><?php echo $nome; ?>

</select>

</form>

so sai um dos nomes da lista!

Share this post


Link to post
Share on other sites
  • 0

Pois é, você tem que usar o while junto com mysql_fetch_array() pra retornar resultados enquanto eles existirem, chamar fetch_array retorna cada linha do resultado por vez que for chamado, e quando não houver mais linhas retorna FALSE, daí o loop while pára.

Share this post


Link to post
Share on other sites
  • 0

Sim...vai mostrar só o último nome.

Funciona da seguinte forma, cara.

A cada linha, as variáveis $nome e $id recebem novos valores. Ou seja, elas não conservam os valores antigos. Você vai sobrescrevendo elas.

Por isso só mostra o último, ele vai passando linha por linha, sobrescrevendo, até chegar no último.

Você precisa dar um echo na linha do <option> enquanto as variáveis estão sendo puxadas, se você fizer isso só depois, vai ver só o último registro... smile.gif

Share this post


Link to post
Share on other sites
  • 0

<?php

//*** Alvaro Henriques ***//

// [email protected] //

echo "<form name='form'>";

echo "<select name='colunistas' onChange=MM_jumpMenu('parent',this,0)>";

include "sql.inc";

$comando = "Select * From colunistas";

$r = mysql_query($comando,$conectar);

while($rs=mysql_fetch_array($r)){

$nome=$rs["nome"];

$id=$rs["id"];

echo "<option value='colunistas.php?id=$id' selected>$nome</option>";

}

echo "</select>";

echo "</form>";

?>

muito obg e pode fechar o tópico

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  



  • Forum Statistics

    • Total Topics
      148099
    • Total Posts
      643343
×
×
  • Create New...