Foros del Web » Programando para Internet » PHP »

¿Que hago mal?

Estas en el tema de ¿Que hago mal? en el foro de PHP en Foros del Web. Hola, a todos ! Os explico lo que quiero hacer , que creo que es sencillo y no me sale bien. Tengo una tabla con ...
  #1 (permalink)  
Antiguo 15/10/2010, 14:26
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años
Puntos: 0
¿Que hago mal?

Hola, a todos !

Os explico lo que quiero hacer , que creo que es sencillo y no me sale bien. Tengo una tabla con una columna llamada idvideo, el valor de idvideo es numerico, y me gustaria sacar por pantalla el numero mas pequeño existente en esa columna. Y bueno ese mismo numero -1.

El codigo que he escrito es este:

Código PHP:
conexion a la base de datos(); //esto esta seguro bien

 // Saca la id minima existente en la tabla 
  
$sql="SELECT MIN(idvideo) FROM `tablavideospropios`";
  
mysql_query($sql) or die (mysql_error());
  
$min=$row["idvideo"];
   
 
// Asocia el minimo-1 a la id
  
$idvideopropio=$min-1;

echo 
"el minimo es $min";
echo 
"el minimo-1 es $idvideopropio";

mysql_close($conexion); 
Creo que el problema es el asociar ese "valor minimo" a $min
¿Veis algun fallo de sintaxis?
El codigo se ejecuta, pero da como resultado: el minimo es $row["idvideo"]la nueva ide es -1 , en mi caso el numero mas pequeño de la tabla es 1, el resultado tendria que ser algo como : el minimo es 1, el minimo -1 es 0


A ver si podeis ayudarme con este problemilla.

Saludos y gracias a todos !!!
  #2 (permalink)  
Antiguo 15/10/2010, 14:31
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ¿Que hago mal?

Saludos

Te hace falta agregar una funcion qeu convierte el resultado de tu consulta en un arreglo asociativo

Código PHP:

// Saca la id minima existente en la tabla 
  
$sql="SELECT MIN(idvideo) FROM `tablavideospropios`";
  
$query=mysql_query($sql) or die (mysql_error());
  
$row=mysql_fetch_array($query); //ESTA LINEA
  
$min=$row["idvideo"]; 
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #3 (permalink)  
Antiguo 15/10/2010, 14:46
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años
Puntos: 0
Respuesta: ¿Que hago mal?

Valla, muchas gracias!

ahora el codigo seria:

Código PHP:
<?
$dbhost
="mmmmmmmm";  // host del MySQL (generalmente localhost)
$dbusuario="mmmmmmm"// aqui debes ingresar el nombre de usuario
$dbpassword="mmmmmmmm"// password de acceso para el usuario de la
$db="mmmmmmmmmmm";        // Seleccionamos la base con la cual trabajar
$conexion mysql_connect($dbhost$dbusuario$dbpassword);
mysql_select_db($db$conexion);


 
  

// Saca la id minima existente en la tabla 
  
$sql="SELECT MIN(`idvideo`) FROM `tablavideospropios`";
  
$query=mysql_query($sql) or die (mysql_error());
  
$row=mysql_fetch_array($query); 
  
$min=$row["idvideo"];  
   
 
// Asocia el minimo-1 a la id
  
$idvideopropio=$min-1;
  echo 
"el minimo es $min";
  echo 
"la nueva ide es $idvideopropio";
  

    
mysql_close($conexion);
?>
y lo que pone al ejecutarlo es: el minimo es la nueva ide es -1

No entiendo porque no saca el valor minimo, la tabla estoy seguro que esta bien porque a parte de verla por phpmyadmin cree un archivo para sacar los datos de la tabla por pantalla y esta bien.

¿Se os ocurre algo?

Saludos y gracias de nuevo !
  #4 (permalink)  
Antiguo 15/10/2010, 14:54
Avatar de Nano_  
Fecha de Ingreso: febrero-2006
Ubicación: Bogotá, Colombia
Mensajes: 1.866
Antigüedad: 18 años, 2 meses
Puntos: 96
Respuesta: ¿Que hago mal?

SAludos

Colocale un alias al campo y quitale las comillas

Código PHP:
$sql="SELECT MIN(idvideo) as idvideo FROM tablavideospropios"
__________________
:.:Nano.:: @nano_hard - Retornando al foro
  #5 (permalink)  
Antiguo 15/10/2010, 14:57
 
Fecha de Ingreso: abril-2010
Mensajes: 86
Antigüedad: 14 años
Puntos: 0
Respuesta: ¿Que hago mal?

Perfecto Nano, tenias razon. Ahora funciona perfectamente

Muchas gracias !!!

Etiquetas: mal
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:08.