Foros del Web » Programando para Internet » PHP »

Problema con consulta

Estas en el tema de Problema con consulta en el foro de PHP en Foros del Web. Hola Maestros: tengo unos problemas con esta consulta ya que quiero seleccionar todos los registros que sean diferentes al contenido del arreglo $NivOblig: <?php $tabla ...
  #1 (permalink)  
Antiguo 04/12/2002, 18:45
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
Problema con consulta

Hola Maestros:

tengo unos problemas con esta consulta ya que quiero seleccionar todos los registros que sean diferentes al contenido del arreglo $NivOblig:


<?php
$tabla = $mensaje.$estacion;
$nombre = date("YmdHis",time());
$cadena2 = "";
$NivOblig = array (1000,925,850,700,500,400,300,250,200,150,100);

$link = mysql_connect("localhost","root","admin");
mysql_select_db("RADIOSONDEO",$link);

foreach($NivOblig as $valor){
$sql = "SELECT * from $tabla where DAYOFMONTH(Fecha) BETWEEN $bdy AND $edy AND MONTH(Fecha) IN ($bmo,$emo) PP != $valor";
$result = mysql_query($sql,$link);

$cadena2 = $cadena2.$row[Estacion]."\t".$x."\t".$row[PS]."\t".$row[PP]."\t".$row[HGT]."\t".$row[TT]."\t".$row[TD]."\t".$row[DD]."\t".$row[FF]."<br>\n";

}while($row = mysql_fetch_array($result));
}
echo "$cadena2";
$cadena2 = "";
?>


pero me desplega el resultado 11 veces que son las iteraciones del foreach de eso ya me percate ademas de que me incluye los valores del arreglo en que estoy mal el campo que comparo con el valor del arreglo es el campo PP.

gracias por todo.

Última edición por payo22; 04/12/2002 a las 18:47
  #2 (permalink)  
Antiguo 05/12/2002, 14:56
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Olvidate del foreach y usa el NOT IN de MySQL, en combinacion del implode() de PHP. La consulta que te devuelve los registros que no estan en el array es:
Código PHP:
$sql "SELECT * from $tabla where DAYOFMONTH(Fecha) BETWEEN $bdy AND $edy AND MONTH(Fecha) IN ($bmo,$emo) AND PP NOT IN (".implode(",",$NivOblig).")"
Luego solo tienes que recorrer el resultado de esa consulta.

Suerte.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 05/12/2002, 15:09
Avatar de payo22  
Fecha de Ingreso: noviembre-2002
Ubicación: México
Mensajes: 839
Antigüedad: 21 años, 5 meses
Puntos: 1
gracias Josemi

Ya me que quedo la consulta de todos modos muchas gracias por ayudarme como quiera aprendi otra forma de hacer la consulta que queria hacer.

gracias por todo
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 19:08.