Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) While dentro do While


Joniwal

Pergunta

tenho duas tabelas um acom perguntas e outra com respostas

a tabela perguntas há dois campo id, (auto increment) e pergunta (com as perguntas é obvio)

e a tabela repostas com campos id, pergunta e resposta (id auto increment, pergunta como nº correspondente ao id da tabela perguntas,e respostasa com as devidas respostas)

ex:

tab respostas

id pergunta resposta

x 1 sim

x 1 não

Pois bem faço o select com o while para mostrar as perguntas, e estou tentando fazer o select das respostas correspondentes a pergunta, e, não estou conseguindo, preciso assiim:

ex:

pergunta 1:

sim

não

pergunta 2:

As Vezes

Talvez

etc....

for($i=0; $i<sizeof($_POST['escolha']); $i++) 
 {
 $indice   =   $_POST['escolha'][$i];

Estou fazendo assim:
$sql = "SELECT * from pergunta WHERE id = '" . $indice . "' ORDER BY id asc";
// Carrega os registros selecionados
$rs = mysql_query($sql, $conexao) or die ("N&atilde;o foi poss&iacute;vel fazer a consulta");

while ($linha = mysql_fetch_array($rs)){;

  $indice2= $linha["id"];
  $pergunta = $linha["pergunta"];
} //final do for
echo $pergunta;

$sql2 = "SELECT * from respostas WHERE pergunta = '" . $indice2 . "' ORDER BY id asc";
// Carrega os registros selecionados
$rs2 = mysql_query($sql, $conexao) or die ("N&atilde;o foi poss&iacute;vel fazer a consulta");
while ($linha2 = mysql_fetch_array($rs)){;
$resp = $linha["resposta"];
echo $resp;

}} //final dos while's

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0

OK, ai vai as tabelas:

TABLE pergunta (

id int(3) NOT NULL auto_increment,

pergunta varchar(250) NOT NULL default '0',

PRIMARY KEY (id)

) TYPE=MyISAM;

TABLE pesquisa (

id int(3) NOT NULL auto_increment,

pergunta char(3) NOT NULL default '',

resposta varchar(255) NOT NULL default '',

votos int(5) default '0',

UNIQUE KEY id (id),

) TYPE=MyISAM;

e codigo completo:

<?


//Aqui as perguntas selecionadas
 for($i=0; $i<sizeof($_POST['escolha']); $i++) 
 {
 $indice   =   $_POST['escolha'][$i];

$sql = "SELECT * from pergunta WHERE id = '" . $indice . "' ORDER BY id asc";
// Carrega os registros selecionados
$rs = mysql_query($sql, $conexao) or die ("N&atilde;o foi poss&iacute;vel fazer a consulta");

while ($linha = mysql_fetch_array($rs)){;

  $indice2= $linha["id"];
  $pergunta = $linha["pergunta"];
// final do 1º for
}
?>

<? echo $pergunta; ?>

<? 

$sql = "select * from pesquisa where pergunta= '" . $indice2 . "' ";   

$rs = mysql_query($sql, $conexao) or die ("Não foi possível fazer a consulta");  
$linhas = mysql_num_rows($rs); 

for($i=0; $i < $linhas; $i++) 
{  
     $arrRes = mysql_fetch_array($rs); 
     
}  
// somando total de votos
$total_votos = "SELECT * from pesquisa where pergunta = '".$indice2."' ";
$resultado = mysql_query($total_votos,$conexao);

$soma = 0;
$porcent = array();
$questao = array();
for ($i=0;$i<$linhas;$i++){
       $campo = mysql_fetch_array($resultado);
          
       $soma = $soma + ($campo['votos']);
       $porcent[$i]= ($campo['votos']);
       $questao[$i]=$campo['resposta']; // Veja aqui o nome do campo com o nome da questão
       $qtde[$i]=$campo['votos'];

 }
for ($i=0;$i<count($porcent);$i++){
      @$porcent[$i] = (int)($porcent[$i] / $soma * 100);
}
//fim de soma total de votos
for($i=0;$i<count($porcent);$i++){
echo $questao[$i;
echo":"; 
echo"<img src='porc.gif' align='middle' width='$porcent[$i]'height='8'>&nbsp;$porcent[$i]%&nbsp;($qtde[$i])<br>";
}
echo "Total de votos: $soma";
        
//Final do While
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

Então seria algo do tipo...

<?php
//$indice = '2';

$sql = mysql_query("SELECT p.pergunta as perg,pe.* from pergunta p
LEFT JOIN pesquisa pe ON pe.pergunta = p.id
 WHERE p.id = '" . $indice . "' ORDER BY p.id asc")OR DIE(mysql_error());

$cont = 0;
while($x = mysql_fetch_assoc($sql)){
if($cont == 0){
echo 'Pergunta: '.$x['perg'].'<BR>Alternativas<BR>'.$x['resposta'].'<BR>';
}else{
echo $x['resposta'].'<BR>';
}
$cont++;
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652,1k
×
×
  • Criar Novo...