• User Newbie

    Query Sql

    :arrabbiato: Ciao a tutti ho un probblema da 3 giorni, premetto che so poco di mysql e probabilmente è una cosa facile per uno un po esperto.

    La query è la seguente:
    $Sql_Content = "select * from gallery where id ='$id' and status='Active' order by DESC";

    apparentemente funziona solo che il campo id contiene piu valori separati da una virgola 1,5,8,4 e mi legge solo i valori interi ho capito che devo usare explode girando sul web ma non capisco come, dovrei esplodere prima della query ma non ho il valore.


  • User

    in questo modo contieni un array di id
    $ids = explode("," $id);

    ora con un foreach dovrebbe essere abbastanza semplice creare la query...


  • User

    Ciao
    Devi creare un ciclo con un while
    dopo la query scrivi questo codice:

    while ($data = mysql_fetch_object($Sql_Content))
    {
    $id_ex = explode(",",$data->id);
    }
    a questo punto non ti resta che fare un echo ricordandoti che ogni valore che viene separato devi dichiararlo così $id_ex[0] $id_ex[1] ecc.

    Fammi sapere se hai dei dubbi


  • User Newbie

    vi posto la query completa spero non sia troppo lunga perche ancora non va

    if($PageNo=="")
    $PageNo=1;
    else
    $PageNo = $PageNo;
    $PRODUCTSPERPAGE =15;
    $StartRow = $PRODUCTSPERPAGE * ($PageNo-1);
    $Sql_homeContent = "select * from gallery where id='$id' and status='Active' order by id DESC";
    $Rst__homeContent = mysql_query($Sql_homeContent);
    $totalrows=mysql_affected_rows();
    $totalpages = (int) ($totalrows / $PRODUCTSPERPAGE);
    if(($totalrows % $PRODUCTSPERPAGE)!=0)
    $totalpages++;
    $Sql_homeContent.=" LIMIT $StartRow,$PRODUCTSPERPAGE";
    $Rst__homeContent = mysql_query($Sql_homeContent,$db);
    $total = mysql_affected_rows();
    if(!$total)
    $Error = 1;
    $Row_cnt = mysql_num_rows($Rst__homeContent);

    poi qui prosegue e stanpa i risultati benissimo se volessi esporli tutti togliendo where id, cosi invece mi espone solo quelli con id intero e non se contengono piu valori nel campo 1,3,7

    <?
    $kk = 1;
    if(!empty($Row_cnt))
    {
    for($i=0;$i<$Row_cnt;$i++)
    {
    $row=mysql_fetch_array($Rst__homeContent);
    if($kk%3 == 1)
    {
    echo "<tr>";
    }
    ?>
    <td>
    <table width="120" border="0" cellspacing="0" cellpadding="4">
    <tr>
    <td>
    <a href="#" onClick="MM_openBrWindow('galleryLargeImage.php?image=<? echo $SITEURL ?>gallery/<? echo $row[large_image] ?>','','resizable=no,width=350,height=350,status=no')">
    <img src="<? echo $SITEURL ?>gallery/<? echo $row[small_image] ?>" border="0" width="100" height="100">
    </a>
    </td>
    </tr>
    <tr>
    <td align="center" valign="middle"><? echo $row[title] ?></td>
    </tr>
    </table>
    </td>
    <?
    if($kk%3 == 0)
    {
    echo "</tr>";
    }
    $kk++;
    }
    }
    ?>


  • Bannato User Attivo

    per codici lunghi inseriscili fra [code*] e [/code*] levando gli asterischi! Io li ho messi senno si vedeva cosi : ```

    codice lungo
    codice lungo
    codice lungo
    codice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungo
    codice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungocodice lungo
    codice lungo
    codice lungo

    Capito?