Foros del Web » Programando para Internet » PHP »

pasar el ultimo registro de una consulta

Estas en el tema de pasar el ultimo registro de una consulta en el foro de PHP en Foros del Web. ¡¡¡¡¡¡hola a todos !!!!!!!!!! otras vez, necesito de su ayuda, resulta de que hago una consulta en php y me muestra todo los datos, (es ...
  #1 (permalink)  
Antiguo 22/01/2009, 16:56
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
pasar el ultimo registro de una consulta

¡¡¡¡¡¡hola a todos!!!!!!!!!!

otras vez, necesito de su ayuda, resulta de que hago una consulta en php y me muestra todo los datos, (es un sistema de pagos), entonces yo e puesto un boton que diga insertar pago debajo de la consulta, ese boton lo que hace es pasar a otra pagina. hasta ahi todo bien, pero cuando la consulta tiene mas de un registro, no me pasa ningun dato a la otra pagina por que no sabe cual de los datos pasar.

Lo que quiero es que me pase el ultimo registro de la consulta
gracias desde ya por toda su ayuda
  #2 (permalink)  
Antiguo 22/01/2009, 22:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Respuesta: pasar el ultimo registro de una consulta

Hola sergiop21,

Si muestras el código que estas usando y los mensajes de error generados es más sencillo que te podamos ayudar.

Saludos
  #3 (permalink)  
Antiguo 23/01/2009, 06:50
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

Buenos dias Gatorv, ahora te detallo un poco mi codigo

aqui realizo la consulta, por apellido o por numero de tarjeta



$sql = "select * from pagos, clientes where 1=1";

if ($coape != "")
{
$sql .= " and clientes.apellido like '" . trim($coape) . "%'";

}
if ($cotarj != "")
{
$sql .= "and clientes.idnum_tarjeta like '" . trim ($cotarj) . "%'";
}
$Conn = ConectarBD();
$result = EjecutarBD($Conn, $sql);


--------------------------------------------------------------------------------------
aca muestro el resultado de la consulta, osea todo los registro que e pedido


<?php

while ($row = pg_fetch_row($result))
{
?>

<table width="100%" border="1" id="consul">

<tr>
<td width="92" align="center"><input name="txt_clie" type="text" value="<?php echo $row[7] ?>" disabled="disabled" size="5"></td>
<td width="92"><input name="txtf_venc" type="text" value="<?php echo $row[1] ?>" disabled="disabled" size="10"></td>
<td width="11%"><input name="txtf_pago" type="text" value="<?php echo $row[2] ?>" disabled="disabled" size="10"></td>
<td width="12%"><input name="txt_imp_abo" type="text" value="<?php echo $row[3] ?>" disabled="disabled" size="10"></td>
<td width="14%"><input name="txt_imp_pag" type="text" value="<?php echo $row[4] ?>" disabled="disabled" size="10"></td>
<td width="10%"><input name="txtdeuda" type="text" value="<?php echo $row[5] ?>" disabled="disabled" size="10"></td>
<td width="20%"><input name="txt_num_tarj" type="text" value="<?php echo $row[6] ?>" disabled="disabled" size="10"></td>
<td width="13%"><input name="txt_mes_pagado" type="text" value="<?php echo $row[8] ?>" disabled="disabled" size="10"></td>
</tr>
</table >

<?php
-------------------------------------------------------------------------------------------
Una vez mostrador todo los registro, tengo un boton que dice insertar pago.
lo que yo necesito es que me pase el ultimo registro que me mostro en la consulta a otra pagina. pero si o si necesito que me muestro todo los registros.

<tr>
<td align="center"> <input type="button" name="insertar_pago" value="Insertar Pago" onClick="enviar()"></td>
</tr>

</table>


Muchas gracias por la ayuda amigo
  #4 (permalink)  
Antiguo 23/01/2009, 07:00
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar el ultimo registro de una consulta

Cuando haces el ciclo while guarda el valor de la columna que te interesa en una variable. Así, esta variable será reescrita en cada ciclo con un nuevo valor, y al final tendrás allí el último valor. Luego ya fuera del while trabajas con esa variable.

  #5 (permalink)  
Antiguo 23/01/2009, 07:08
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

muchas gracias okram, pero en realidad no se bien como se hace eso, si de casualidad tendrias un ejemplo o ayudarme sobre mi ejemplo te lo agradeceria
  #6 (permalink)  
Antiguo 23/01/2009, 07:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar el ultimo registro de una consulta

Tienes varias columnas en tu tabla, y las llamas así: $row[0], $row[1], $row[2], etc. ¿Cuál de ella es la que deseas pasar?. Es simplemente poner:

Código PHP:
while(...) {
    
// ....
    
$ultima $row[0]; // Imaginando que $row[0] es la que deseas pasar
}

echo 
$ultima
  #7 (permalink)  
Antiguo 23/01/2009, 08:00
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

por ejemplo el row[0], me muestra el id del cliente,
el row[1], el apellido del cliente

lo que yo necesito es elegir el ultimo row

por ejemplo

Row[0] Row[1]
idcliente | apellido |
1 perez
2 ramos
3 garcia
4 gonzalez

por ejemplo esa es mi consulta, que me muestra todo los registro, ahora yo quiero seleccionar el que esta en rojo, ¿se me entiende?
  #8 (permalink)  
Antiguo 23/01/2009, 08:05
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar el ultimo registro de una consulta

Si quieres seleccionar toda la última fila (con todas sus columnas), simplemente asigna $variable = $row. Así, al final, $variable será un array con los datos de tu último registro.

  #9 (permalink)  
Antiguo 23/01/2009, 08:11
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

, disculpame que sea tan molesto, lo que pasa es que soy nuevo en esto.
antes de hacer el while, coloco $variable = $row;

¿y luego como recupero el ultimo registro?
  #10 (permalink)  
Antiguo 23/01/2009, 09:17
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar el ultimo registro de una consulta

No antes. En el while.

Código PHP:
while(...) {
    
// ....
    
$ultima $row // 
}

print_r($ultima
  #11 (permalink)  
Antiguo 23/01/2009, 09:43
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

lo hice pero me sale array y un monton de datos, pero no se como seleccionar el ultimo. Perdon por mi ignorancia

<?php


while ($row = pg_fetch_row($result))
{
$ultima = $row;
$sum_import =$row[3] + $sum_import;
$sum_pagado = $row[4] + $sum_pagado;
$deuda_total = $row [5] + $deuda;
?>

<table width="100%" border="1" id="consul">

<tr>
<td width="92" align="center"><input name="txt_clie" type="text" value="<?php echo $row[7] ?>" disabled="disabled" size="5"></td>
<td width="92"><input name="txtf_venc" type="text" value="<?php echo $row[1] ?>" disabled="disabled" size="10"></td>
<td width="11%"><input name="txtf_pago" type="text" value="<?php echo $row[2] ?>" disabled="disabled" size="10"></td>
<td width="12%"><input name="txt_imp_abo" type="text" value="<?php echo $row[3] ?>" disabled="disabled" size="10"></td>
<td width="14%"><input name="txt_imp_pag" type="text" value="<?php echo $row[4] ?>" disabled="disabled" size="10"></td>
<td width="10%"><input name="txtdeuda" type="text" value="<?php echo $row[5] ?>" disabled="disabled" size="10"></td>
<td width="20%"><input name="txt_num_tarj" type="text" value="<?php echo $row[6] ?>" disabled="disabled" size="10"></td>
<td width="13%"><input name="txt_mes_pagado" type="text" value="<?php echo $row[8] ?>" disabled="disabled" size="10"></td>
<tr>
<td colspan="8"><?php print_r ($ultima);?></td>
</tr>
</tr>
</table >

<?php

}

?>
  #12 (permalink)  
Antiguo 23/01/2009, 11:27
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: pasar el ultimo registro de una consulta

El print_r($ultima) es para que verifiques el contenido de $ultima. No tiene nada que ver con el proceso ni la lógica del script. En ningún momento te dije que lo pusieras, y menos dentro del while. La idea general, es que al terminar de ejecutarse el ciclo, en $ultima tendrás los datos de la última fila devuelta por tu consulta, porque mientras los resultados son devueltos fila por fila en cada loop, el valor de $ultima se va actualizando.

Lo siento, pero me voy dando cuenta que estás copiando/pegando las sugerencias que te doy y no estás investigando ni buscando al respecto. Sabes qué es lo que hace print_r()? Y cómo es que funciona while? O qué debemos esperar de pg_fetch_row()? Cuando tengas todo eso claro te darás cuenta de lo que aquí se te está sugiriendo, pero si seguimos este tema como hasta ahora llegaremos a 20 respuestas tratando lo mismo.

Un consejo, no te acostumbres ni esperes a que otros hagan las cosas por ti. Cuando se te dice "haz esto" busca primero al respecto, lee y cuando estés seguro de lo que haces ves si es lo que buscabas o no. Pero no hagas lo que te dicen sin pensarlo antes.

Un saludo,
  #13 (permalink)  
Antiguo 23/01/2009, 14:49
 
Fecha de Ingreso: diciembre-2008
Mensajes: 805
Antigüedad: 15 años, 4 meses
Puntos: 20
Respuesta: pasar el ultimo registro de una consulta

bueno muchas gracias por tu ayuda, una vez que entienda lo que me dijiste vere si me resulta, disculpa las molestias
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 01:02.