Foros del Web » Programando para Internet » PHP »

botones navegacion

Estas en el tema de botones navegacion en el foro de PHP en Foros del Web. Buenas, soy nuevo, espero que alguien pueda ayudarme. Lo que quiero hacer es crear unos botoens de navegación de registros, es decir, tengo un formulario ...
  #1 (permalink)  
Antiguo 20/06/2005, 04:30
 
Fecha de Ingreso: junio-2005
Mensajes: 16
Antigüedad: 18 años, 10 meses
Puntos: 0
botones navegacion

Buenas, soy nuevo, espero que alguien pueda ayudarme. Lo que quiero hacer es crear unos botoens de navegación de registros, es decir, tengo un formulario donde se muestran los valores de una tabla, pero solo se muestra un registro (es asi porque yo quiero que solo se muestre uno), lo que necesito es crear unos botones que me permitan navegar por esos registros, os pongo el código aquí para que veais a lo que me refiero:

<p>
<input name="oculto_idsocio" type="hidden" id="oculto_idsocio" value="<?php echo (mysql_result($result, 0, "idsocio"))?>">
</p>
<p>
</p>nombre
<input name="socio_nom_txt" type="text" id="socio_nom_txt" size="100" value="<?php echo(mysql_result($result, 0, "nombre"))?>">
</td>
</p>
<p> domicilio
<textarea name="socio_domi_txt" cols="85" id="textarea"><?php echo (mysql_result($result, 0, "domicilio"))?></textarea>
</td>
</p>
<p> profesion
<input name="socio_profe_txt" type="text" id="socio_profe_txt2" size="50" value="<?php echo (mysql_result($result, 0, "profesion"))?>">
</td>
</p>
<p> lugar trabajo
<input name="socio_luga_txt" type="text" id="socio_luga_txt4" size="31" value="<?php echo (mysql_result($result, 0, "lugar_trabajo"))?>">
</p>
<p>
</td>
telefono
<input name="socio_tele_txt" type="text" id="socio_tele_txt4" size="40" value="<?php echo (mysql_result($result, 0, "telefono"))?>">
</td>
</p>
<p> fax
<input name="socio_fax_txt" type="text" id="socio_fax_txt4" size="40" value="<?php echo (mysql_result($result, 0, "fax"))?>">
</td>
</p>
<p>email
<input name="socio_emai_txt" type="text" id="socio_emai_txt2" size="57" value="<?php echo (mysql_result($result, 0, "email"))?>">
</td>
</p>
<p>
<input name="btn_ini" type="button" id="btn_ini" value="|&lt;">
<input name="btn_ant" type="button" id="btn_ant" value="&lt;">
<input name="btn_act" type="button" id="btn_act" value="Actualizar">
<input name="btn_act" type="button" id="btn_act" value="Actualizar">
<input name="btn_sig" type="button" id="btn_sig" value="&gt;">
<input name="btn_fin" type="button" id="btn_fin" value="&gt;|">
</body>
</html>


Muchas gracias, espero su ayuda
  #2 (permalink)  
Antiguo 21/06/2005, 01:26
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
¿te refieres a un botón de "siguiente" y/o "Anterior"??... Simple, pasa la ID del registro actual que muestras y para la siguiente vez recójelo y consulta esa ID... lo importante aquí es tu consulta (código que no muestras):
Código PHP:
<?php
if(isset($_POST['id'])) // si existe..
    
$id=$_POST['id']+1// la tomamos y le sumamos 1
else $id=0// sino existe.. empezamos por el principio ;-)

// conectamos y demás
$consultamysql_query("SELECT MAX(id) AS limite, * FROM tabla WHERE campo_id=$id");

// mostramos resultados...

if($id!=0) echo "Botón anterior";
if(
$id!=mysql_result($result0"limite")) echo "Botón siguiente"// para tu caso
?>
Yo te recomendaria hicieses uso de mysql_fetch_assoc() en ves de _result().. buscala en el foro para que "la veas en acción" : www.php.net/mysql_fetch_assoc

Bienvenido! ... te aconsejo veas esto: http://forosdelweb.com/misc.php?do=bbcode#code

Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #3 (permalink)  
Antiguo 21/06/2005, 02:30
cartucho
Invitado
 
Mensajes: n/a
Puntos:
Te recomiendo que si quieres hacer una paginación de registros, busques el 'paginator' del usuario 'jpinedo' que anda por este foro. Es una manera muy fácil de paginar resultados y tiene varias opciones para configurar, aunque si sólo quieres mostrar el resultado de uno en uno, con lo que te comenta jam ya te serviría.

Saludos
  #4 (permalink)  
Antiguo 22/06/2005, 00:52
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 20 años, 6 meses
Puntos: 41
Efectivamente.

Paginator puede servirte para esto (aunque con enlaces en lugar de botones). Pero si vas a recorres siempre los registros de uno en uno, podría convenir hacer algo como lo que propone jam1138.

Por cierto, esa consulta no debería tener la condición propuesta por jam1138. (WHERE campo_id = $id)

Eso de mostrarlos por id sumándole 1 al POST no va a funcionar siempre (ya que es posible que se haya borrado algún registro).
Código PHP:
// Para el enlace siguiente:
$sql "SELECT * FROM tabla WHERE campo_id > $id_actual LIMIT 0,1";

// Para el enlace anterior
$sql "SELECT * FROM tabla WHERE campo_id < $id_actual LIMIT 0,1"
También recuerda que deberás propagar por url (o en campos hidden) las variables necesarias para generar la consulta.

Saludos
  #5 (permalink)  
Antiguo 22/06/2005, 02:28
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 8 meses
Puntos: 102
Cita:
Iniciado por jpinedo
(...) esa consulta no debería tener la condición propuesta por jam1138. (WHERE campo_id = $id)

Eso de mostrarlos por id sumándole 1 al POST no va a funcionar siempre (ya que es posible que se haya borrado algún registro) (...)
Buen punto... y muy cierto ... anotado esta!!!; me falta experiencia... núnca he paginado .

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
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 02:04.