Ver Mensaje Individual
  #6 (permalink)  
Antiguo 21/10/2013, 18:43
bendark23
 
Fecha de Ingreso: julio-2005
Mensajes: 73
Antigüedad: 18 años, 9 meses
Puntos: 0
Respuesta: Consulta a Mysql segun datos de un array

Cita:
Iniciado por edward1994 Ver Mensaje
Lo que buscas es IN() de mysql el cual los parametros debes pasarselos separados por "," coma
en el manual del PHP hay este ejemplo sobre la funcion implode() "La cual te ayudara a separar por , los datos dentro de un array"

Ejemplo:
Código PHP:
Ver original
  1. $array = array('apellido', 'email', 'teléfono');
  2. $separado_por_comas = implode(",", $array);

la consulta te quedaría algo como WHERE site_id IN(".$separado_por_comas.") la consulta te devolvera todos los datos donde site_id este dentro de lo establecido en la funcion IN()
Muchas gracias por tu respuesta la verdad me despejo muchas dudas pero como suele suceder abre otras. mi consulta queda mas o menos asi.

[PHP]SELECT *
FROM `partos_server`
WHERE YEAR( evento ) =2013
AND site_id
IN ( 20, 21, 22, 23, 24, 25, 26, 28, 31 )
AND WEEKOFYEAR( evento )
IN ( 1, 2, 3 ) [/CODE]

te digo mas o menos porque lo hice con un array aqui solo muestro los datos. ahora la duda que tengo es que por cada site_id me calcule el promedio de nacidos vivos del sitio 20 de la semana 1 y que mi tabla quede asi

Código:
site_id    promedio      semana
20             12.4                1
20             11.8                2
20             10.5                n
21             14.2                1
y asi sucesivamente, problema es que cuando pongo AVG(VIVOS) en la consulta.. este solo me arroja una fila para el site_id=22
quedando asi

Código:
Sitio	prom Nacido	Fecha	Semana
22	11.4522	2013-01-02	1

espero puedas ayudarme.... y por el post repetido una disculpa me fallo el internet.

este es mi codigo completo

Código PHP:
$sql mysql_query("SELECT site_id FROM granjas");
  while( 
$row mysql_fetch_array$sql) ) {
    
$array[] = $row['site_id']; 
    
    }
    
$granjas implode(","$array);
   echo 
"<table>"//EMPIEZA A CREAR LA TABLA CON LOS ENCABEZADOS DE TABLA
   
echo "<tr>";//<tr> CREA UNA NUEVA FILA
   
echo "<td>Sitio</td>";//<td> CREA NUEVA COLUMNA
   
echo "<td>prom Nacido</td>";
   echo 
"<td>Fecha</td>";
   echo 
"<td>Semana</td>";
   echo 
"</tr>"
   
$i=0
$query mysql_query("SELECT *,avg(vivos) as nacvivo, WEEKOFYEAR(evento) as sem FROM `partos_server` WHERE site_id IN(
           "
.$granjas.") and YEAR(evento)=2013 and  WEEKOFYEAR(evento)=1 order by evento Asc") or die("Error en Consulta.- ".mysql_error());
$reg mysql_fetch_array($queryMYSQL_BOTH);//LA VARIABLE $REG GUARDA LOS REGISTROS DE LA CONSULTA REALIZADA
do {
    
$i++;
echo 
"<tr>";
echo 
"<td>".$reg['site_id']."</td>";//EN CADA CELDA SE COLOCA EL CONTENIDO DE REG
echo "<td>".$reg['nacvivo']."</td>";
echo 
"<td>".$reg['sem']."</td>";
echo 
"<td>".$i."</td>";
$reg mysql_fetch_array($queryMYSQL_BOTH);
echo 
"</tr>";
}while(
$reg);
echo 
"</table>";//FINALIZA LA TABLA 

Última edición por bendark23; 21/10/2013 a las 18:57