Hola,
Estoy utilizando la paginación de webexperto.com cambie el anterior porque hay mas información en este foro PHP del webexperto, he revisado la ayuda que le han proporcionado a otras personas y me he apoyado en ellas para ver los errores y las instrucciones, pero francamente no entiendo.
Deseo ayuda en:
1) He creado los if cuando se trabaja con varios campos, pero no funcionan (“NO realiza la búsqueda por campos”) ya que despliega todos los registros de la base de datos. Estoy utilizando un formulario que contiene un input y un select que contiene 5 campos, no se como unir estas dos para que me realice la búsqueda a través de una sentencia SQL y que me realice la paginación. No se si me he dado a entender.
2) Y en la paginación me da que en la primera pagina que es 0 me sale bien la paginación con los 4 registros, pero cuando le doy pagina 1 para que me muestre los siguientes 4 registros me da el siguiente error:
You have an error in your SQL syntax near 'like '%%' where autor like '%%' where asesor like '%%' where materia like '%%' w' at line 1
Deseo que me revisen los $HTTP_GET_VARS para pasar los datos por URL porque creo que están mal declaradas o no las tengo bien, no se como hacerlas por más que leo las instrucciones de los demás, no las entiendo sinceramente y que variables pongo en los link porque no se que variables poner.
Les pido por favor que me ayuden porque ya no se que hacer, Muchas Gracias!!!
El formulario es el siguiente:
<form name="buscador" action="busca111.php3" method="get" target="content">
<p>Escriba su expresión de búsqueda</p>
<p align="center">
<input type ="text" name="buscar" size="35">
<select name="sec" size="1">
<option selected value="titulo">Todas</option>
<option value="autor">Autor</option>
<option value="asesor">Asesor</option>
<option value="materia">Materia</option>
<option value="temas">Temas</option>
</select>
<br>
<input type="submit" value="Buscar">
<input type="reset" value="Borrar"></p>
</form>
Aquí les envió el código completo PHP, Gracias Nuevamente.
<?
$base="trabajo";
$conn=mysql_connect("localhost","","");
mysql_select_db($base,$conn);
if (!isset($pg))
$pg = 0; // $pg es la pagina actual
$cantidad=4; // cantidad de resultados por página
$inicial = $pg * $cantidad;
$criterio="";
//A $criterio le paso el valor de buscar del formulario
if (isset($HTTP_GET_VARS["buscar"])) {
$criterio=$HTTP_GET_VARS["buscar"];
}
$sec=$HTTP_GET_VARS["sec"];
$condicion="";
if ($sec==$HTTP_GET_VARS["titulo"]) {
//Aqui comparo el valor del campo titulo con $criterio
$condicion.=" where titulo like '%$criterio%'";
}
if ($sec==$HTTP_GET_VARS["autor"]) {
$condicion.=" where autor like '%$criterio%'";
}
if ($sec==$HTTP_GET_VARS["asesor"]) {
$condicion.=" where asesor like '%$criterio%'";
}
if ($sec==$HTTP_GET_VARS["materia"]) {
$condicion.=" where materia like '%$criterio%'";
}
if ($sec==$HTTP_GET_VARS["temas"]) {
$condicion.=" where temas like '%$criterio%'";
}
if (''!==$condicion){
$condicion=substr($condicion,6);
}
//Sentencia SQL
$sql="select * from resum".$condicion." order by titulo limit $inicial,$cantidad";
$cad = mysql_db_query($base,$sql) or die (mysql_error());
$contar = "select * from resum".$condicion." order by titulo";
$contarok= mysql_db_query($base,$contar);
$total_records = mysql_num_rows($contarok);
$pages = ceil($total_records / $cantidad);
echo "<h4><b><i>RESULTADOS:</h4></b></i>";
echo "<br>";
echo "<table width='700' height='40' cellpadding='1' cellspacing='1' align='center' border='2'>";
echo "<tr>";
echo "<td height='30' align='center' bgcolor='#D7F2FF'><b>REFERENCIA</b></td>";
echo "<td height='30' align='center' bgcolor='#D7F2FF'><b>TITULO</b></td>";
echo "<td height='30' align='center' bgcolor='#D7F2FF'><b>AUTOR</b></td>";
echo "<td height='30' align='center' bgcolor='#D7F2FF'><b>AÑO</b></td>";
echo "</tr>";
//Resultados
while($row=mysql_fetch_array($cad)){
echo '<tr><td bgcolor="#F0FAFF">'.$row["referencia"].'</td>';
echo '<td bgcolor="#F0FAFF"><a href="desplegar.php3?titulo='.urlencode($row["titulo"]).'" target="ventana" onclick="javascript
:abreventana(this.href,this.tar get); return false;">'.$row["titulo"].'</a></td>';
echo '<td bgcolor="#F0FAFF">'.$row["autor"].'</td>';
echo '<td bgcolor="#F0FAFF">'.$row["anno"].'</td></tr>';
}
//else
// echo "¡ No se ha encontrado ningún registro !";
// Cerramos la conexión a la base
$conn=mysql_close($conn);
// Creando los enlaces de paginación
echo "<p>";
if ($pg <> 0)
{
$url = $pg - 1;
echo "<a href='busca111.php3?pg=".$url."&criterio=".$criter io."&sec=".$ec."'>« Anterior</a> ";
}
else {
echo " ";
}
for ($i = 0; $i<$pages; $i++) {
if ($i == $pg) {
echo "<font face=Arial size=2 color=ff0000><b> $i </b></font>";
}
else {
echo "<a href='busca111.php3?pg=".$i."&criterio=".$criterio ."&sec=".$ec."'>".$i."</a> ";
}
}
if ($pg < $pages) {
$url = $pg + 1;
echo "<a href='busca111.php3?pg=".$url."&criterio=".$criter io."&sec=".$ec."'>Siguiente »</a>";
}
else {
echo " ";
}
echo "</p>";
?>