Visualizzazione dei risultati da 1 a 4 su 4

Discussione: campo query variabile

  1. #1

    campo query variabile

    Ciao a tutti,
    ho una pagina con alcuni if, e funziona, ma mi chiedevo se era possibile modificarla. $lang mi arriva dalla pagina precedente, e da questo seleziono il campo del db che mi interessa. E' possibile modificare il nome del campo in modo da eliminare gli if? Qualcosa tipo $row5['viaggio '.$lang];

    Grazie

    Codice PHP:
    if ($lang=='it'){
    echo 
    $row5['viaggio it'];
    }
    if (
    $lang=='en'){
    echo 
    $row5['viaggio en'];
    }
    if (
    $lang=='de'){
    echo 
    $row5['viaggio de'];


  2. #2
    Originariamente inviato da dydale
    ...Qualcosa tipo $row5['viaggio '.$lang];
    Perdonami, l'hai anche scritto il codice, ma allora perchè non lo provi?!?!?!?!

    Codice PHP:
    echo $row5['viaggio '.$lang]; 
    A volte rimango basito
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    133
    Personalmente, dal punto di vista della leggibilità del codice e delle prestazioni, se devo fare un IF multiplo sulla stessa variabile preferisco sostituirlo con uno switch.

    Nel tuo caso specifico, la cosa potrebbe diventare:

    codice:
    switch ($lang) {
      case "it": echo $row5['viaggio it']; break;
      case "en": echo $row5['viaggio it']; break;
      case "de": echo $row5['viaggio it']; break;
      default: echo 'Descrizione non trovata'; break;
    }
    oppure, ancora più "elegante" dal mio personale punto di vista:

    codice:
    switch ($lang) {
      case "it":
      case "en":
      case "de": echo $row5["viaggio $lang"]; break;
      default: echo 'Descrizione non trovata'; break;
    }
    Notare le differenti virgolette usate nel secondo esempio per accedere all'array $row5

  4. #4

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.