Foros del Web » Programando para Internet » PHP »

Problema con Consulta SQL.

Estas en el tema de Problema con Consulta SQL. en el foro de PHP en Foros del Web. Què tal amigos foristas?, còmo estàn? Tengo el siguiente problema y espero que puedan ayudarme. Estoy haciendo una funciòn en mi servicio, que me devuelva ...
  #1 (permalink)  
Antiguo 03/02/2010, 07:37
 
Fecha de Ingreso: septiembre-2009
Mensajes: 30
Antigüedad: 14 años, 6 meses
Puntos: 0
Exclamación Problema con Consulta SQL.

Què tal amigos foristas?, còmo estàn?

Tengo el siguiente problema y espero que puedan ayudarme. Estoy haciendo una funciòn en mi servicio, que me devuelva el màximo valor de una columna. La hago de la siguiente forma.


Código PHP:
Ver original
  1. function GenerarPaymul($datos)
  2.     {
  3.         /*conectar a la base de datos*/
  4.         $conn = pg_connect("host='".HOST."' dbname='".BASE_DATOS."'  user='".USUARIO."' password='".CLAVE_USUARIO."'")
  5.         or die ("Error de Conexion con la Base de Datos.");
  6.         /*ejecutar query*/
  7.        
  8.         $sql="SELECT MAX (id) AS maxid FROM paymul1";
  9.         $query=pg_query($conn,$sql);
  10.         $dato=array();
  11.  
  12.         while($fila=pg_fetch_array($query))
  13.             {                          
  14.                 $paymul=array(
  15.                     'maxid'=>$fila['maxid']);
  16.                 array_push($dato,$paymul);
  17.             }        
  18.         return $dato;
  19.     }


Quiero traer el màximo valor de la columna ID. Cuando ejecuto la funciòn, no me devuelve valor alguno. Tons mi interrogante es la siguiente:

1)Està bien construida la sentencia SQL? Cuando la pruebo en SQL directamente, funciona, pero no sè si aquì en php deberìa modificar algo.

2) 'maxid'=>$fila['maxid']); En fila debo poner el nombre del campo orginal (ID) o debo colocar el nombre del alias? Es decir:
'maxid'=>$fila['maxid']); O 'maxid'=>$fila['id']);


Espero que puedan ayudarme, saludos!
  #2 (permalink)  
Antiguo 03/02/2010, 08:09
Avatar de jackson666  
Fecha de Ingreso: noviembre-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 1.971
Antigüedad: 14 años, 5 meses
Puntos: 65
Respuesta: Problema con Consulta SQL.

Código SQL:
Ver original
  1. SELECT id FROM paymul1 ORDER BY id DESC LIMIT 0,1;
__________________
HV Studio
Diseño y desarrollo web
  #3 (permalink)  
Antiguo 03/02/2010, 10:26
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Respuesta: Problema con Consulta SQL.

Cita:
Iniciado por jackson666 Ver Mensaje
Código SQL:
Ver original
  1. SELECT id FROM paymul1 ORDER BY id DESC LIMIT 0,1;
Eso está bien, pero suponiendo que id es un campo donde el administrador ingresa los datos ( en otras palabras, id no es autoincrementable ) causaría problemas.

Bueno, usando la query de jackson666, y un poco del código del 1er post, puedes hacerlo de esta manera :

Código PHP:
Ver original
  1. $dato = array();
  2. $sql = "SELECT id FROM paymul1 ORDER BY id DESC LIMIT 0,1";
  3. $query = pg_query($sql);
  4. $fila = pg_fetch_array($query);
  5.  
  6. // Forma 1
  7. array_push($dato, array('maxid' => $fila['id']));
  8.  
  9. // Forma 2
  10. $dato = array('maxid' => $fila['id']);
  11.  
  12. return $dato;

PD : Ya que la consulta te devuelve un único valor, el while está sobrando, así que lo eliminé.

Nos vemos.
__________________
Nunca te olvidaré mi negra hermosa. Te extraño demasiado.

Etiquetas: sql
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:33.