Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12

Discussione: Variabile filtro?

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234

    Variabile filtro?

    Buongiorno a tutti..
    ho un problemino con una query..
    Con questa estraggo dalla tabella prodotti appunto tutti i prodotti con eticp 15 e 19 e li incolonno ordinandoli su righe da quattro sfruttando la variabile $n..

    Codice PHP:
    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/prod.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        else:
        print 
    "<a href=\"../discography/prod.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>
    fin qua tutto bene..vorrei però che in base all' eticp 15 o 19 il prodotto venga linkato diversamente..ora entrambi vengono linkati a "../discography/prod.php?idpr=".$roww->idpr."\"
    nel caso il prodotto sia eticp 15 ad esempio vorrei che fosse "../discography/etichetta1.php?idpr=".$roww->idpr."\"
    e per eticp 19 "../discography/etichetta2.php?idpr=".$roww->idpr."\"

    ho provato così ma non ne vengo a capo data la mia scarsa capacità.. :master:

    Codice PHP:
    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/etichetta1.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        elseif(
    $n == 0) :
             print 
    "<a href=\"../discography/etichetta2.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;                            
        
        if(
    $n != 0) :
             print 
    "<a href=\"../discography/etichetta1.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        elseif(
    $n != 0) :
             print 
    "<a href=\"../discography/etichetta2.php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;    
        
        
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>
    La soluzione dovrebbe essere aggiungere nell'if un altra variabile che determini di che eticp si tratta.. qualcosa del tipo if($n != 0 && $eticp==15)
    ma come faccio a dichiarare una variabile che mi faccia da filtro?

    Spero che qualcuno mi possa aiutare!
    Buona giornata!
    Claudio

  2. #2
    e fare solo:

    Codice PHP:
    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/".($roww->eticp == '15' 'etichetta1' 'etichetta2').".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        else:
        print 
    "<a href=\"../discography/".($roww->eticp == '15' 'etichetta1' 'etichetta2').".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>
    ?

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Ciao Artorius!
    Intanto grazie...
    ho provato ma in questo modo mi stampa solo le immagini di eticp = 15..
    Come faccio a far visualizzare anche le altre?

  4. #4
    ho riletto un attimo il codice, ma non fai un ciclo quando fai la select? Perchè se fai così ti stampa solo la prima immagine di ogni prodotto con eticp = 15 o eticp = 19

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Come non detto..dopo le mie varie prove dalla query avevo levato
    or eticp = \"19\") ";

    è perfetto!!!

    Grandissimo

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Una cosa...
    se volessi aggiungere un ulteriore filtro?

    Oltre che avere l'opzione etichetta 15 o 19 avere anche la possibilità di capire se è un cd o vinile..e quindi linkarlo ad altre due pagine: etichetta1cd.php o etichetta2cd.php

    "supp" è il campo della mia tabella prodotti..

    ( supp = \"1 CD\" or supp = \"2 CD\" or supp = \"3 CD\" or supp = \"4 CD\" or supp = \"1 CD + 1 DVD\" or supp = \"2 CD + 1 DVD\" or supp = \"CD single\" or supp = \"1 DVD\" or supp = \"2 DVD\" or supp = \"1 DVD + 1 CD\" )


    ( supp = \"vinyl 10\'\'\" or supp = \"vinyl 12\'\'\" or supp = \"double vinyl 12\'\'\" or supp = \"vinyl 7\'\'\" )

    Come posso fare?

  7. #7
    guarda il modo migliore è infilarci uno switch:
    Codice PHP:

    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
       switch(
    $roww->imgcop)
       {
          case '1 CD':
          
    $page = "etichetta1cd"
          break;
          case '2 CD':
          
    $page = "etichetta2cd"
          break;
          case '3 CD':
          
    $page = "etichetta3cd"
          break;
    /*

    QUI CI METTI TUTTI I CASI CON IN FONDO

    */
         default:
         
    $page = "etichetta";
         break;
       }

        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/".$page.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        else:
        print 
    "<a href=\"../discography/".$page.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>
    In questo modo li gestisci come vuoi e non hai righe troppo lunghe

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    in effetti così è molto meglio..

    purtroppo però così facendo gestisco solo eticp 15 e quindi etichetta1.php

    Codice PHP:
    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
       switch(
    $roww->supp)
       {
        case '1 CD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '2 CD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '3 CD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '4 CD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '1 CD + 1 DVD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '2 CD + 1 DVD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case 'CD single':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '1 DVD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '2 DVD':
        
    $page = "etichetta1_cd_dvd";
        break;
        case '1 DVD + 1 CD':
        
    $page = "etichetta1_cd_dvd";
        break;

        default:
        
    $page = "etichetta1";
        break;
       }

        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/".$page.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        else:
        print 
    "<a href=\"../discography/".$page.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>

  9. #9
    vabbè che problema c'è a fare:

    Codice PHP:

    if($roww->eticp == '15'){
       switch(
    $roww->supp)
       {
        case 
    '1 CD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '2 CD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '3 CD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '4 CD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '1 CD + 1 DVD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '2 CD + 1 DVD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    'CD single':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '1 DVD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '2 DVD':
        
    $page "etichetta1_cd_dvd";
        break;
        case 
    '1 DVD + 1 CD':
        
    $page "etichetta1_cd_dvd";
        break;

        default:
        
    $page "etichetta1";
        break;
       } 
    }
    else
    {
       switch(
    $roww->supp)
       {
        case 
    '1 CD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '2 CD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '3 CD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '4 CD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '1 CD + 1 DVD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '2 CD + 1 DVD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    'CD single':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '1 DVD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '2 DVD':
        
    $page "etichetta2_cd_dvd";
        break;
        case 
    '1 DVD + 1 CD':
        
    $page "etichetta2_cd_dvd";
        break;

        default:
        
    $page "etichetta2";
        break;
       } 


  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    hai ragione...
    mi sono complicato la vita così:

    Codice PHP:
    <?
        $n 
    0;
        for (
    $y $y $szf $y++) :
        
    $svet split("§"$vetf[$y]);
        
    $prsel $svet[1];
          
    $querw "SELECT * FROM prodotti WHERE idpr = \"$prsel\" and onl <> \"n\" && ( eticp = \"15\" or eticp = \"19\") ";
        
    //print "$querw
    ";
        
    $resw = MYSQL_QUERY($querw);
        
    $roww = mysql_fetch_object($resw);
    ?>

    <?
       switch(
    $roww->supp)
       {
        case '1 CD':
        
    $sup = "cd_dvd";
        break;
        case '2 CD':
        
    $sup = "cd_dvd";
        break;
        case '3 CD':
        
    $page = "cd_dvd";
        break;
        case '4 CD':
        
    $sup = "cd_dvd";
        break;
        case '1 CD + 1 DVD':
        
    $sup = "cd_dvd";
        break;
        case '2 CD + 1 DVD':
        
    $sup = "cd_dvd";
        break;
        case 'CD single':
        
    $sup = "cd_dvd";
        break;
        case '1 DVD':
        
    $sup = "cd_dvd";
        break;
        case '2 DVD':
        
    $sup = "cd_dvd";
        break;
        case '1 DVD + 1 CD':
        
    $sup = "cd_dvd";
        break;
        
        default:
        
    $sup = "vinyls";
        break; 
       }
       
       switch(
    $roww->eticp)
       {
        case '15':
        
    $eti = "etichetta1";
        break;
        case '19':
        
    $eti = "etichetta2";
        break;
       }

        if (
    $roww->imgcop <> "") :
        
    $ftsn = ereg_replace(".gif", ".jpg", $roww->imgcop);
        if (!file_exists("
    http://www.miosito.it/public/copp/".$ftsn)):
        
    image_createSqareThumb("http://www.miosito.it/public/copg/".$roww->imgcop"http://www.miosito.it/public/copp/".$ftsn1007070);
        endif;
        if(
    $n == 0) :
             print 
    "<a href=\"../discography/".$eti."_".$sup.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        else:
        print 
    "<a href=\"../discography/".$eti."_".$sup.".php?idpr=".$roww->idpr."\" target=\"_parent\"><img src=\"http://www.miosito.it/public/copc/".$ftsn."\" alt=\"$roww->titp - $roww->idcat\" title=\"$roww->titp - $roww->idcat\"></a>";
        endif;
        
    $n = ($n 1) % 4;
           endif;
    ?>
    <? 
    endfor ?>

    ma immagino sia meglio la tua soluzione!
    Cosa mi consigli?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.