Danv 0 Denunciar post Postado Janeiro 5, 2004 Ola pessoal.... Não estou conseguindo entender por que esta dando este erro.... " You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND excluido=N AND '%%' LIKE '%%' ORDER BY nome ASC LIMIT 0,20' " segue o codigo onde é realizada a consulta: <?php require_once('config.php'); ?><?php require_once('funcoes.php'); ?><?php require_once('conn.php'); ?><?php...//PAGINAÇÃO COMEÇA AQUI$page_count = 20; //resultados por pagina$cut_off = 10; //pages displayed at onceif($_GET['start']==""){if(!isset($start))$start = 0; //não toque aqui}else{if(!isset($start))$start = $_GET['start']; }mysql_select_db($database_conn, $conn);$query_rsUsuarios = "SELECT * FROM nivel WHERE id_rh=".$id_rh." AND nivel=".$nivel." AND excluido='N' AND ".$vcampo." LIKE '%".$_POST['pesquisa']."%' ORDER BY nome ASC LIMIT ".$start.",".$page_count."";$rsUsuarios = mysql_query($query_rsUsuarios, $conn) or die(mysql_error());$row_rsUsuarios = mysql_fetch_assoc($rsUsuarios);$totalRows_rsUsuarios = mysql_num_rows($rsUsuarios);mysql_select_db($database_conn, $conn);$query_rsUsuariosN = "SELECT * FROM nivel WHERE id_rh=".$id_rh." AND nivel=".$nivel." AND excluido='N'";$rsUsuariosN = mysql_query($query_rsUsuariosN, $conn) or die(mysql_error());$row_rsUsuariosN = mysql_fetch_assoc($rsUsuariosN);$totalRows_rsUsuariosN = mysql_num_rows($rsUsuariosN);function pagination($page_count,$totalRows_rsUsuariosN,$start,$PHP_SELF,$cut_off){$newnum = $totalRows_rsUsuariosN / $page_count;$newnum = ceil($newnum);if(!isset($page))$page = 1;if($newnum >= 2){echo "<table border=\"0\" cellpadding=\"3\" cellspacing=\"0\" bgcolor=\"#eeeeee\" align=\"center\"><tr><td style=\"border: 1px solid #999999; font-family: Verdana; font-size: 11px;\" nowrap>";if(isset($start) && $start != 0){echo "« <a href=\"$PHP_SELF?start="; echo $start - $page_count; echo "\">anterior</a> ";}else{echo "« anterior ";}$total_pages = $newnum;if($newnum > $cut_off)$newnum = $cut_off;$cur_page = ($start + $page_count) / $page_count;if($cur_page > $cut_off)$page = $cur_page - $cut_off + 1;if($cur_page > $cut_off){$start_page = $page * $page_count - $page_count;}else{$start_page = 0;}for($i=0; $i<$newnum;$i++){ if($start == ($page * $page_count) - $page_count){ echo "<b><font size=\"3\" color=\"#666666\">$page</font></b> "; } else{ echo "<a href=\"$PHP_SELF?start=$start_page\">$page</a> "; }$page++;$start_page = $start_page + $page_count;}if($newnum >= 2 && $cur_page < $newnum && $cur_page <= $total_pages){echo " <a href=\"$PHP_SELF?start="; echo $start + $page_count; echo "\">próxima</a> »";}elseif($cur_page >= $total_pages){echo " próxima »";}else{echo " <a href=\"$PHP_SELF?start="; echo $start + $page_count; echo "\">próxima</a> »";}echo "</td></tr></table><br /><div align=\"center\" style=\"font-family: Verdana; font-size: 11px; color: #666666;\">Página $cur_page de $total_pages<div>";}//if any results at top}//function?><HTML>...Engraçado é que eu utilizo em outra sessão e funciona normalmente.... Bom, a primeira consulta é esta... $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh=".$id_rh." AND id_fr=".$franquia." AND excluido=".$excluido." AND ".$vcampo." LIKE '%".$_POST['pesquisa']."%' ORDER BY nome ASC LIMIT ".$start.",".$page_count.""; onde esta dando o erro.... mas porque?? Não estou vendo nada errado ae... Inclusive encontrei este condigo de paginação na própria iMasters, muito bom. A propósito, Feliz Ano Novo pessoal. Onde o erro ocorre é indicado... mas não estendo porque. Bom, se alguem poder me dar uma força ae, valeu pessoal. Compartilhar este post Link para o post Compartilhar em outros sites
grldesign 0 Denunciar post Postado Janeiro 5, 2004 Erro de sintaxe. Você está utilizando aspas duplas dentro de aspas duplas. Olhe abaixo: $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh=".$id_rh." AND id_fr=".$franquia." AND excluido=.$excluido." AND ".$vcampo." LIKE '%".$_POST['pesquisa']."%' ORDER BY nome ASC LIMIT ".$start.",".$page_count."";Dentro de aspas duplas só se usa aspas simples. Tente utilizar o exemplo abaixo: $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh='.$id_rh.' AND id_fr='.$franquia.' AND excluido='.$excluido.' AND '.$vcampo.' LIKE '%.$_POST['pesquisa'].%' ORDER BY nome ASC LIMIT '.$start.', '.$page_count.'";Um abraço. Compartilhar este post Link para o post Compartilhar em outros sites
Danv 0 Denunciar post Postado Janeiro 5, 2004 Engraçado... meus outros códigos não dão este erro.... Mesmo assim testei da forma como indicou mas continua dando erro... Essa de não "poder" utilizar aspas duplas dentro de aspas duplas não entendi.... estou apenas concatenando... fiz a seguinte alteração: $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh=".$id_rh." AND id_fr=".$franquia." AND excluido=.$excluido." AND ".$vcampo." LIKE '%".$_POST['pesquisa']."%' ORDER BY nome ASC LIMIT ".$start.",".$page_count.""; $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh=".$id_rh." AND excluido=.$excluido." AND ".$vcampo." LIKE '%".$_POST['pesquisa']."%' ORDER BY nome ASC LIMIT ".$start.",".$page_count.""; Simplesmente exclui um filtro.... o AND id_fr = ".$franquia." e funciona normalmente, mas eu preciso deste filtro.... Bom, valeu grldesign, mas não deu muito certo. Compartilhar este post Link para o post Compartilhar em outros sites
Alisson Rodrigues 3 Denunciar post Postado Janeiro 5, 2004 $query_rsUsuarios = "SELECT * FROM clientes WHERE id_rh='$id_rh' AND excluido='$excluido' AND vcampo LIKE '%$_POST[pesquisa]%' ORDER BY nome ASC LIMIT $start,$page_count";Tenta assim Compartilhar este post Link para o post Compartilhar em outros sites