Results 1 to 4 of 4

Thread: [php] Ciclo if con variabile contenuta in un altro file, come fare

  1. #1
    Lieutenant Commander Glorifindel's Avatar
    Join Date
    Nov 2003
    Location
    Milano
    Posts
    14.782

    Default [php] Ciclo if con variabile contenuta in un altro file, come fare

    Ho provato con "include" nell'intestazione del file php ma il risultato è stata una pagina bianca tranne l'header...

    Devo inserire un ciclo if che valuti se un parametro è numerico o meno (e questo lo so fare con is_numeric() ); il problema è che questo parametro viene da un altro file php sotto forma di function.

    In sostanza cosa voglio: se il parametro è un numero, allora prima del numero mi mostra il simbolo della valuta (€), altrimenti non lo mostra se è testuale (es. "Prezzo da definire").


    Il file "function.php" contiene la funzione di inserimento prezzo (qui funziona tutto), in particolare:
    Code:
    function get_price($var){
    
    $price = $var;
    $priceCount = strlen($price);
    
    if (is_numeric ($price)){
      $price = number_format($var, 0, ',', '.');
      echo $price;
    
    }else{	
      echo $price;
    }
    
    }
    Il file "single.php" contiene invece il contenuto mostrato nella pagina in base alle varie condizioni (sotto riporto come sto cercando di fare io e non funge, toglie il simbolo di valuta a tutto, anche se numerico):
    Code:
    <?php
    			
    	    if (is_numeric ($price)){
                
                echo $ts_cur;
    			
                }else{
                
    	    }
                
    	   ?>
               <?php get_price(get_post_meta($post->ID, "price_value", true)); ?>
    Non so se sono riuscito a spiegarmi, ma in pratica vorrei che su questo tema di WP http://www.stevebluck.co.uk/turs/wp/ sparisse il simbolo della valuta davanti ai prezzi solo se non sono numeri.
    Last edited by Glorifindel; 13th March 2011 at 17:36.
    On Steam: Gildarts
    On B.net: Glorfurion#2394

  2. #2
    Master Chief Petty Officer Bers's Avatar
    Join Date
    Jul 2005
    Location
    Verona
    Posts
    2.085

    Default

    metti return $price dopo l'echo $price e prendilo come variabile in uscita dalla funzione, in pratica:

    Code:
    function get_price($var){
    
    $price = $var;
    $priceCount = strlen($price);
    
    if (is_numeric ($price)){
      $price = number_format($var, 0, ',', '.');
      echo $price;
      return $price;
    
    }else{	
      echo $price;
      return $price;
    }
    
    }
    Code:
    <?php $price = get_price(get_post_meta($post->ID, "price_value", true)); ?>
    <?php
    			
    	    if (is_numeric ($price)){
                
                echo $ts_cur;
    			
                }else{
                
    	    }
                
    	   ?>
    Comunque non è consigliato far stampare delle variabili a delle funzioni... è più corretto farle restituire come risultato e far gestire l'output alla pagina.
    Questo perchè ti permette di gestire meglio il caso in cui tu non lo voglia stampare.
    Last edited by Bers; 13th March 2011 at 19:27.
    [url=http://narutofantasyheart.forumcommunity.net/?t=9346526&st=0]

  3. #3
    Lieutenant Commander Glorifindel's Avatar
    Join Date
    Nov 2003
    Location
    Milano
    Posts
    14.782

    Default

    funziona Bers

    tytytytyty

    la variabile cmq viene stampata sempre in quanto di default lascio scritto "Info in ufficio" o "Trattative Riservate" quando il prezzo non viene specificato. L'unica chicca che mi mancava era riuscire a discriminare il prezzo in formato numerico da quello testuale in modo da non avere "€Info in ufficio" o roba simile quando il prezzo non si sa.
    On Steam: Gildarts
    On B.net: Glorfurion#2394

  4. #4
    Master Chief Petty Officer Bers's Avatar
    Join Date
    Jul 2005
    Location
    Verona
    Posts
    2.085

    Default

    Quote Originally Posted by Glorifindel View Post
    funziona Bers

    tytytytyty

    la variabile cmq viene stampata sempre in quanto di default lascio scritto "Info in ufficio" o "Trattative Riservate" quando il prezzo non viene specificato. L'unica chicca che mi mancava era riuscire a discriminare il prezzo in formato numerico da quello testuale in modo da non avere "€Info in ufficio" o roba simile quando il prezzo non si sa.
    di niente figurati
    [url=http://narutofantasyheart.forumcommunity.net/?t=9346526&st=0]

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
[Output: 52.15 Kb. compressed to 44.43 Kb. by saving 7.72 Kb. (14.80%)]