Ir para conteúdo

POWERED BY:

Arquivado

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

Leandromx

Listar os dados do Banco

Recommended Posts

Oi pessoal .. minha situação é fácil (para voces claro)

Tenho uma página aonde mostra todos os veiculos cadastrados..

O que eu fiz..

Criei mais um campo na tabela chamada destaque usei o tipo Enum coloquei Sim e Nao

 

O código abaixo, lista todos os veiculos cadastrados na tabela (veiculos) esta correto.

Preciso só colocar para mostrar somente o destaque...

E para mim esta super dificil.

 

<?


require 'configuracoes.php';
require 'config/config.php';

// criando o link para chamar a página
$linkstring = "&startitem=$startitem&startpage=$startpage&endpage=$endpage&revendauto=$revendauto&categoria=$categoria&marca=$marca&model=$model&condicao=$condicao";

// get info from database
$link = mysql_connect($dbhost, $dbuser, $dbpass);

$query = "SELECT updated FROM $dbvin ORDER BY updated DESC";
$result = mysql_db_query($dbname, $query, $link);
$result = mysql_fetch_array($result);
$date = date(' d \d\e M \d\e Y \à\s g:i a', $result[updated]);

$query = "SELECT COUNT(*) FROM $dbvin";
$result = mysql_db_query($dbname, $query, $link);
$result = mysql_fetch_array($result);
$count = $result[0];

$result = mysql_db_query($dbname, "SELECT email, phone FROM $dbcfg", $link);
$contact = mysql_fetch_array($result);

mysql_close($link);

// build search query string if neccessary
if($categoria || $marca || $model || $condicao) {
	// build query string
	$query = "SELECT * FROM $dbvin WHERE";
	if($categoria) { $query .= " categoria='$categoria' AND"; }
	if($marca) { $query .= " marca='$marca' AND"; }
	if($model) { $query .= " model LIKE '%$model%' AND"; }
	if($condicao) { $query .= " condicao='$condicao'"; }
	// trim extra AND if neccessary
	if(substr($query, strlen($query)-4, 4) == ' AND') {	$query = substr($query, 0, strlen($query)-4); }
} else {
	$query = "SELECT * FROM $dbvin";
}

// get number of results
$link = mysql_connect($dbhost, $dbuser, $dbpass);
$result = mysql_db_query($dbname, $query, $link);
if(mysql_num_rows($result)) { $numitems = mysql_num_rows($result); }
else { $numitems = 0; }
mysql_close($link);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Listar Destaque</title>
</head>

<body>
<table width="145" border="0" cellspacing="0" cellpadding="0">
  <tr>
	<td><table width="95%" border="0" align="center" cellpadding="2" cellspacing="0" bgcolor="#CCCCCC">


	  <?
	// display vehicles
	if($numitems > 0) {
		$link = mysql_connect($dbhost, $dbuser, $dbpass);
		$query .= " ORDER BY updated DESC LIMIT $startitem, $perpage"; //echo "$query<br><br>"; // TEST
		$result = mysql_db_query($dbname, $query, $link);
		$n = 1;
		while($data = mysql_fetch_array($result)) {
			// check to see if there is an image to display
			if($data[numimages]) {
				$query = "SELECT thumb FROM $dbimg WHERE codigo='$data[codigo]' ORDER BY id DESC LIMIT 1";
				$image = mysql_db_query($dbname, $query, $link);
				$image = mysql_fetch_array($image);
				$thumb = "<img src='miniaturas/$image[thumb]' border=0>";
			} else {
				$thumb = "sem foto";
				$thumb = "<img src='design/sem_foto.gif' border=0>";
			}
			
			if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; }
			echo "
			<a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'><b>$data[marca] $data[model]</b></a> <br><a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'><b>($data[quilometragem] KM)</a><br>
				<a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'>$thumb<br>
				Ano:$data[anofabricacao]<br>
				Situação:$data[condicao]<br>
				Valor: R$ $data[preco]<br></a>
				<a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'><b>Ver Mais</b></a><br>
				<center>------------------------</center>
			
			";
			$n++;
		}
		mysql_close($link);
		
	} else {
		echo "<tr><td class='text' height=100 colspan=6 align='center' valign='middle'>
		<font class='hint'>Desculpe, não foi encontrado nenhum veículo com o critério selecionado.</font><br>
		<br>
		Qualquer dúvida entre em contato com nosso departamento de vendas.<br>
		pelo telefone <font class='destaque'>$contact[phone]</font> ou pelo e-mail <a class='destaque' href='mailto:$contact[email]'><b>$contact[email]</b></a><br>
		</td></tr>";
	}
	
	?>
	  
	</table></td>
  </tr>
</table>
</body>
</html>
$dbvin é a tabela veiculos

 

