Foros del Web » Programando para Internet » PHP »

Sentencia SQL en PHP

Estas en el tema de Sentencia SQL en PHP en el foro de PHP en Foros del Web. Tengo un problema, no se como hacer para extraer el valor maximo de un campo de la base de datos, con la funcion MAX (nombre ...
  #1 (permalink)  
Antiguo 08/05/2007, 11:34
 
Fecha de Ingreso: diciembre-2006
Mensajes: 50
Antigüedad: 17 años, 3 meses
Puntos: 1
Sentencia SQL en PHP

Tengo un problema, no se como hacer para extraer el valor maximo de un campo de la base de datos, con la funcion MAX (nombre del campo) no me funciona, aqui os pongo el codigo para ver si me podeis ayudar.


<html>
<head>
<title>Alta Clientes</title>
</head>
<body>
<?php
function Conectarse()
{
if (!($link=mysql_connect("localhost","root","")))
{
echo "Error conectando a la base de datos.";
exit();
}
if (!mysql_select_db("QKALOS_BD",$link))
{
echo "Error seleccionando la base de datos.";
exit();
}
return $link;
}
?>
<FORM ACTION>
<?php
Conectarse();
$cod_cliente = mysql_query("SELECT MAX(cod_cliente) FROM CLIENTES") or die ("Invalid query");
$resultado = mysql_fetch_array($cod_cliente);
$num = $resultado["cod_cliente"];
echo "el resultado es: ".$num;
?>
</FORM>
</body>
</html>

No me da fallo, pero no me recupera nada de la base de datos, pero solo con el MAX(), si hago una select normal si me recupera datos.

GRACIAS
  #2 (permalink)  
Antiguo 08/05/2007, 12:07
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Re: Sentencia SQL en PHP

No te recupera nada porque quieres recoger el campo cod_cliente, y no lo tienes, tienes MAX(cod_cliente), puedes hacerlo usando un alias para el campo, o usando el indice numerico del array
  #3 (permalink)  
Antiguo 08/05/2007, 12:14
Avatar de raffskizze  
Fecha de Ingreso: marzo-2004
Ubicación: ...
Mensajes: 433
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Sentencia SQL en PHP

"SELECT MAX(cod_cliente) FROM CLIENTES"

La consulta esta bien construida, prueba a ejecutarla en phpmyadmin y mira si te devuelve algo, o comprueba que el campo se llame exactamente cod_cliente y la bd CLIENTES, fijate en los plurales cliente, clientes.

SI NO ENCUENTRAS EL PROBLEMA, PRUEBA ESTA OTRA CONSULTA, QUE SERIA UN POCO CHAPUCILLA:

"SELECT cod_cliente FROM CLIENTES ORDER by cod_cliente DESC LIMIT 1"
__________________
echo ( www.tutorial-enlace.net == tutoriales gratis ) ? 'Aprenderas gratis !!' : 'No aprenderas !!';
  #4 (permalink)  
Antiguo 08/05/2007, 12:17
Avatar de raffskizze  
Fecha de Ingreso: marzo-2004
Ubicación: ...
Mensajes: 433
Antigüedad: 20 años, 1 mes
Puntos: 0
Re: Sentencia SQL en PHP

Cita:
Iniciado por darkasecas Ver Mensaje
No te recupera nada porque quieres recoger el campo cod_cliente, y no lo tienes, tienes MAX(cod_cliente), puedes hacerlo usando un alias para el campo, o usando el indice numerico del array
Exacto eso le falta no me habia fijado bien antes ¬¬: "SELECT MAX(cod_cliente) as cod_cliente FROM CLIENTES"
__________________
echo ( www.tutorial-enlace.net == tutoriales gratis ) ? 'Aprenderas gratis !!' : 'No aprenderas !!';
  #5 (permalink)  
Antiguo 08/05/2007, 12:25
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Sentencia SQL en PHP

Está mal cuando haces la asignación $num = $resultado["cod_cliente"]; ya que cod_cliente no existe en el query, usa un alias (SELECT MAX(cod_cliente) cod_cliente FROM CLIENTES)

EDIT; Respuesta masiva :P
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #6 (permalink)  
Antiguo 08/05/2007, 12:55
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Re: Sentencia SQL en PHP

nicolaspar

a tu consulta le falta el operador AS, de lo contrario te marcara un error:
Código:
SELECT MAX(cod_cliente) AS cod_cliente FROM CLIENTES
  #7 (permalink)  
Antiguo 08/05/2007, 13:17
Avatar de nicolaspar  
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 5 meses
Puntos: 34
Re: Sentencia SQL en PHP

Desde que no uso Sql server que no uso el as, me parece mas prolijo, siempre use alias sin éste y no veo el error...es por una versión en especial o algún config de error?
__________________
Mi punto de partida es Que Bueno Lo Nuevo
  #8 (permalink)  
Antiguo 08/05/2007, 16:21
 
Fecha de Ingreso: diciembre-2006
Mensajes: 50
Antigüedad: 17 años, 3 meses
Puntos: 1
Re: Sentencia SQL en PHP

Muchas gracias a todos, el problema era el alias,
"SELECT MAX(cod_cliente) cod_cliente FROM CLIENTES", asi todo va perfecto,todo solucionado.
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 11:17.