Limitação de consultas em MySQL para um buscador de classificados

  • Autor Autor blogers
  • Data de início Data de início
Tradução em andamento: em alguns minutos este tópico estará em português. Por enquanto, o conteúdo está no original em espanhol. Ver original
B

blogers

Pi
SEO
Hola tengo un buscador de clasificados

Me armaron este codigo pero como ya no tengo plata mas la que mi jefa me dio para invertir en un presupuesto, vengo a pedirles una ayuda

$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));

Como hacer que no busque en toda la tabla y se vuelva lento el script y mysql si no que busque en los ultimos 1000 registros aqui ya puse el orden ORDER BY death DESC hace que busque en los ultimos nuvos registros pero como hacer la limitacion para que no busque en toda la tabal solo que busque en los ultimos 1000 registros por que la paginacion es de 10 listados x100 pagina.

se los agradecere si me ayudan ando navegando y picando piedra con php
 
Foi útil? Participe da conversa

Com sua conta grátis você pode responder, mandar mensagem privada ao autor e comprar com Saldo retido: o pagamento é liberado quando você recebe o combinado.

Leva 30 segundos · você volta a este tópico ao terminar
Limit 0,1000
 

$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));


en que parte del codigo debo de insertar Limit 0,1000
 
$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));


en que parte del codigo debo de insertar Limit 0,1000

Inserir CODE, HTML ou PHP:
$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC LIMIT 0,1000'));

SQL Limit - MySQL Limit - SQL Limit Results
 
Nose men por eso pido ayuda

Inserir CODE, HTML ou PHP:
$pages = mysql_fetch_assoc(mysql_query("SELECT COUNT(codigo) AS total ".$cueri." FROM "._table_." WHERE MATCH(title) AGAINST('".mysql_real_escape_string($querys)."' ) ORDER BY death DESC LIMIT 0,1000"));

Por otro lado: _table_ es una variable definida??¿¿ porke sino le falta el $

Por otro lado tu consulta es mal armada... tiene errores... por eso se muere y ya te he dicho antes... ponele la opcion de mostrar errores al php sino una pagina en blanco es de adivinos.
 
asi esta la funcion

function parse_bd($countrySelect, $query, $jobLocation, $max)
{
global $lang, $jobLocation, $jobSelect, $countrySelect, $keyword, $refineKeyword;
# // \\ #
$jobLocation = trim($jobLocation);
$query = trim($query);
//
$querys = isset($jobLocation) ? isset($query) ? $query.' ' .$jobLocation : $jobLocation : $query;



$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));


if($pages['total'] == 0) {return 'Empty';} else {
//
$data['pages'] = paginacion($pages['total'], 11);
if($data['pages']['limite'] == 1) {return 'Nada';}
//
echo str_replace(array('{total}', '{page}', '{totalp}'), array($pages['total'], $data['pages']['page'], $data['pages']['totalp']), $lang['busquedas_encontradas']);
//echo 'Se han encontrado '.$pages['total'].' resultados - Página '.$data['pages']['page'].' de '.$data['pages']['totalp'];
//
//register_mysearches($query, $jobLocation, $jobSelect, $pages['total']);
//
$query = mysql_query($f = 'SELECT * '.$cueri.' LIMIT '.$data['pages']['limit']);
while($data['info'] = mysql_fetch_assoc($query))
{
$descc = substr(trim($data['info']['description']), 0, 3);
if($descc == 'JoS' || empty($data['info']['description']))
{
$extrade = 'rel="nofollow" target="_blank"';
$link_new_data = $data['info']['link'];
}
//
$slip = ($descc == 'JoS') ? 3 : 0;
$data['info']['description'] = substr(strip_tags($data['info']['description']), $slip, 400).'...';
//
include('layout/search-results.php');
unset($link_new_data, $extrade);
//
++$i;
}
//
$url = _siteurl.'/search-jobs.php?seo_url1='.$lang['seo_url1'].'&jobLocation='.$jobLocation.'&jobSelect='.$jobSelect.'&countrySelect='.$countrySelect.'&keyword='.$keyword.'&workExp='.$jobtype.'&refineKeyword='.$refineKeyword;
//--\\
if($data['pages']['prev'] > 0) echo '<a href="'.$url.'&page='.$data['pages']['prev'].'">'.$lang['busquedas_paginador2'].'</a> &nbsp; ';
if(mysql_num_rows($query) > 10 && $data['pages']['next'] <= 100) echo '<a href="'.$url.'&page='.$data['pages']['next'].'">'.$lang['busquedas_paginador'].'</a>';

}
}



function paginacion($total, $max = 10){
// PÁGINA ACTUAL
$pages['page'] = empty($_GET['page']) ? 1 : abs((int)$_GET['page']);
// Nº PAGINAS
//fixed by Cicklow
$tmp_p = ceil($total / $max);
$pages['totalp'] = iff($tmp_p>100,100,$tmp_p);
// ANTERIOR
$pages['prev'] = ($pages['page'] > 0) ? $pages['page'] - 1 : 0;
// SIGUIENTE
$pages['next'] = ($next <= $pages['totalp']) ? $pages['page'] + 1 : 0;
// LIMITE BD
$pages['limit'] = (($pages['page'] - 1) * $max).','.$max;
//fixed by Cicklow
$pages['limite'] = 0;
if($pages['limit']>1089){
$pages['limite'] = 1;
$pages['limit'] = 1089;
$pages['totalp'] = 100;
$pages['page'] = 100;
}
return $pages;
}

function iff($A,$B,$C){
if($A) return $B; else return $C;
}


Inserir CODE, HTML ou PHP:
$pages = mysql_fetch_assoc(mysql_query("SELECT COUNT(codigo) AS total ".$cueri." FROM "._table_." WHERE MATCH(title) AGAINST('".mysql_real_escape_string($querys)."' ) ORDER BY death DESC LIMIT 0,1000"));

Por otro lado: _table_ es una variable definida??¿¿ porke sino le falta el $

Por otro lado tu consulta es mal armada... tiene errores... por eso se muere y ya te he dicho antes... ponele la opcion de mostrar errores al php sino una pagina en blanco es de adivinos.
 
$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));
 
'.$cueri = '
?=
$pages = mysql_fetch_assoc($peig = mysql_query('SELECT COUNT(codigo) AS total '.$cueri = ' FROM '._table_.' WHERE MATCH(title) AGAINST(\''.mysql_real_escape_string($querys).'\' ) ORDER BY death DESC'));
 
ese es tu problema... en uno de mis post anteriores te lo arregle!
HTML:
$pages = mysql_fetch_assoc(mysql_query("SELECT COUNT(codigo) AS total ".$cueri." FROM "._table_." WHERE MATCH(title) AGAINST('".mysql_real_escape_string($querys)."' ) ORDER BY death DESC LIMIT 0,1000"));

Lo puse pero vuelve a ponerse en blanco las paginas
 
HTML:
$pages = mysql_fetch_assoc(mysql_query("SELECT COUNT(codigo) AS total ".$cueri." FROM "._table_." WHERE MATCH(title) AGAINST('".mysql_real_escape_string($querys)."' ) ORDER BY death DESC LIMIT 0,1000"));

Lo puse pero vuelve a ponerse en blanco las paginas

habilita los errores de php... no somos adivinos!
 
[29-Jul-2013 14:49:03 America/New_York] PHP Fatal error: Call to undefined function paginacion() in /home/joboseek/public_html/parse.php on line 251

te dice ke la funcion paginacion no existe.
 
configura php.ini para que muestre errores.
 
Voltar
Topo