PHP Switch

« Older   Newer »
 
  Share  
.
  1. mistervox
     
    .

    User deleted


    Lo switch del PHP è simile ad un if, può essere usato per confrontare diverse varibili di un espressione, ma l'utilizzo che vi spiego io è quello che viene usato in molti siti web o altre applicazioni del web ovvero ottenere un link del tipo pagina.php?azione=valore che può essere anche nidificato e ottenere url più complessi come pagina.php?azione=valore&azione2=valore2.
    E' richiesta una conoscenza di base del PHP per capire questa guida.

    Lo switch va scritto in questo modo:
    HTML
    <?php switch($azione) {
    case "nome": azione;
    break;
    case "nome2": azione2;
    break;
    default: azione;
    break;
    }

    Dove azione sarà la varibile dello switch e il nome del case, sarà il nome dell'azione, se ad esempio abbiamo una pagina con tre link gatto, cane e topo i nostri case saranno per convenzione cane, gatto e topo, quindi se cliccheremo in cane avremo un url di tipo ?azione=cane e così via, al posto del nome possiamo inserire un numero.
    Se quando clicchiamo su cane vogliamo far stampare ciao allora la nostra azione sarà un echo "ciao", se vogliamo includere la pagina ciao allora sarà include(ciao.php);.
    Sperando di essere stato chiaro, saluti. ;)
     
    Top
    .
  2. stefana1959
     
    .

    User deleted


    interessante...ma per completare poi nel bottone di referimento come devo scrivere il link???
     
    Top
    .
  3. stefana1959
     
    .

    User deleted


    va bene scritto così il comando switch?
    e poi il link se ho capito bene dovrebbe essere
    scheda.php?venezia=storico&page=1 (per scehliere dal database la riga 1)
    o
    scheda.php?venezia=sanmarco&page=1 per la seconda opzione e così via per altre opzioni
    ecco il php:
    <?php
    // qui ho una funzione precedente per il conteggio dei record
    // Recupero i record per la pagina corrente...
    // utilizzando LIMIT per partire da $first e contare fino a $x_pag
    $storico = {
    $rsstorico = mysql_query("SELECT img_id, storia, corpo, menu, image FROM venezia z, immagini i WHERE z.img_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rsstorico);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rstorico);
    $immagini = $row['image'];}
    }
    };
    //seconda opzione
    $sanmarco = {
    $rssanmarco = mysql_query("SELECT img_id2, san_marco, link, image FROM venezia z, immagini i WHERE z.img2_id = i.id LIMIT $first, $x_pag");
    $nr = mysql_num_rows($rssanmarco);
    if ($nr != 0){
    for($x = 0; $x < $nr; $x++){
    $row = mysql_fetch_assoc($rssanmarco);
    $immagini = $row['image'];}
    }
    };
    ?>
    <?php
    $venezia = (storico, sanmarco);
    switch ($venezia) {
    case "storico":
    echo //istruzioni
    break;
    case "sanmarco":
    echo //istruzioni
    break;
    default
    echo "Nessun record trovato!";
    break;
    }
    mysql_close($db);
    ?>

    mi dà però errore all'attribuzione delle variabili &storico e $sanmarco
    aiuto!!!!!
     
    Top
    .
2 replies since 13/1/2010, 22:10   1225 views
  Share  
.