Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/05/2003, 12:02
lailuluelo
 
Fecha de Ingreso: mayo-2003
Mensajes: 125
Antigüedad: 21 años
Puntos: 0
Sigo con problemas

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 ¿?

Última edición por lailuluelo; 15/05/2003 a las 12:02