PHP - Cargar valores no NULL consulta SQL

 
Vista:

Cargar valores no NULL consulta SQL

Publicado por alyz (15 intervenciones) el 19/09/2014 05:49:36
Hola, estoy intentando cargar un listbox con una consulta SQL y al tener algunos campos de las columnas valores NULL y diferentes numero de valores se me llenan los listboxes de tantos campos vacios como la columna con mas registros (ejemplo a un campo con 3 registros se le añaden 5 registros null si el campo con mas registros tiene 8), alguna forma de evitarlo? Muchas gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Cargar valores no NULL consulta SQL

Publicado por Gonzalo (615 intervenciones) el 20/09/2014 14:03:14
aqui hay 2 soluciones

en el query filtras que el campo X no sea null.

select * from tabla where X is not null;

y la otra es por php usando is_null.

if( ! is_null($rs["x"]))
{
//agregar al combo.
}

espero sea de ayuda.

salu2.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar valores no NULL consulta SQL

Publicado por alyz (15 intervenciones) el 21/09/2014 22:58:56
He probado con el not null en la consulta y me da error Call to a member function fetch_array() on a non-object in dba.php on line 27 que es a la altura del while.

1
2
3
4
5
6
7
$SqlCommand="SELECT * from model_tc where bay, door, measures is not NULL";
$Query=$connection->query($SqlCommand);
 
while($row=$Query->fetch_array(MYSQL_ASSOC)){
	$combo_bay .="<option value=".$row['bay'].">".$row['bay']."</option>";
	$combo_door .="<option value=".$row['door'].">".$row['door']."</option>";
	$combo_measures .="<option value=".$row['measures'].">".$row['measures']."</option>";}

En cuanto a la otra forma no es necesario que el campo sea un desplegable tipo enum? Gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Cargar valores no NULL consulta SQL

Publicado por xve (6935 intervenciones) el 22/09/2014 08:18:04
Hola Alyz, te da ese error, porque tu consulta SQL no es correcta y da error.

Los valores en el where, tienes que separarlos por AND, OR, ... no por comas!!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar valores no NULL consulta SQL

Publicado por alyz (15 intervenciones) el 22/09/2014 22:50:11
Tienes razon, pero añadiendo los and en vez de las comas ahora no me carga nada en los listboxes.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Cargar valores no NULL consulta SQL

Publicado por xve (6935 intervenciones) el 23/09/2014 07:53:47
Eso sera porque no hay ningún registro que cumpla todas las condiciones... como lo has puesto ahora?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Cargar valores no NULL consulta SQL

Publicado por alyz (15 intervenciones) el 23/09/2014 22:46:02
El codigo esta asi ahora:

1
2
3
4
5
6
7
8
$SqlCommand="SELECT * from model_tc where bay and door and measures is not NULL";
	$Query=$connection->query($SqlCommand);
 
	while($row=$Query->fetch_array(MYSQL_ASSOC)){
		$combo_bay .="<option value=".$row['bay'].">".$row['bay']."</option>";
		$combo_door .="<option value=".$row['door'].">".$row['door']."</option>";
		$combo_measures .="<option value=".$row['measures'].">".$row['measures']."</option>";
	}

Tambien probe poner especificamente los campos en el SELECT en lugar de *, pero el resultado es el mismo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar