Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Gostaria de saber se há como exibir dados do mysql sem usar o while. Isso existe?
é porque preciso colocar um while dentro de outro...ai o do que tá dentro fecha o seu pai...
While 1 {
while 2 { } ( tá cancelando o primeiro )
Fecha while 1 }
Não "cancela" nada amigo, você está fazendo alguma coisa errada. Poste o seu código aqui que te ajudamos.
<?php
$id_not= $_GET["id"];
$sql = "SELECT * FROM forum WHERE id AND id='".$id_not."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res)>0){
$row = mysql_fetch_array($res);
$id_topico = $row[id];
}
?>
<?php
$res = mysql_query("SELECT * FROM forum_respostas WHERE post_id='$id_topico' ");
while($ver=mysql_fetch_array($res)){
$id_usr = $ver[id_usr];
?>
Conteúdo HTML exibindo dados da while 1 ( sem influencia, codigo mt extenso).
<?
$res = mysql_query("SELECT * FROM usuario WHERE id='$id_usr'");
while($ver=mysql_fetch_array($res)){
$assinatura = $ver[ass];
}
?>
<?php
echo bbcode ("$ass");
?>
<?php } ?>Ao meu ver ambas as variaveis possuem o mesmo nome e o valor meio que se perde no loop.
refaça com as variaveis diferentes e faça o teste.
exemplo:
1º while
while($ver=mysql_fetch_array($res)){
2º while
while($ver2=mysql_fetch_array($res2)){
>
<?php
$id_not= $_GET["id"];
$sql = "SELECT * FROM forum WHERE id AND id='".$id_not."'";
$res = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($res)>0){
$row = mysql_fetch_array($res);
$id_topico = $row[id];
}
?>
<?php
$res = mysql_query("SELECT * FROM forum_respostas WHERE post_id='$id_topico' ");
while($ver=mysql_fetch_array($res)){
$id_usr = $ver[id_usr];
?>
Conteúdo HTML exibindo dados da while 1 ( sem influencia, codigo mt extenso).
<?
$res = mysql_query("SELECT * FROM usuario WHERE id='$id_usr'");$assinatura = $ver[ass];
}
?>
<?php
echo bbcode ("$ass");
?>
<?php } ?>Opa, desculpa o erro é outro, ao invés de exibir todos os dados que eu permiti pelo while ele está citando apenas o primeiro dado da relação, digamos que eu tenha 3 dados:
Dado 1, dado2, dado3
ele só mostra o dado 1.
Help me.
Funcionou silver, mt obrigado :) http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
Você percebeu que a variavel $ass, não foi declarada?
faça como eu disse no while ;)...
>
Opa, desculpa o erro é outro, ao invés de exibir todos os dados que eu permiti pelo while ele está citando apenas o primeiro dado da relação, digamos que eu tenha 3 dados:
Dado 1, dado2, dado3
ele só mostra o dado 1.
Help me.
Funcionou silver, mt obrigado :) http://forum.imasters.com.br/public/style_emoticons/default/clap.gif
o erro pode ser o seguinte tbm;
você não está colocando o loop dentro do while
while(fetch_array($seila)){
// você precisa colocar o loop aqui
}
// se por aqui, ele vai ler só o primeiro arquivo, e dar print só do primeiro, aliás do ultimo!
Rafael se olhar com atenção o primeiro loop dele fecha depois do echo, então ao menos as informações daquele loop deveriam aparecer.
Mas como disse parece que a variavel $ass não foi declarada.
>
Rafael se olhar com atenção o primeiro loop dele fecha depois do echo, então ao menos as informações daquele loop deveriam aparecer.
Mas como disse parece que a variavel $ass não foi declarada.
é eu tmb vi isso
ele setou $assinatura, e não $ass;
exatamente..
Aguardamos o dono do topico se manifestar .
essa query simplifica as outras 3, consequentemente você vai usar somente um while
"SELECT f.*, fr.*, u.* FROM forum f join forum_respostas fr
on f.id = fr.post_id join usuario u
on fr.id_usr = u.id WHERE f.id={$id_not}"
Teria algum motivo em específico a sua pergunta? Se tiver, diga que fica mais fácil te ajudar.