Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    [PHP] definizione variabili in un ciclo if

    Prelevo da un db MySQL parecchie variabili che con
    Codice PHP:
    $dati mysql_fetch_assoc($query
    definisco.
    Ognuna di queste variabili è numerica (TINYINT) e dovrei rinominare ognuna a seconda del numero, cioé:

    Codice PHP:
    if ($dati['bla']==1){
         
    $dati['bla']="ciao";

    }else{
        if (
    $dati['bla']==2){
         
    $dati['bla']="arrivederci";

    }else{
     
    eccecc
    Visto che le variabili sono tante esiste un modo migliore per assegnare questi valori alle variabili a seconda del loro numero?
    Non posso creare un'altra tabella nel db perché è già abbastanza pieno.

    Grazie!
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  2. #2
    phpiano
    Guest
    Un codice più compatto potrebbe essere questo:

    switch($dati['bla']){
    case 1: $dati['bla'] = "ciao";
    case 2: $dati['bla'] = "arrivederci";
    case 3: $dati['bla'] = "...";
    default:
    $dati['bla'] = "buonanotte";
    }

    non l'ho provato ma dovrebbe funzionare

    ciauz

  3. #3
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Uhm non potresti creare tipo un file di testo di questo tipo:

    1 valore1
    2 valore2
    3 valore3

    poi o ti crei una funzioncina di questo tipo:
    Codice PHP:
    function GetValue($numero) {
     
    $found FALSE;
     
    $fp fopen("test.txt",'r');
     while ( (!
    feof($fp)) && (!$found)) {
      list(
    $num,$value) = explode(" ",fgets($fp,4096));
      if (
    $num == $numero) {
       
    $output $value;
       
    $found TRUE;
      }
     }
     if (!
    $found) { $output NULL; }
     
    fclose($fp);
     return 
    $output;


  4. #4
    Ho guardato la funzione su php.net
    non devo anche mettere "break;" alla fine di ogni case?
    GdR Online - http://lenar.it/
    Yesterday is history. Tomorrow is mystery.
    Today is a gift. That's why it's called the present

  5. #5
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Originariamente inviato da Vre
    Ho guardato la funzione su php.net
    non devo anche mettere "break;" alla fine di ogni case?
    si
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  6. #6
    phpiano
    Guest
    se metti break il controllo termina. Se non metti break il controllo continua, anche sulle altre possibilità, solo che in ciascuna di esse fallisce perchè non trova una corrispondenza. A seconda di come strutturi lo switch puoi anche non mettere break

    ciauzz

  7. #7
    Utente di HTML.it L'avatar di pixer
    Registrato dal
    Oct 2000
    Messaggi
    614
    Originariamente inviato da phpiano
    se metti break il controllo termina. Se non metti break il controllo continua, anche sulle altre possibilità, solo che in ciascuna di esse fallisce perchè non trova una corrispondenza. A seconda di come strutturi lo switch puoi anche non mettere break
    E questa da dove spunta fuori ?
    MySQL Worker - The OpenSource Multiplatform MySQL database Administrator (C++ powered)
    .:[ It resumes the development !! ]:.


  8. #8
    phpiano
    Guest
    hai ragione ... scusa la cavolata... perdono!!!

  9. #9
    senza break esegue tutto quello che viene dopo il case che risulta true

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.