Alguém poderia dar essa força somente para listar o que tiver o Campo destaque = Sim

Compartilhar este post


Link para o post
Compartilhar em outros sites

OI cara na SQL que busca os dados do BD voce coloca um WHERE, porém porque não usa INT 0(se não for destaque) ou 1(para destaques).

 

$sql = "SELECT * FROM nomeTabela WHERE destaque = 1";

 

Espero ter ajudado!

 

T+

Compartilhar este post


Link para o post
Compartilhar em outros sites

[Editando]

Oi Php-man

 

Tentei uma condção assim

Mudei

$query = "SELECT updated FROM $dbvin ORDER BY updated DESC";

Para

 

$query = "SELECT * FROM veiculos WHERE destaque = 'Sim' ORDER BY marca ASC';

 

 

Mostra todos os veiculos do mesmo jeito...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nada tbm

Segui as recomendações do PHP man

Alterei a tabela destaque para INT

E não foi..

Na linha 13 alterei a sql

 

De

$query = "SELECT updated FROM $dbvin ORDER BY updated DESC";

Para

 

$query = "SELECT * FROM veiculos WHERE destaque = 1";

 

 

Nada..

Aonde será que estou errando??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pior que esta sim...

Vou postar novamente ele..

 

<?


require 'configuracoes.php';
require 'config/config.php';

// create link string that will be attached to each vehicle link
$linkstring = "&startitem=$startitem&startpage=$startpage&endpage=$endpage&revendauto=$revendauto&categoria=$categoria&marca=$marca&model=$model&condicao=$condicao";

// get info from database
$link = mysql_connect($dbhost, $dbuser, $dbpass);

$query = "SELECT updated FROM $dbvin ORDER BY updated DESC";
$result = mysql_db_query($dbname, $query, $link);
$result = mysql_fetch_array($result);
$date = date(' d \d\e M \d\e Y \à\s g:i a', $result[updated]);

$query = "SELECT COUNT(*) FROM $dbvin";
$result = mysql_db_query($dbname, $query, $link);
$result = mysql_fetch_array($result);
$count = $result[0];

$result = mysql_db_query($dbname, "SELECT email, phone FROM $dbcfg", $link);
$contact = mysql_fetch_array($result);

mysql_close($link);

// build search query string if neccessary
if($categoria || $marca || $model || $condicao) {
	// build query string
	$query = "SELECT * FROM $dbvin WHERE";
	if($categoria) { $query .= " categoria='$categoria' AND"; }
	if($marca) { $query .= " marca='$marca' AND"; }
	if($model) { $query .= " model LIKE '%$model%' AND"; }
	if($condicao) { $query .= " condicao='$condicao'"; }
	// trim extra AND if neccessary
	if(substr($query, strlen($query)-4, 4) == ' AND') {	$query = substr($query, 0, strlen($query)-4); }
} else {
	$query = "SELECT * FROM $dbvin";
}

