Jump to content

PHP ligação a sql e DIV


greyback
 Share

Recommended Posts

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?

Link to comment
Share on other sites

LOOOL

queres-me mesmo ajudar ? 👍

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 ...

Link to comment
Share on other 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.

Link to comment
Share on other 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 👍

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?

Link to comment
Share on other 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,

Link to comment
Share on other 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 👍 Exactamente isso 😛 mas java uff, podes-me ajudar nisso?

Link to comment
Share on other 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,

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.