• User

    HELP: Perso in un bicchier d'acqua con un semplice if else :(

    Come da titolo mi sono perso in un bicchier d'acqua o meglio non ho voglia di stare a scrivere una cinquantina di cicli if per determinare se caricare una semplice immagine di 11x11 prima di una scritta in Verdana 9 giusto per dare le dimensioni della cosa 🙂 🙂 🙂

    Il problema: Ho questo pannello di controllo e a qualcuno il 15 di Agosto (della serie un vanno al mare sti qua) sapendo che le mie ferie iniziano il 24 e sono ancora disponibile ha deciso di mandarmi una mail con scritto più o meno questo: Necessita una piccola modifica grafica ovvero dato che sulla sinistra del pannello abbiamo tutte le voci cliccabili (semplici tag <a hef></a>) andrebbe contrassegnata la sezione attualmente in uso mettendo una piccola iconcina verde prima del nome per indicare dove ci si trova; il brutto è che ho capito al volo cosa voleva e mi sono pure dato da fare.

    In pratica:

    [php]

    <a href="vatteloapesc.php?action=vatteloapesc">Sezione Vattelo a Pesc</a>
    <a href="nonhovoglia.php?action=nonhovoglia">Sezione Non ho voglia di farlo</a>

    <!-- Molti altri link -->

    /**
    *

    • Dovrebbe diventare in pratica una cosa simile

    */
    if ( isset ( $_GET['action'] ) && ( $_GET['action'] == "vatteloapesc" ) )
    {

     echo "<img src=\"bullet.gif\"><a href=\"vatteloapesc.php?action=vatteloapesc\">Sezione Vattelo a Pesc</a>";
    

    } else {

     echo "<a href=\"vatteloapesc.php?action=vatteloapesc\">Sezione Vattelo a Pesc</a>";
    

    }

    if ( isset ( $_GET['action'] ) && ( $_GET['action'] == "nonhovoglia" ) )
    {

      echo "<img src=\"bullet.gif\"><a  href=\"nonhovoglia.php?action=nonhovoglia\">Sezione Non ho voglia di farlo</a>";
    

    } else {

     echo "<a href=\"vatteloapesc.php?action=vatteloapesc\">Sezione Vattelo a Pesc</a>";
    

    }

    // ................ molti altri if
    [/php]

    Dicevo ma non c'è un sistema più spiccio per fare una cosa simile ? Anche a usare l'operatore terniario diventa snervante la cosa

    Ciao


  • User Attivo

    Ciao Aragonesse, prova a inserire questi link in un database. In questo modo nel [PHP]while($var=mysql_fetch_array($staceppa))...[/PHP] puoi inserire una variabile $_GET su cui eseguire il controllo. L'unica cosa negativa è che nell'URL avrai delle variabili GET

    EDIT: ho appena rivisto il tuo codice, potresti anche crearti un array del tipo
    [PHP]
    $links = array("nonhovoglia" => "Non ho voglia", "vattelappesc" => "Vattelo a Pesc", eccecc);
    foreach($links as $var => $nome)
    {
    if ( isset ( $_GET['action'] ) && ( $_GET['action'] == $var ) )
    {

     echo "<img src=\"bullet.gif\"><a href=\"".$var.".php?action=".$var."\">Sezione ".$nome."</a>";
    

    } else {

     echo "<a href=\"".$var.".php?action=".$var."\">Sezione ".$nome."</a>";
    

    }

    }
    [/PHP]


  • User

    @meis said:

    Ciao Aragonesse, prova a inserire questi link in un database. In questo modo nel [PHP]while($var=mysql_fetch_array($staceppa))...[/PHP] puoi inserire una variabile $_GET su cui eseguire il controllo. L'unica cosa negativa è che nell'URL avrai delle variabili GET

    EDIT: ho appena rivisto il tuo codice, potresti anche crearti un array del tipo
    [PHP]
    $links = array("nonhovoglia" => "Non ho voglia", "vattelappesc" => "Vattelo a Pesc", eccecc);
    foreach($links as $var => $nome)
    {
    if ( isset ( $_GET['action'] ) && ( $_GET['action'] == $var ) )
    {

     echo "<img src=\"bullet.gif\"><a href=\"".$var.".php?action=".$var."\">Sezione ".$nome."</a>";
    

    } else {

     echo "<a href=\"".$var.".php?action=".$var."\">Sezione ".$nome."</a>";
    

    }

    }
    [/PHP]

    Pur quanto non volessi ne ricorrere al database ne creare un array mi sa che l'unica soluzione è la prima che mi è venuta in mente ieri mattina ovvero creare una tabella con il nome di tutte le sezioni e il loro codice, leggera dal database (così se per caso c'è da aggiungere o rimuovere voci basta agire sul database) e scorrerla come array esattamente come hai detto tu. In pratica

    [php]
    $strQuery = "SELECT * FROM menu";
    $objStatement = $objPDO->prepare($strQuery);
    $objStatement->execute();
    while ($arRow = $objStatement->fetch(PDO::FETCH_ASSOC))
    {
    print "Row $i";
    foreach ($arRow as $key => $value)
    {
    if ( isset ( $_GET['option'] ) && ( $_GET['option'] == 'X' ) ) // Dove X è il numero del opzione
    {
    echo "<img src="bullet.gif"><a href="percorso" . ds . $value . "'.php?option=" . $key . "'>Sezione" . " " . $value . "</a>";
    } else {
    echo <a href="percorso . ds . $value . '.php?option=" . $key . "'>Sezione" . " " . $value . "</a>";
    }
    }
    $i++;
    }
    [/php]

    Ma guarda te se per una semplice immagine devo fare tutto sto casino 🙂

    Grazie