Foros del Web » Programando para Internet » PHP »

Obtener último id de una bd con postgres

Estas en el tema de Obtener último id de una bd con postgres en el foro de PHP en Foros del Web. Buenas, tengo el siguiente código para obtener él último id_ticket de un cliente específico, pero no me funciona correctamente, alguien podría echarme una mano, gracias. ...
  #1 (permalink)  
Antiguo 11/04/2006, 04:44
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años
Puntos: 0
Obtener último id de una bd con postgres

Buenas, tengo el siguiente código para obtener él último id_ticket de un cliente específico, pero no me funciona correctamente, alguien podría echarme una mano, gracias.
Código PHP:
          // Obtenemos el número de ticket
          
$sql_ticket "SELECT max(id_ticket) FROM int_incidencia WHERE uid='$uid'";
          
$resultado_ticket pg_query($sql_ticket) or die('Consulta fallida: ' pg_last_error());
          while(
$row=pg_fetch_array($resultado_ticket)){
             if (isset(
$row['id_ticket'])) $ticket $row['id_ticket'];
             echo 
$ticket;
          } 
  #2 (permalink)  
Antiguo 11/04/2006, 07:10
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años
Puntos: 0
Alguien me ayuda? Gracias
  #3 (permalink)  
Antiguo 11/04/2006, 07:21
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Creo que sería así:
Código:
"SELECT id_ticket FROM int_incidencia WHERE uid='$uid' order by id_ticket desc"
  #4 (permalink)  
Antiguo 11/04/2006, 08:50
Avatar de JorgitoAlfajor  
Fecha de Ingreso: enero-2006
Mensajes: 152
Antigüedad: 18 años, 3 meses
Puntos: 1
PeiShar:
La sentencia:

$sql_ticket = "SELECT max(id_ticket) FROM int_incidencia WHERE uid='$uid'";

que usás para obtener el mayor id_ticket parece estar bien. ¿Cuál es es concretamente el error?

Panino5001:
Con la consulta:
"SELECT id_ticket FROM int_incidencia WHERE uid='$uid' order by id_ticket desc"

vas a obtener todos los id_ticket del cliente, no solo el último (que supongo que será el mayor). Si lo hacés de esta forma después tendrías que recuperar el último registro de la consulta para obtener el mayor id_ticket, y los otros registros no se utilizarían.

Saludos.
__________________
¿Se me entiende la letra?
  #5 (permalink)  
Antiguo 11/04/2006, 13:00
Avatar de Panino5001
Me alejo de Omelas
 
Fecha de Ingreso: mayo-2004
Ubicación: -34.637167,-58.462984
Mensajes: 5.148
Antigüedad: 19 años, 10 meses
Puntos: 834
Es cierto, calculo que sería mejor (si max no le sirve), agregarle un limit 0,1 al final.
  #6 (permalink)  
Antiguo 11/04/2006, 15:17
Avatar de PeiShar  
Fecha de Ingreso: abril-2001
Ubicación: España
Mensajes: 125
Antigüedad: 23 años
Puntos: 0
Gracias por responder, el problema está en que no me devuelve ningún dato, el echo $ticket da como resultado vacio.

Quizás el error pueda tenerlo aquí:

Código PHP:
while($row=pg_fetch_array($resultado_ticket)){ 
             if (isset(
$row['id_ticket'])) $ticket $row['id_ticket']; 
             echo 
$ticket
          } 
A ver si me lo podéis corrobar y ver que posible solución puedo encontrar, gracias.
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 17:48.