- Home
- Categorie
- Coding e Sistemistica
- PHP
- HELP: Perso in un bicchier d'acqua con un semplice if else :(
-
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
-
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]
-
@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