PHP / MySQL: SELECT sorgusu yazmak için daha iyi bir yolu?

0 Cevap php

Bu sorguyu yazmak için daha iyi bir yolu var mı?

startimg noktası:? index.php IDGruppo = 25,48,47 & IDFamiglia = 845587215444

şimdi ben IDGruppo ve IDFamiglia patlayabilir ve benzeri sorgusu oluşturmak:

en iyi yolu nedir?

$sql = "SELECT * FROM catalogo_prodotti cp, catalogo_prodotti_attributi cpa WHERE cp.IDProdotto = cpa.IDProdotto ";

if($IDGruppo || $IDVarianti){

    $sql .= "AND ";

    foreach($idg as $v)
    {

    if($IDVarianti){
        $i = 1;
        foreach($idv as $c)
        {
        $sql .= "cp.IDGruppo = '". $v ."' AND cp.IDFamiglia = '".$c."' AND cp.Cancellato = '0' AND cp.Acquistabile = '1' ";

        if($IDTaglia)
         $sql .= "AND cpa.IDFiltro_Taglia = '".$IDTaglia."' ";

        if($IDTessuto)
         $sql .= "AND cp.Key_IT LIKE '%".$IDTessuto."%' ";

        if ( count($idv) != $i ){
         $sql .= "OR ";

         }
        $i++;
        }

    } else {

    $sql .= "cp.IDGruppo = '". $v ."' AND cp.Cancellato = '0' AND cp.Acquistabile = '1' ";

    }
     if ( count($idg) != $j )
     $sql .= "OR ";
     $j++;
    }

}

$sql .= "GROUP BY cp.IDProdotto LIMIT $offset, ".$this->ipp." ";

if($orderBY)
$sql .= "ORDER BY '".$orderBY."'";

0 Cevap