// get number of results
$link = mysql_connect($dbhost, $dbuser, $dbpass);
$result = mysql_db_query($dbname, $query, $link);
if(mysql_num_rows($result)) { $numitems = mysql_num_rows($result); }
else { $numitems = 0; }
mysql_close($link);
?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<table width="91%" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
	<td><div align="center"><img src="/automoveis/carros/icones/banner_full.gif" width="468" height="60" /></div></td>
  </tr>
  <tr>
	<td bgcolor="#CCCCCC"><div align="center">
	  <select class='menu' name='categoria' style='width:100px'>
		<option value=''>Categoria</option>
		<? for ($n = 0; $n < count($cset); $n++) { echo "<option value='$cset[$n]'>$cset[$n]</option>"; } ?>
	  </select>
	  <select class='menu' name='marca' style='width:100px'>
		<option value=''>Marca</option>
		<? for ($n = 0; $n < count($mset); $n++) { echo "<option value='$mset[$n]'>$mset[$n]</option>"; } ?>
	  </select>
	  <select class='menu' name='condicao' style='width:90px' tabindex='6'>
		<option value=''>Situação</option>
		<option value='Novo'>Novo</option>
		<option value='Usado'>Usado</option>
	  </select>
	  <input name='model' type="text" class="texto2" style='width:140px' value='' />
	  <input name="button" type="button" class='texto2' onclick="window.location='index.php';" value='Mostrar todos' />
	  <input name="submit" type="submit" class='texto2' value='Procurar' />
	</div></td>
  </tr>
  <tr>
	<td> </td>
  </tr>
  <tr>
	<td><table width="95%" border="0" align="center" cellpadding="2" cellspacing="0" bgcolor="#CCCCCC">
	  <tr>
		<td colspan="5" class="text"> Até o momento temos <font class='texto2'><b>
		  <?=$count?>
		</b></font> veículos cadastrados. </td>
	  </tr>
	  <tr >
		<td height="1" colspan="6"><!-- LINE --></td>
	  </tr>
	  <tr>
		<td colspan="6"><table width='100%' border="0" cellpadding="0" cellspacing="0">
		  <tr class='text'>
			<?
	if($numitems > 0) {
		$numpages = ceil($numitems / $perpage); // THE TOTAL NUMBER OF PAGES
		if(!$startitem) { $startitem = 0; } // FIGURE startitem AND enditem VALUES
		if($startitem + $perpage > $numitems) { $enditem = $numitems; } else { $enditem = $startitem + $perpage; }
		if(!$startpage) { $startpage = 1; } // FIGURE startpage VALUE
		if(!$endpage) { // FIGURE endpage VALUE
			if($numpages > $numlinks) { $endpage = $numlinks; }
			else { $endpage = $numpages; }
		}
		echo "<td>Página(s) ";
		
		/* TEST
		echo "
		<br><br>
		perpage = $perpage<br>
		numlinks = $numlinks<br>
		numitems = $numitems<br>
		numpages = $numpages<br>
		startitem = $startitem<br>
		enditem = $enditem<br>
		startpage = $startpage<br>
		endpage = $endpage<br>
		<br>
		"; */
		
		if($numpages > 1) { // DISPLAY PAGE LINKS
			for($n = $startpage; $n <= $endpage; $n++) { // PAGE LINKS
				if(!$revendauto) { $revendauto = 1; } // THE revendauto PAGE BEING DISPLAYED
				$nextstartitem = ($n - 1) * $perpage;
				if($n != $revendauto) { echo "<a class='link' href='$PHP_SELF?startitem=$nextstartitem&startpage=$startpage&endpage=$endpage&revendauto=$n&categoria=$categoria&marca=$marca&model=$model&condicao=$condicao'><b>$n</b></a> "; }
				else { echo "<font class='paginas'>$n </font>"; }
			}
			if($startpage > 1) { // PREVIOUS SET LINK
				$prevstartpage = $startpage - $numlinks;
				$prevstartitem = $prevstartpage - 1;
				$prevendpage = $startpage - 1;
				echo "<a class='link' href='$PHP_SELF?startitem=$prevstartitem&startpage=$prevstartpage&endpage=$prevendpage&revendauto=$prevstartpage&categoria=$categoria&marca=$marca&model=$model&condicao=$condicao'>Voltar</a> ";
			}
			if($endpage < $numpages) { // NEXT SET LINK
				$nextstartpage = $endpage + 1;
				if(($endpage + $numlinks) < $numpages) { $nextendpage = $endpage + $numlinks; }
				else { $nextendpage = $numpages; }
				$nextstartitem = ($n - 1) * $perpage;
				echo "<a class='link' href='$PHP_SELF?startitem=$nextstartitem&startpage=$nextstartpage&endpage=$nextendpage&revendauto=$nextstartpage&categoria=$categoria&marca=$marca&model=$model&condicao=$condicao'> Ver Mais</a> ";
			}
		} else {
			echo "<font class='grey10'>1 </font>";
			echo "</td>";
		}
		echo "<td align='right'>Exibindo "; echo $startitem + 1; echo " a $enditem </td>";
	} else {
		//echo "<td align='center'>no results error GOES HERE?</td>";
	}
		
	?>
		  </tr>
		</table></td>
	  </tr>
	  <tr class='fill'>
		<td height="1" colspan="6"><!-- LINE --></td>
	  </tr>
	  <tr class='fill'>
		<td width="73" class='text' align='center'><b>Foto</b></td>
		<td width="43" class='text' align='center'><b>Ano</b></td>
		<td width="188" class='text' align='center'><b>Descrição</b></td>
		<td width="51" class='text' align='center'><b>Condição</b></td>
		<td width="65" class='text' align='center'><b>Preço</b></td>
		<td width="26" class='text' align='center'><b>Mais</b></td>
	  </tr>
	  <?
	// display vehicles
	if($numitems > 0) {
		$link = mysql_connect($dbhost, $dbuser, $dbpass);
		$query .= " ORDER BY updated DESC LIMIT $startitem, $perpage"; //echo "$query<br><br>"; // TEST
		$result = mysql_db_query($dbname, $query, $link);
		$n = 1;
		while($data = mysql_fetch_array($result)) {
			// check to see if there is an image to display
			if($data[numimages]) {
				$query = "SELECT thumb FROM $dbimg WHERE codigo='$data[codigo]' ORDER BY id DESC LIMIT 1";
				$image = mysql_db_query($dbname, $query, $link);
				$image = mysql_fetch_array($image);
				$thumb = "<img src='miniaturas/$image[thumb]' border=0>";
			} else {
				$thumb = "sem foto";
				$thumb = "<img src='design/sem_foto.gif' border=0>";
			}
			
			if(!($n % 2)) { $bg = "class='fill_light'"; } else { $bg = ''; }
			echo "
			<tr height=$maxy $bg>
				<td align='center' height=60><a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'>$thumb</a></td>
				<td class='text' align='center'>$data[anofabricacao]</td>
				<td class='text'>
				<a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'><b>$data[marca] $data[model]</b></a> ($data[quilometragem] KM)<br>
				N. Cadastro: $data[cadastro]<br>
				Final da Placa: $data[vin]<br>
				</td>
				<td class='text' align='center'>$data[condicao]</td>
				<td class='text' align='center'>R$ $data[preco]</td>
				<td align='center'><a class='link' href='mostrar.php?codigo=$data[codigo]$linkstring'><b>Ver Mais</b></a></td>
			</tr>
			";
			$n++;
		}
		mysql_close($link);
		
	} else {
		echo "<tr><td class='text' height=100 colspan=6 align='center' valign='middle'>
		<font class='hint'>Desculpe, não foi encontrado nenhum veículo com o critério selecionado.</font><br>
		<br>
		Qualquer dúvida entre em contato com nosso departamento de vendas.<br>
		pelo telefone <font class='destaque'>$contact[phone]</font> ou pelo e-mail <a class='destaque' href='mailto:$contact[email]'><b>$contact[email]</b></a><br>
		</td></tr>";
	}
	
	?>
	  <tr class='fill'>
		<td height="15" colspan="6" bgcolor="#FFFFFF"><!-- LINE --></td>
	  </tr>
	</table></td>
  </tr>
  <tr>
	<td> </td>
  </tr>
</table>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Com certeza o comando SQL esta buscando mais dados que dveria.

 

Coloca o diagrama da tua tabela pra gente saber como estao os dados.

 

A ideia é que a consulta traga apenas os dados que você deseja.

Por isso você deve criar a condição conforme o PHP-Man postou.

 

Nesse caso a condicao é destaque = SIM.

Mas para saber se esta inteiro ou ENUM ou seja la como você criou, fica mais facil se a gente der uma olhada na tabela.

 

Vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vamos lá.

Tabela Veiculos

CREATE TABLE `veiculos` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `codigo` decimal(15,0) default NULL,
  `added` decimal(10,0) default NULL,
  `updated` decimal(10,0) default NULL,
  `viewed` decimal(10,0) default NULL,
  `numimages` decimal(2,0) default NULL,
  `cadastro` varchar(20) default NULL,
  `vin` varchar(30) default NULL,
  `anofabricacao` decimal(4,0) default NULL,
  `anomodelo` decimal(4,0) default NULL,
  `marca` varchar(20) default NULL,
  `model` varchar(30) default NULL,
  `condicao` varchar(5) default NULL,
  `categoria` varchar(20) default NULL,
  `quilometragem` varchar(9) default NULL,
  `preco` varchar(15) default NULL,
  `exterior` varchar(30) default NULL,
  `interior` varchar(30) default NULL,
  `body` varchar(20) default NULL,
  `portas` char(1) default NULL,
  `motor` varchar(40) default NULL,
  `combustivel` varchar(20) default NULL,
  `trans` varchar(20) default NULL,
  `sistemasom` varchar(40) default NULL,
  `financiamento` text,
  `equipamentos` text,
  `observacoes` text,
  `destaque` enum('Sim','Nao') NOT NULL default 'Nao',
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=3;

Tabela das Fotos

CREATE TABLE `fotos` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `codigo` decimal(15,0) default NULL,
  `thumb` char(23) default NULL,
  `image` char(23) default NULL,
  PRIMARY KEY  (`id`)
) TYPE=MyISAM AUTO_INCREMENT=11;

Relembrando

 

$dbcfg = 'configuracao';

$dbvin = 'veiculos';

$dbimg = 'fotos';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, é só colocar o WHERE destaque = Sim

 

Se isso continuar nao funcionando, retorna todos os dados e veja como eles sao armazenados no BD.

 

SELECT * FROM veiculos WHERE destaque = Sim

 

Se for pra pesquisar as fotos dos carros em destaque eu faria assim

 

SELECT * FROM fotos WHERE id IN (SELECT id FROM veiculos WHERE destaque = Sim)

 

Faça essas pesquisas no teu SGBD e veja quais sao dados que retorna e se sao os dados que tu quer mesmo buscar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Achei aonde tenho que mudar..

 

Galera Resolvido

Só para saber

 

Mais ou menos na linha 27

adicionei

$query ="Select *From $dbvin Where destaque = 'Sim'";

 

Agradeço a força de todos abraços

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.