AnswerBun.com

Puedo cosultar en mysql por id si tengo un array de datos?

Stack Overflow en español Asked by Alejandra Cervera on January 5, 2022

Necesito hacer una consulta dado un array de números id[1, 4, 6], esos números serían los id de trabajadores que se ingresan por un multiselect, por lo que pueden variar, cómo podría hacer una consulta si por ejemplo requiero los datos [Nombre][Apellidos][Sueldo], estaba pensando en usar php, pero aún no se me ocurre algo claro.

Este es uno que hice cuando se selecciona un sólo id, como el multiselect me da un array anque sea un sólo dato, lo comparo así…

    $idPro=$_POST['idPro'];
    $idEmb = $_POST['idEmb'];
    $idEmb2 = $_POST['idEmb2'];
   

  if (count($idPro)==1){
        $query=mainModel::ejecutar_consulta_simple("SELECT fruta.id_embarque as embarque, fruta.id_productores as id, SUM(fruta.peso_kg) as kg from fruta
        where fruta.id_embarque =$idEmb AND FRUTA.id_productores=$idPro[0]
        GROUP by fruta.id_productores");
        return $query->fetchAll(PDO::FETCH_ASSOC);
    }

One Answer

Estás analizando si solo se recibió una ID, ahí deja la consulta con id_productores = ID_RECIBIDA, si es más de una, usa implode() para generar una cadena de IDs separadas por coma [ID1, ID2, IDX] y el operador IN en vez de =

$idPro = $_POST['idPro'];
$idEmb = $_POST['idEmb'];
$idEmb2 = $_POST['idEmb2'];


if(count($idPro)==0) {
  // La consulta fallará si no se proporciona ID
  die('Selecciona al menos 1 ID');
} elseif(count($idPro)==1) {
  // Operador = y solo una ID
  $ids = "= {$idPro[0]}";
} else {
  // Operador IN y lista de IDs separadas por coma
  $ids = 'IN (' . implode(', ', $idPro) . ')';
}
$query=mainModel::ejecutar_consulta_simple("SELECT fruta.id_embarque as embarque, fruta.id_productores as id, SUM(fruta.peso_kg) as kg from fruta
    where fruta.id_embarque =$idEmb AND FRUTA.id_productores $ids
    GROUP by fruta.id_productores");
    return $query->fetchAll(PDO::FETCH_ASSOC);

Answered by Triby on January 5, 2022

Add your own answers!

Related Questions

Evento Js se ejecuta n veces

1  Asked on November 24, 2021 by missael-armenta

     

Cómo relaciono 2 tablas con nodejs

2  Asked on November 22, 2021

       

Contador de caracteres restantes

3  Asked on November 22, 2021 by erianvc

     

Escribir 2 valores en un 1er scanf y el 2do scanf no sea saltado en C

2  Asked on November 22, 2021 by plazamarco

   

Pasar parámetros React native

1  Asked on November 22, 2021 by brayan-cortes

 

introducir datos en DataFrame Pandas

1  Asked on November 22, 2021 by juan-manuel-reina-muoz

         

Ask a Question

Get help from others!

© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP