Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/02/2013, 09:13
SadlyMistaken
 
Fecha de Ingreso: febrero-2007
Mensajes: 13
Antigüedad: 17 años, 2 meses
Puntos: 0
Pregunta (mysql + php) Si es Null... quiero que seas 0 y luego 1

Hola a todos.
Necesito ayuda con una variable... que me está arruinando la paciencia..

Quiero hacer una mysql_query con un Select, que en ocasiones me dice NULL
(porque no hay registros que cumplan los requisitos) intentando buscar el valor máximo de un campo..

Y tras conseguir ese select...

Ejecutar otro mysql_query con un INSERT... con esa variable + 1...
La tabla tiene estos campos: ID(int), CAMPO(char), OTROCAMPO(char) y ORDEN(int).
Este es el codigo (es el API Mysql no el Mysqli...):

Código:
  $link = mysql_connect("sql2.freesqldatabase.com", "usuario","password")
      or die ("Error al conectar a la base de datos.");
  mysql_select_db("sql23917", $link)
      or die ("Error al conectar a la base de datos.");

$queorden= mysql_query("SELECT ORDEN FROM TABLA WHERE OTROCAMPO='lo que sea' ORDER BY ORDEN DESC LIMIT 1") or die("Error en SELECT: ".mysql_error());

switch ($queorden){
case 0;
$elorden = 1;
break;
case NULL;
$elorden = 1;
break;
default;
$elorden =$queorden++;
}

mysql_query("INSERT INTO TABLA (CAMPO, OTROCAMPO, ORDEN) VALUES ('.$unvalor.','.$otrovalor.','.$elorden.')";

  mysql_free_result($queorden);
  mysql_close($link);
Bueno, pues este código me dice (haya o no haya valores encontrados...) que $queorden vale 'Resource id #4' y me añade siempre el valor 0 o 5... nunca 1..
¿Por qué? ¿Qué hago mal? La QUERY en phpmyadmin me funciona perfectamente.. salvo cuando no hay valores..

he intentado cambiar la query "SELECT IFNULL(MAX(orden),0) FROM TABLA WHERE... patatin patatan..."
Tambien he intentado en vez del switch un simple If....else.. pero nada.. pasa igual..
¿Alguna idea, pleaseeee?

Última edición por cvander; 24/02/2013 a las 09:58