Foros del Web » Programando para Internet » PHP »

ENVIAR VARIABLES POR FORM y PAGINAR

Estas en el tema de ENVIAR VARIABLES POR FORM y PAGINAR en el foro de PHP en Foros del Web. Hola. Tengo este codigo, que lo que hace es buscar y paginar los registros de mi tabla. Luego tengo un archivo resultados.php donde mediante un ...
  #1 (permalink)  
Antiguo 19/07/2006, 19:47
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 11 años, 5 meses
Puntos: 0
ENVIAR VARIABLES POR FORM y PAGINAR

Hola. Tengo este codigo, que lo que hace es buscar y paginar los registros de mi tabla.
Luego tengo un archivo resultados.php donde mediante un INCLUDE se llama a este codigo.
Mi pregunta es: En resultados.php quiero poner un form y que alguien teclee un apellido, presione BUSCAR y con ese dato que pongan se traigan los datos de la tabla, con este script de paginacion.
Necesito saber como pasar variables por un FORM en php....y QUE CAMBIARLE a este codigo para que lo reciba y liste solo lo que le pida el usuario.
MIL MILLONES DE GRACIAS.


Código PHP:
<?



$pg
=$_GET['pg'];
$host="localhost";
$user="XX";
$pass="YY";
$db="X_flia";
$tabla="datos";




$con=mysql_connect($host,$user,$pass);
mysql_select_db($db,$con);


if (!isset(
$_GET['pg'])){
$pg 0;
}
$cantidad 30;
$inicial $pg $cantidad;


$pegar "SELECT * FROM $tabla LIMIT $inicial,$cantidad";
$cad mysql_db_query($db,$pegar) or die (mysql_error());

$contar "SELECT * FROM $tabla";
$contarok mysql_db_query($db,$contar);
$total_records mysql_num_rows($contarok);
$pages intval($total_records $cantidad);

if (
$total_records 1){
    echo 
"<table width=100% align=center border=0 cellspacing=2 cellpadding=2 bgcolor=#FFFFFF>";
    echo 
"<td>No hay actualmente registros coincidentes.</td>";    
    echo 
"</table>";
$con=mysql_close($con);  

    }
    else{


echo 
"<table width=100% align=center border=0 cellspacing=2 cellpadding=2 bgcolor=#FFFFFF>";
echo 
"<tr bgcolor=#C2D5FC>";
echo 
"<td>Tabla de datos</td>";


while (
$array mysql_fetch_array($cad))
{
echo 
"<tr bgcolor=#FEFEFB>";
    echo 
"<td>",$array[nombre],"</td>";
        echo 
"<td>",$array[apellido],"</td>";
            echo 
"<td>",$array[caca],"</td>";
                echo 
"<td>",$array[pedo],"</td>";

    

echo 
"</table>";
 
$con=mysql_close($con);  

echo 
"<center><p>";
if (
$pg <>0)
{
$url $pg 1;
echo 
"<font><a href='resultados.php?pg=".$url."'>&laquo; Anterior</a>&nbsp;</font>";
}
else {
echo 
" ";
}
for (
$i 0$i<($pages 1); $i++) {
if (
$i == $pg AND $pg <> 0) {
echo 
"<font><b>&nbsp;$i&nbsp;</b></font>";
}
elseif (
$i == $pg AND $pg == 0) {
echo 
" ";
}
else {
echo 
"<font><a href='resultados.php?pg=".$i."'>".$i."</a>&nbsp;</font>";
}
}
if (
$pg $pages) {
$url $pg 1;
echo 
"<font><a href='resultados.php?pg=".$url."'>Siguiente &raquo;</a></font>";
}
else {
echo 
" ";
}
echo 
"</p></center>";
}
?>

Última edición por Cluster; 20/07/2006 a las 08:22
  #2 (permalink)  
Antiguo 20/07/2006, 08:25
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Te recomendaría usar el script:

Paginator (de Jpinedo).
http://jpinedo.webcindario.com/scripts/paginator/

Ahí veras fácilmente como usarlo en la práctica .. Por tu parte sólo tendrás que componer tu sentencia SQL tipo:

Código PHP:
$sql="SELECT * FROM tabla WHERE camp='".$_POST['buscar']."'"
Donde "buscar" será tu campo (input) de tu formulario (en method="POST") que enviaras a este script (si mismo u otro).

Y ese $sql darselo a la función correspondiente de "Paginator" para que este haga su tarabajo de paginado (con más opciones y controles de los que tu código propuesto hace).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 20/07/2006, 09:22
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 11 años, 5 meses
Puntos: 0
Graciassss

Te agradezco mucho por contestarme.
Ya bajé el paginator....y creo haber entendido lo que me explicaste.
Lo voy a probar y seguramente necesite otra ayuda luego, porque la busqueda es por apellido, pero ese apellido tiene un campo en su tabla que es "id de padres" y otro "id matrimonio".....mi idea es que la consulta te traiga los datos de este usuario (nombre apellido), que esto lo se hacer.
Pero a la vez se fije QUE ID tiene de padres y matrimonio, y los busque en la tabla para traer sus respectivos nombres.
Entendes?

Y ahi sí que no se como hacer!!!!

Saludos!
  #4 (permalink)  
Antiguo 20/07/2006, 09:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por solecoza
Te agradezco mucho por contestarme.
Ya bajé el paginator....y creo haber entendido lo que me explicaste.
Lo voy a probar y seguramente necesite otra ayuda luego, porque la busqueda es por apellido, pero ese apellido tiene un campo en su tabla que es "id de padres" y otro "id matrimonio".....mi idea es que la consulta te traiga los datos de este usuario (nombre apellido), que esto lo se hacer.
Pero a la vez se fije QUE ID tiene de padres y matrimonio, y los busque en la tabla para traer sus respectivos nombres.
Entendes?

Y ahi sí que no se como hacer!!!!

Saludos!
En ese caso tu compón tu sentencia SQL adecuada que te entregue el resultado (con INNER JOIN o lo que necesites ..). La sentencia SQL que resulte se la pasas a "Paginator" .. él ya se encarga de colocar la sentencia "LIMIT" de SQL para gestionar el paginado y todo el resto de código auxiliar para la páginación (links, propagación de variables .. etc).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 20/07/2006, 15:21
Avatar de solecoza  
Fecha de Ingreso: julio-2006
Mensajes: 126
Antigüedad: 11 años, 5 meses
Puntos: 0
Ahi empieza mi problema....no se muy bien la sintaxis que deberia usar esa busqueda sql....
ojala alghuien pueda ayudarmeeee
GRaciasssss
  #6 (permalink)  
Antiguo 20/07/2006, 15:37
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por solecoza
Ahi empieza mi problema....no se muy bien la sintaxis que deberia usar esa busqueda sql....
ojala alghuien pueda ayudarmeeee
GRaciasssss
Consulta en el foro de "Base de datos" (subforo Mysql) .. indica la estructura de tus dos tablas y el campo que las relaciona en ambas (tu "FK" o clave foránea).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:24.