Muchas gracias por tu ayuda, pero aun no he conseguido arreglarlo. Creo que son un cumulo de pequeñas cosillas en las que voy trabajando. De todas formas y por si lo veis antes que yo os adjunto el código, esta vez con el boton PHP, MUCHAS GRACIAS
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>Resultado de la búsqueda</title>
<link REL="StyleSheet" href="../css/estilo.css" type="text/css">
</head>
<body>
<div align="center">
<?
// Nos conectamos con el servidor MySQL
$conexion = mysql_connect("localhost", "root", "")
or die("¡No se ha podido establecer la conexión con el servidor local!");
// Seleccionamos la Base de Datos
$resp = mysql_select_db("test")
or die("¡No se ha podido seleccionar la base de datos yyy!");
// Limito la busqueda
$tamano_pagina = 10;
// Examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $tamano_pagina;
}
$criterio=''; // primero vaciamos la consulta
if (''!=$_POST["apellidos"])
{
$criterio.=" and APELLIDO like '$_POST["apellidos"]'";
}elseif (''!=$_GET["apellidos"]) {
$criterio.=" and APELLIDO like '$_GET["apellidos"]'";
}
}
/*
if (''!=$_POST["dni"])
{
$criterio.=" and DNI like '$_POST["dni"]'";
}elseif (''!=$_GET["dni"]) {
$criterio.=" and DNI like '$_GET["dni"]'";
}
*/
// si $condicion esta vacia es que no han rellenado ningun campo
// Si es necesario que rellenen algun campo, lo tratamos como un error
if (''==$criterio)
{
//tratamos el error
}
// si tiene valor, quitamos los 4 primeros caracteres ' and'
$criterio=substr($criterio,4);
// con esto tenemos la condicion
// ahora montamos la consulta
$sqlquery = "SELECT * FROM pilp2003 WHERE ".$criterio." ORDER by idContacto";
echo $sqlquery;
/* Notificamos fallo si se produce */
$queryresult = mysql_query($sqlquery) or die("¡No se puede ejecutar la sentencia select1!");
$num_total_registros = mysql_num_rows($queryresult);
// Calculo el total de páginas
$total_paginas = ceil($num_total_registros / $tamano_pagina);
// Número de registros total, tamaño de página y la página que se muestra
echo "Número de registros encontrados: " . $num_total_registros . "<br>";
echo "Se muestran páginas de " . $tamano_pagina . " registros cada una<br>";
echo "Mostrando la página " . $pagina . " de " . $total_paginas . "<p>";
// Miro a ver el número total de campos que hay en la tabla con esa búsqueda
$sqlquery = "SELECT * FROM pilp2003 WHERE" . $criterio . " limit " . $inicio . "," . $tamano_pagina;
echo $sqlquery . "<p>";
/* Notificamos fallo si se produce */
$queryresult = mysql_query($sqlquery) or die("¡No se puede ejecutar la sentencia select2!");
$num_total_registros = mysql_num_rows($queryresult);
echo "<table border = '1'> \n";
echo "<tr> \n";
// Para los del ejemplo
echo "<td>IdContacto</td> \n";
echo "<td>Nombre</td> \n";
echo "<td>Apellido</td> \n";
echo "<td>DNI</td> \n";
echo "<td>Teléfono</td> \n";
echo "<td>Teléfono1</td> \n";
echo "<td>Móvil</td> \n";
echo "</tr> \n";
while ($fila = mysql_fetch_object($queryresult))
{
echo "<td>".$fila->IdContacto."</td> \n";
echo "<td>".$fila->NOMBRE."</td> \n";
echo "<td>".$fila->APELLIDO."</td> \n";
echo "<td>".$fila->DNI."</td> \n";
echo "<td>".$fila->TELEFONO."</td> \n";
echo "<td>".$fila->TELEFONO1."</td> \n";
echo "<td>".$fila->TELMOVIL."</td> \n";
echo "</tr> \n";
}
echo "</TABLE>";
// Liberamos
mysql_free_result($queryresult);
// Cerramos la conexión con la BD
mysql_close($conexion);
echo "<p>";
//muestro los distintos índices de las páginas, si es que hay varias páginas
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='busqueda.php?pagina=" . $i . "&criterio=" . $criterio . "'>" . $i . "</a> ";
}
}
?>
</div>
</body>
</html>
El código inicial trabaja con dos variables: criterio y txt_criterio, sin embargo el codigo de los ejemplos que se muestran como solucion trabajan unicamente con una sola variable ($condicion).
El caso es que no termino de ver como podria pasar la referencia de una unica variable aunque tenga varios posibles criterios en el where. Lo siento pero estoy bloqueado.
GRACIAS
No tengo ahora para probarlo pero el problema estará unicamente en los % que se me ha olvidado poner para que busque las cadenas dentro de los campos ¿?