Ir para conteúdo

POWERED BY:

Arquivado

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

paladino_php

Query Sql combo Ajax

Recommended Posts

A Query abaixo retorna 174 registros porém na listagem vem apenas 20. Deem uma olhada:

 

 

 
 
  if($_pagi_totalReg > 0){
$sql   = array();
  $sql[] = '<li><strong>'.$_pagi_totalReg.' produto(s) encontrado(s)</strong></li>';
 
while($line = mysql_fetch_object($_pagi_result)){
$id_produto = $line->id_produto;
$modelo     = $line->modelo;
 
$sql[] = '<li><span>'.$modelo.'</span><a class="float" href="http://www.acheicomprasrj.com.br/modulos/lojista/cadastrar_produtos.php?id='.$id_produto.'"><img src="'.URL.IMG.'assets/bt-cad-produto.fw.png" title="Cadastrar produto" /></a></li>';
}
 
  /*$sql[] = '
<div class="rodape-lista-prod">
<div class="totalRegistros">
<span>'.$_pagi_info.'</span>
</div><!-- /totalRegistros -->
<div class="paginacao">
'.$_pagi_navegacion.'
</div><!-- /paginacao -->
</div>
';*/
 
$resultado = array('sucesso' => $sql);
echo json_encode($resultado);
  }

 

estou usando o paginator.class.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

174 é o total?

 

20 é o que retorna ?

 

está usando paginação, então creio que esteja paginando de 20 em 20 ..

 

se for isso está correto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tive que fazer algo parecido com isso esses dias no trabalho.

 

Fiz um tutorial sobre isso inclusive http://www.phptech.com.br/lista-select-box-php-jquery-ajax/ não sei se é o que procura, mas para mim veio a acalhar listando todas as cidades que precisava para o momento em um select box.

 

Se isso ajudar ou tiver dúvida em relação grita ai =)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado a todos que responderam. E btw interessante seu post e o site, está nos favoritos, irei ler mais tarde ;)

Amigão, está paginando sim, porem não está seguindo as regras

 

 

 
$show = 10;

 

Parei ai, pq em todo o sistema funciona, exceto nessa parte. Deveria exibir 10 registros e não vinte. E independente de estar paginado o resultado é sempre 20 cravado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

seu componente de paginação js não esta restringindo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

O código da página é esse

 

 
<?php
include_once '../../../config/config.php';
 
$action  = '';
 
 if(isset($_POST['action']) && !empty($_POST['action'])){
$action = $_POST['action'];
 }
 
 if(isset($_GET['action']) && !empty($_GET['action'])){
$action = $_GET['action'];
 }
 
 if(empty($action)){
echo '<script type="text/javascript">history.back();</script>';
 }
 
 if($action == 'enviar-search-prod-admin'){
  $pesquisar  = $_POST['search'];
 
  if(!empty($pesquisar)){
$exploded = explode(" ",$pesquisar);
$contar   = count($exploded);
 
for($i = 0; $i < $contar; $i++){
$search_ .= "AND ((modelo LIKE '%%".$exploded[$i]."%%') OR (descricao LIKE '%%".$exploded[$i]."%%') OR (fab_nome LIKE '%%".$exploded[$i]."%%') OR (sub_nome LIKE '%%".$exploded[$i]."%%') OR (sub2_nome LIKE '%%".$exploded[$i]."%%') OR (sub3_nome LIKE '%%".$exploded[$i]."%%'))";
}
  }
 
$_pagi_sql = "
SELECT * FROM produtos
LEFT JOIN categorias ON produtos.id_categoria = categorias.cat_nome
LEFT JOIN subcat ON produtos.id_sub = subcat.sub_id
LEFT JOIN subcat2 ON produtos.id_sub2 = subcat2.sub2_id
LEFT JOIN subcat3 ON produtos.id_sub3 = subcat3.sub3_id
LEFT JOIN fabricantes ON produtos.id_fabricante = fabricantes.fab_id
WHERE 1 = 1 $search_
ORDER BY modelo
";
 
include_once DIR.INCLUDES. 'paginator-cad-produtos-lojista.class.php';
 
 
  if($_pagi_totalReg > 0){
$sql   = array();
  $sql[] = '<li><strong>'.$_pagi_totalReg.' produto(s) encontrado(s)</strong></li>';
 
while($line = mysql_fetch_object($_pagi_result)){
$id_produto = $line->id_produto;
$modelo     = $line->modelo;
 
$sql[] = '<li><span>'.$modelo.'</span><a class="float" href="http://www.acheicomprasrj.com.br/modulos/adm/cadastrar/cad_anuncios.php?id='.$id_produto.'"><img src="'.URL.IMG.'assets/bt-cad-produto.fw.png" title="Cadastrar produto" /></a></li>';
}
 
  $resultado = array('erros' => print_r($_pagi_sql));
  echo json_encode($resultado);
 
  /*$sql[] = '
<div class="rodape-lista-prod">
<div class="totalRegistros">
<span>'.$_pagi_info.'</span>
</div><!-- /totalRegistros -->
<div class="paginacao">
'.$_pagi_navegacion.'
</div><!-- /paginacao -->
</div>
';*/
 
$resultado = array('sucesso' => $sql);
//echo json_encode($resultado);
  }else{
  $resultado = array('erros' => '<li id="last-li">Produto nao encontrado? Solicite o cadastro desse produto <a id="no-float" href="cadastrar_produto_inexistente.php?fab='.$_POST['fabricante'].'">Clicando aqui</a>.</li>');
  echo json_encode($resultado);
  }
 }
?>

 

E esse é o echo na query

 

 

 


  SELECT * FROM produtos  LEFT JOIN categorias ON produtos.id_categoria = categorias.cat_nome  LEFT JOIN subcat ON produtos.id_sub = subcat.sub_id  LEFT JOIN subcat2 ON produtos.id_sub2 = subcat2.sub2_id  LEFT JOIN subcat3 ON produtos.id_sub3 = subcat3.sub3_id  LEFT JOIN fabricantes ON produtos.id_fabricante = fabricantes.fab_id  WHERE 1 = 1 AND ((modelo LIKE '%%Computador%%') OR (descricao LIKE '%%Computador%%') OR (fab_nome LIKE '%%Computador%%') OR (sub_nome LIKE '%%Computador%%') OR (sub2_nome LIKE '%%Computador%%') OR (sub3_nome LIKE '%%Computador%%'))AND ((modelo LIKE '%%amd%%') OR (descricao LIKE '%%amd%%') OR (fab_nome LIKE '%%amd%%') OR (sub_nome LIKE '%%amd%%') OR (sub2_nome LIKE '%%amd%%') OR (sub3_nome LIKE '%%amd%%'))  ORDER BY modelo  {"erros":true}

Compartilhar este post


Link para o post
Compartilhar em outros sites

essa query acima não tem nada a ver.. o que precisa é analisar a query já montada..

 

sobre usar o where 1 = 1 para essa finalidade também não tem nada a ver..

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.