buscador en base de datos paginado
Hola estoy intentando hacer un buscador de una base de dados en el qual tengo una cabecera donde pude escojer por el campo que quiero buscar i la palabr a buscar, con un formulario. Cuando ago la primera consulta me funciona todo de perlas, me muestra la consulta con el navegador en la parte inferior, pero al pulsar en pagina siguiente o en cualquier otra pagina me da el siguiente error:
Error en la consulta de conteo de registros. Mysql dijo: 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 'LIKE '%%'' at line 1
----------------------------------------
El codigo de la capbecera es:
-----------------------------------------
<?
// Buscador para tablas MySQL escrito en PHP. Por Alex para www.webtaller.com
// Creado el 13-10-2003
////////////////////////////
// Configuraci贸n
///////////////////////////
//modifica estas variables seg煤n tu servidor de MySQL
// Conexi贸n y selecci贸n de la base de datos
include "includes/config.php";
$bd_tabla = $ta; // Tabla donde se har谩n las b煤squedas
////////////////////////////
// Formulario
///////////////////////////
?>
Introdueix el/la <?php echo "$bd_tabla"; ?> a buscar</td></tr>
<form name="buscador" method="post" action="inici.php?menu=admin&ta=<?php echo "$bd_tabla"; ?>&enviar=si" >
<tr>
<td><img src="img/admin/buscar.gif"></td>
<td> </td>
<td valign="middle">Buscar en:</td>
<td valign="middle">
<select name="campo">
<?php
//Con este query obtendremos los campos por los cuales el usuario puede buscar
$result = mysql_query("SHOW FIELDS FROM socis",$conect);
while($row = mysql_fetch_row($result)) {
// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdr谩
?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php } ?>
</select>
</td>
<td valign="middle">
Paraula(es):
</td>
<td valign="middle">
<input type="text" name="palabra"><input name="ta" type="hidden" value="<?php echo "$bd_tabla"; ?>">
</td>
</tr>
<tr>
<td colspan="6" align="center" style="border-bottom: 1px #000000 solid">
<input type="submit" value="Buscar" name="enviar">
</td>
</tr>
</form>
------------------------------------------
El codigo de la consulta es:
------------------------------------------
////////////////////////////
// Proceso del Formulario
///////////////////////////
if (isset ($enviar)){
include "includes/extres/funcions.php";
// Solo se ejecuta si se ha enviado el formulario.
// Consultar les dades de la base de dades comentarios.
$_pagi_sql="SELECT * from socis WHERE {$_POST['campo']} LIKE '%{$_POST['palabra']}%'";
$result = mysql_query ($_pagi_sql, $conect);
// Numero de registres per pagina.(opcional per defecte 20).
$_pagi_cuantos=4;
// Insertem l'escript de paginació. Aquest ja ejecuta la consuta automaticament.
include("includes/paginator.inc.php");
echo"</td></tr>";
buscador_capsalera ($bd_tabla);
if ($row=mysql_fetch_array($result)){
do{
echo "<td class='Noticies'>".$row['nom']."</td><td>".$row['cognoms']."</td><td class='Noticies' align='center' width='50'><a href='includes/admin.php?accio=eliminar&id=".$row["id"]."'><img src='img/admin/eliminar.gif' alt='Eliminiar' width='22' height='22'></a></td><td class='Noticies' align='center' width='50'><img src='img/admin/actualitzar.gif' alt='Actualitzar' width='22' height='22'></td></tr>";
}
while ($row=mysql_fetch_array($result));
}
else{
echo "<span class='Noticies'>No hi han resultats a la base de dades.</span>";
}
//Insertem la barra de navegacio.
echo"<tr><td colspan='3' class='Noticies' style='border-top: 1px #000000 solid; padding: 5px' align='center'>".$_pagi_navegacion."</td></tr></table>";
}
?>
</td></tr>
<tr><td colspan="6">
<table width="100%" style="border-top: 1px #000000 solid"><tr><td align="center"><a href="includes/admin.php?accio=actualitzar&id=<?php echo $row['id'] ?>" target="_blank"><img src="img/admin/nou.gif" alt="introduïr-ne un de nou" name="Image1" width="34" height="15" border="0" id="Image1"></a></td></tr></table>
</td></tr>
-------------------------------------
Espero puedan echarme una mano, gracias por todo.
Un salduo,
SANTO
Error en la consulta de conteo de registros. Mysql dijo: 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 'LIKE '%%'' at line 1
----------------------------------------
El codigo de la capbecera es:
-----------------------------------------
<?
// Buscador para tablas MySQL escrito en PHP. Por Alex para www.webtaller.com
// Creado el 13-10-2003
////////////////////////////
// Configuraci贸n
///////////////////////////
//modifica estas variables seg煤n tu servidor de MySQL
// Conexi贸n y selecci贸n de la base de datos
include "includes/config.php";
$bd_tabla = $ta; // Tabla donde se har谩n las b煤squedas
////////////////////////////
// Formulario
///////////////////////////
?>
Introdueix el/la <?php echo "$bd_tabla"; ?> a buscar</td></tr>
<form name="buscador" method="post" action="inici.php?menu=admin&ta=<?php echo "$bd_tabla"; ?>&enviar=si" >
<tr>
<td><img src="img/admin/buscar.gif"></td>
<td> </td>
<td valign="middle">Buscar en:</td>
<td valign="middle">
<select name="campo">
<?php
//Con este query obtendremos los campos por los cuales el usuario puede buscar
$result = mysql_query("SHOW FIELDS FROM socis",$conect);
while($row = mysql_fetch_row($result)) {
// en $row[0] tenemos el nombre del campo
// de esta manera no necesitamos conocer el nombre de los campos
// por lo que cualquier tabla nos valdr谩
?>
<option value="<?php echo $row[0]; ?>"><?php echo $row[0]; ?></option>
<?php } ?>
</select>
</td>
<td valign="middle">
Paraula(es):
</td>
<td valign="middle">
<input type="text" name="palabra"><input name="ta" type="hidden" value="<?php echo "$bd_tabla"; ?>">
</td>
</tr>
<tr>
<td colspan="6" align="center" style="border-bottom: 1px #000000 solid">
<input type="submit" value="Buscar" name="enviar">
</td>
</tr>
</form>
------------------------------------------
El codigo de la consulta es:
------------------------------------------
////////////////////////////
// Proceso del Formulario
///////////////////////////
if (isset ($enviar)){
include "includes/extres/funcions.php";
// Solo se ejecuta si se ha enviado el formulario.
// Consultar les dades de la base de dades comentarios.
$_pagi_sql="SELECT * from socis WHERE {$_POST['campo']} LIKE '%{$_POST['palabra']}%'";
$result = mysql_query ($_pagi_sql, $conect);
// Numero de registres per pagina.(opcional per defecte 20).
$_pagi_cuantos=4;
// Insertem l'escript de paginació. Aquest ja ejecuta la consuta automaticament.
include("includes/paginator.inc.php");
echo"</td></tr>";
buscador_capsalera ($bd_tabla);
if ($row=mysql_fetch_array($result)){
do{
echo "<td class='Noticies'>".$row['nom']."</td><td>".$row['cognoms']."</td><td class='Noticies' align='center' width='50'><a href='includes/admin.php?accio=eliminar&id=".$row["id"]."'><img src='img/admin/eliminar.gif' alt='Eliminiar' width='22' height='22'></a></td><td class='Noticies' align='center' width='50'><img src='img/admin/actualitzar.gif' alt='Actualitzar' width='22' height='22'></td></tr>";
}
while ($row=mysql_fetch_array($result));
}
else{
echo "<span class='Noticies'>No hi han resultats a la base de dades.</span>";
}
//Insertem la barra de navegacio.
echo"<tr><td colspan='3' class='Noticies' style='border-top: 1px #000000 solid; padding: 5px' align='center'>".$_pagi_navegacion."</td></tr></table>";
}
?>
</td></tr>
<tr><td colspan="6">
<table width="100%" style="border-top: 1px #000000 solid"><tr><td align="center"><a href="includes/admin.php?accio=actualitzar&id=<?php echo $row['id'] ?>" target="_blank"><img src="img/admin/nou.gif" alt="introduïr-ne un de nou" name="Image1" width="34" height="15" border="0" id="Image1"></a></td></tr></table>
</td></tr>
-------------------------------------
Espero puedan echarme una mano, gracias por todo.
Un salduo,
SANTO