Ir para conteúdo

POWERED BY:

Arquivado

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

VitorCappellari

Recuperar dados do MySQL sem usar while

Recommended Posts

é 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 }

Compartilhar este post


Link para o post
Compartilhar em outros sites


<?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 } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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'");
while($ver=mysql_fetch_array($res)){
$assinatura = $ver[ass];
}
?>

<?php
echo bbcode ("$ass");
?>




<?php } ?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites

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}"

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.