• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

greyback

PHP ligação a sql e DIV

8 mensagens neste tópico

Boas !

Tenho uma pequena dúvida, é o seguinte, eu tenho uma página em PHP que vai buscar os username's a uma base de dados mysql, e imprime numa página com hiperligações para a mesma página !!

Eu gostaria de quando fosse activada, imprimisse na mesma página [já pus para a mesma página, a hiperligação], os dados do cliente pressionado

que aparecesse uma table, div ou algo do genero e no meio estivessem todos os dados imprimidos que se encontram na BD.

Disseram-me que se fazia com ligação a javascript?

alguem me pode ajudar?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

podemos sim senhor, mostra o código que tens feito para podermos ver qual o problema

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

LOOOL

queres-me mesmo ajudar ? :thumbsup:

mas cheira-me que tás a gozar cmg :)

bem, o código que tenho é o seguinte:

case 'verificar':

echo"<table border='0' width='8' valign='top' valign='center' cellpadding='0' cellspacing='0'>";

$str="Select cliuser from clientes where flag=0";

$res=mysql_query($str,$lig);

for($i=0;$i<mysql_num_fields($res);$i++) {

while($lin=mysql_fetch_row($res)) {

    echo "<tr><td><a href='confirmarcliente.php?accao1=confi'><font size='4'><br>$lin[$i]</font></a></td></tr>";

}

}

echo"</table>";

break;

a flag = 0 ; quer dizer que não está confirmado, isto é, nao pode aluigar os filmes, mas tambem nao interessa xD

eu queria que aparecesse o nick que já lá está, epor baixo uma tabela com os dados da base de dados do referido cliente.... confirmarcliente.php?accao1=confi é onde vai parar, simplesmente na mesma págna ...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens dois ciclos desnecessários, pois estás a tentar tirar as coisas da tabela de forma errada.

Select cliuser from clientes where flag=0 -> isto vai devolver apenas o campo "cliuser" da tabela clientes. Por esse mesmo motivo, e como só obtens uma coluna, não tem lógica o seguinte: $lin[$i] em que i vai sendo incrementado.

Se queres obter todos os dados tenta/experimenta o seguinte:

case 'verificar':
               echo"<table border='0' width='8' valign='top' valign='center' cellpadding='0' cellspacing='0'>";
               $str="SELECT * FROM clientes WHERE flag=0";
               $res=mysql_query($str,$lig);
               while($lin=mysql_fetch_row($res))   {
                    echo "<pre>";
                    print_r($lin);
                    echo "</pre>";
               }

A partir daqui penso que poderás ver o que obtens e fazer o devido tratamento. :)

Para dentro do ciclo while podes usar algo do tipo:

for($i=0;$i<mysql_num_fields($res);$i++) {
   echo "<tr><td><a href='confirmarcliente.php?accao1=confi'><font size='4'><br>$lin[$i]</font></a></td></tr>";  
}  

Abraço,

PS: Sim, estamos aqui para ajudar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens dois ciclos desnecessários, pois estás a tentar tirar as coisas da tabela de forma errada.

Select cliuser from clientes where flag=0 -> isto vai devolver apenas o campo "cliuser" da tabela clientes. Por esse mesmo motivo, e como só obtens uma coluna, não tem lógica o seguinte: $lin[$i] em que i vai sendo incrementado.

Se queres obter todos os dados tenta/experimenta o seguinte:

case 'verificar':
               echo"<table border='0' width='8' valign='top' valign='center' cellpadding='0' cellspacing='0'>";
               $str="SELECT * FROM clientes WHERE flag=0";
               $res=mysql_query($str,$lig);
               while($lin=mysql_fetch_row($res))   {
                    echo "<pre>";
                    print_r($lin);
                    echo "</pre>";
               }

A partir daqui penso que poderás ver o que obtens e fazer o devido tratamento. :)

Para dentro do ciclo while podes usar algo do tipo:

for($i=0;$i<mysql_num_fields($res);$i++) {
   echo "<tr><td><a href='confirmarcliente.php?accao1=confi'><font size='4'><br>$lin[$i]</font></a></td></tr>";  
}  

Abraço,

PS: Sim, estamos aqui para ajudar.

Obrigado pela ajuda :thumbsup:

Mas uma coisa que ACHO que nao percebeste...

Primeiro eu quero mostrar todos os utilizadores com flag=0... ó os nicknames... nao quero logo imprimir os dados,... e esses nickname's estao com hiperligações, que quando pressionado em baixo do nick sleecionado abria uma tabela, com os dados todos la dentro...

foi isso que percebeste?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas uma coisa que ACHO que nao percebeste...

Primeiro eu quero mostrar todos os utilizadores com flag=0... ó os nicknames... nao quero logo imprimir os dados,... e esses nickname's estao com hiperligações, que quando pressionado em baixo do nick sleecionado abria uma tabela, com os dados todos la dentro...

foi isso que percebeste?

Ou seja, isto:

    . username utilizador 1 (link)

        . dados utilizador 1

    . username utilizador 2 (link)

        . dados utilizador 2

É isto que queres?

Se sim, tens que ter uma página com os usernames e outra para mostrar os dados de cada utilizador OU imprimir tudo de uma só vez (usernames e dados do utilizador), ocultar os dados de cada utilizador e usando javascript faze-los aparecer quando se clica no username, sem ter que abrir uma nova página especifica. Penso que era esta última a que te referias, certo?

Abraço,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou seja, isto:

    . username utilizador 1 (link)

        . dados utilizador 1

    . username utilizador 2 (link)

        . dados utilizador 2

É isto que queres?

Se sim, tens que ter uma página com os usernames e outra para mostrar os dados de cada utilizador OU imprimir tudo de uma só vez (usernames e dados do utilizador), ocultar os dados de cada utilizador e usando javascript faze-los aparecer quando se clica no username, sem ter que abrir uma nova página especifica. Penso que era esta última a que te referias, certo?

Abraço,

Exacto :)  É isso mesmo :thumbsup: Exactamente isso :P mas java uff, podes-me ajudar nisso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

De uma forma rápida:

case 'verificar':
echo"<table border='0' width='8' valign='top' valign='center' cellpadding='0' cellspacing='0'>";
$str="SELECT * FROM clientes WHERE flag=0";
$res=mysql_query($str,$lig);
while($lin=mysql_fetch_row($res))   {
	echo "<tr><td>";
	echo "<a onclick='javascript:document.getElementById(\'".$lin['username']."\').style.display=\"block\"'>".$lin['username']."</a>";
	echo "<br>";
	echo "<div id='".lin['username']."'>";
	echo "<ul>";
	for($i=0;$i<mysql_num_fields($res);$i++) {
		echo "<li>$lin[$i]</li>";  
	}
	echo "</ul>";
	echo "</div>";
	echo "</td></tr>";
}
echo "</table";

Não está testado. Não tenho muita prática em javascript também.

Abraço,

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora