Leandromx 0 Denunciar post Postado Novembro 13, 2007 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
PHP-man 0 Denunciar post Postado Novembro 13, 2007 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
Leandromx 0 Denunciar post Postado Novembro 13, 2007 [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
PHP-man 0 Denunciar post Postado Novembro 13, 2007 Oi. Tenta usar o campo destaque como INT, pois não connheço esse tipo ENUM. Se fizer assim vai funcionar! T+ Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 13, 2007 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
PHP-man 0 Denunciar post Postado Novembro 13, 2007 Seu código ta dando algum erro, ou esta funcionando normalmente? Posta ai! Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 14, 2007 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
lmbagolin 0 Denunciar post Postado Novembro 14, 2007 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
Leandromx 0 Denunciar post Postado Novembro 14, 2007 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
lmbagolin 0 Denunciar post Postado Novembro 14, 2007 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
Leandromx 0 Denunciar post Postado Novembro 14, 2007 Ta mais aonde eu mudo isso... Porque já fiz isso e não deu Compartilhar este post Link para o post Compartilhar em outros sites
Bruno.Jr 0 Denunciar post Postado Novembro 14, 2007 Não não.. Listar todas as fotos cadastrado para uma determinada ID... Compartilhar este post Link para o post Compartilhar em outros sites
Leandromx 0 Denunciar post Postado Novembro 14, 2007 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