Ir para conteúdo

Arquivado

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

nadoweb

Construir tabela em busca PHP e MySQL

Recommended Posts

Boa noite amigos!

 

Eu tenho a seguinte tabela:

 

CREATE TABLE `vereador` (

`ID_Vereador` int(11) NOT NULL auto_increment,

`Nome` varchar(60) NOT NULL default '',

`Nome_Parlamentar` varchar(60) NOT NULL default '',

`ID_Partido` int(11) NOT NULL default '0',

`ID_Cargo` int(11) NOT NULL default '0',

PRIMARY KEY (`ID_Vereador`)

 

E preciso exibir os dados dela na seguinte estrutura de uma tabela:

 

Exemplo:

 

Imagem Postada

 

 

Os dados têm que ser mostrados de 3 em três ou seja coloco o while em um só e ele passa para três e depois quebra a linha da tabela para mostrar mais três resultados mais não estou conseguindo.

 

Segue abaixo o que tenho para ver se vocês conseguem transformar para a forma que preciso. Mais tambem aceito uma nova solução.

 

Exemplo do que eu consigui:

 

Imagem Postada

 

 

 

<html>

<head>

<title>Lista</title>

</head>

<body bgcolor="#ffffff">

 

<?php

 

$conexao = mysql_connect("localhost", "root", "123456");

$db = mysql_select_db("teste");

$sql = "SELECT * FROM vereador ORDER BY Nome";

$resultado = mysql_query($sql) or die ("Não foi possível realizar a consulta ao banco de dados");

 

echo "<table width=760 border=0 cellpadding=1 cellspacing=1>";

echo "<tr bgcolor=\"eaeaea\">";

echo "<th width=40>ID</th>";

echo "<th width=300>Nome</th>";

echo "<th width=100>Parlamentar</th>";

echo "<th width=210>ID Partido</th>";

echo "<th width=50>ID Cargo</th>";

echo "</tr>";

 

while ($linha=mysql_fetch_array($resultado)) {

$id_vereador = $linha["ID_Vereador"];

$nome = $linha["Nome"];

$parlamentar = $linha["Nome_Parlamentar"];

$id_partido = $linha["ID_Partido"];

$id_cargo = $linha["ID_Cargo"];

 

 

echo "<tr>";

echo "<th width=40>$id_vereador<br></th>";

echo "<th width=300 align=\"left\">$nome<br></th>";

echo "<th width=100>$parlamentar<br></th>";

echo "<th width=210>$id_partido</th>";

echo "<th width=50>$id_cargo</th>";

echo "</tr>";

echo "<tr>";

echo "<th colspan=\"5\"><hr width=\"100%\" color=\"c0c0c0\"></th>";

echo "</tr>";

echo "<br>";

 

}

 

echo "</table>";

 

?>

 

</body>

</html>

 

Como vcs virão só consegui colocar um resultado embaixo do outro e preciso colocar os dados para serem exibidos de três em três resultados. O incrivel é que ninguem respondeu este topico em 3 meses.

 

Espero que possam me ajudar desta vez.

 

Grato,

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ola amigo agradeço a você pois seu codigo ajudou a resolver parte do meu caso.

bom gostaria de lhe sugerir algo trabalhoso mas pode ser que ajude

no HTML para colocar as disposições lado a lado eu teria que por uma tabela com duas colunas e x linhas

bom

o que eu sugiro e tentar encaixar isso no seu codigo ou seja uma tabela dentro da outra assim ele geraria os dados

e colocaria lado a lado

pensei um pouco e vi um obstaculo

dependendo de como fizer ele vai sair colocando tudo assim

----> neste sentido

então temos pensei um pouco e visualizei o seguinte

 

você poderia botar um contador de forma que a cada 3 ele insira uma /tr e outra tr iniciando a linha

assim ele passaria a quebrar a linha apos tres o problema que eu estou tendo em chegar a um resultado final no seu caso

é apenas o calculo que poderia ser usado para fazer a cada 3 gerar algo que possa fazer essa quebra

bom

 

 

algo que poderia ajudar seria fazer um

se e neste deve-se fazer ele verificar se x é maior que 3 se for zere x e adicione /tr tr etc saco

diante disto se você fizer um esquema de logica de programação e verificar a formula

axo que você chega no ponto onde você que

ok

espero ter ajudado!

vlw! http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

/* Exibe dados no formato	+----+-----+-----+	|reg1| reg2| reg3|	+----+-----+-----+	|reg4| reg5| reg6|	+----+-----+-----+	|reg7| reg8| reg9|	+----+-----+-----+ */##################################################/*VARIÁVEIS PARA CONFIGURAÇÃO*/$cols = 3; //Número de Colunas que serão exibidas$user = ""; // usuario$pass = "";//senha$bd = "teste"; // Banco de Dados$tabela = ""; // tabela de origem dos dados##################################################$con = mysql_connect("localhost", "$user", "$pass");$query = "SELECT * FROM vereador ORDER BY Nome";$resultado = mysql_db_query("$bd",$query,$con);$x = 1;$num = mysql_num_rows($resultado);echo("<table>");while ($linha = mysql_fetch_array($resultado)){	$id_vereador = $linha["ID_Vereador"];$nome = $linha["Nome"];$parlamentar = $linha["Nome_Parlamentar"];$id_partido = $linha["ID_Partido"];$id_cargo = $linha["ID_Cargo"];	if($x == 1){		echo "<tr>";	}	echo "<td>".$nome."</cod>";	if($x == $cols){		echo "</tr>";		$x = 0;	}	$x++;}if($x != $cols && $x != 1){	echo "</tr>";	$x = 0;}echo("</table>");

 

acho k ~e isto que voçe esta a procurar.... algora pode alterar ah sua maneira... eu so pus a amostrar o campo nome

Compartilhar este post


Link para o post
Compartilhar em outros sites

/* Exibe dados no formato	+----+-----+-----+	|reg1| reg2| reg3|	+----+-----+-----+	|reg4| reg5| reg6|	+----+-----+-----+	|reg7| reg8| reg9|	+----+-----+-----+ */##################################################/*VARIÁVEIS PARA CONFIGURAÇÃO*/$cols = 3; //Número de Colunas que serão exibidas$user = ""; // usuario$pass = "";//senha$bd = "teste"; // Banco de Dados$tabela = ""; // tabela de origem dos dados##################################################$con = mysql_connect("localhost", "$user", "$pass");$query = "SELECT * FROM vereador ORDER BY Nome";$resultado = mysql_db_query("$bd",$query,$con);$x = 1;$num = mysql_num_rows($resultado);echo("<table>");while ($linha = mysql_fetch_array($resultado)){	$id_vereador = $linha["ID_Vereador"];$nome = $linha["Nome"];$parlamentar = $linha["Nome_Parlamentar"];$id_partido = $linha["ID_Partido"];$id_cargo = $linha["ID_Cargo"];	if($x == 1){		echo "<tr>";	}	echo "<td>".$nome."</cod>";	if($x == $cols){		echo "</tr>";		$x = 0;	}	$x++;}if($x != $cols && $x != 1){	echo "</tr>";	$x = 0;}echo("</table>");

 

acho k ~e isto que voçe esta a procurar.... algora pode alterar ah sua maneira... eu so pus a amostrar o campo nome

Valeu LaBoss, funcionou tranquilamente. Parabéns e muito obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Desculpe subir esse tópico, mas preciso agradecer o usuário LaBoss que postou a solução que eu buscava, valeu brother, seu pequeno exemplo de como fazer a tabela dessa forma foi muito útil, já está funcionando aqui localmente com o meu guia. Agora a parte mais legal, fazer o layout do script, valeu brother por compartilhar o script.

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.