Problema con funzine if

di il
3 risposte

Problema con funzine if

Salve a tutti,
Premetto che suono nuovo sia al forum che al Php..
Ho questo problema:
In un file di una piattaforma e-commerce ho questa stringa chiamiamola A:

<?php echo JText::sprintf('COM_VIRTUEMART_MAIL_ORDER_STATUS',JText::_($this->orderDetails['details']['BT']->order_status_name))
<?

che mi stampa uno stao ordine in una mail. Il valore dello stao ordine corrisponde a degli id (1,2,3,4,5,6..)

poi ho questa stringa chiamiamola B:

<a href="<?php echo nl2br($this->orderDetails['history'][$nb-1]->comments); ?>">Clicca qui per controllare lo stato della spedizione</a><br />

che mi stampa un commento inserito con un ink

e infine ho questa C:
<?php echo nl2br($this->orderDetails['history'][$nb-1]->comments); ?>
stessa stringa di B ma senza il link


devo mettere tutto in una funzione if del tipo :
se il valore di A = 6 sotto mi metti B altrimenti mi metti C
IO ho scritto questo:

if ((nl2br($this->orderDetails['details']['BT']->order_status_name))==6){
<a href="<?php echo nl2br($this->orderDetails['history'][$nb-1]->comments); ?>">Clicca qui per controllare lo stato della spedizione</a>;
} else {
echo nl2br($this->orderDetails['history'][$nb-1]->comments);
}
?>


naturalmente di funzionare non ne vuole sapere, ma non riesco a capire dove sbaglio.
Qualcuno può aiutarmi?
Grazie anticipatamente a tutti

3 Risposte

  • Re: Problema con funzine if

    Ciao, ho notato che il codice non rispetta i tag di apertura e di chiusura propri di PHP. Prova a sostituire il tuo codice con questo:
    
    <?php if ((nl2br($this->orderDetails['details']['BT']->order_status_name))==6){ ?>
    <a href="<?php echo nl2br($this->orderDetails['history'][$nb-1]->comments); ?>">Clicca qui per controllare lo stato della spedizione</a>;
    <?php } else { 
    echo nl2br($this->orderDetails['history'][$nb-1]->comments);
    }
    ?>
    
    Ovviamente dovresti comunque verificare cosa ti restituisce la chiamata "nl2br($this->orderDetails['details']['BT']->order_status_name);" per vedere se il tuo confronto è corretto o meno, ovvero prova a fare un
    
    echo $this->orderDetails['details']['BT']->order_status_name;
    
    Non conoscendo la piattaforma non so' cosa quella chiamata restituisca, il fatto che ci sia un "nl2br" mi fa nascere il sospetto che si tratti di una stringa formattata in una determinata maniera.
    Verifica e posta un eventuale output (warning/error/...).
  • Re: Problema con funzine if

    Grandissimo funziona !
    ho dovuto sostituire il valore 6 con "spedito" in quanto pensavo che quella chiamata si riferisse all'Id, invece sii riferiva al valore.
    Grazie Mille
  • Re: Problema con funzine if

    Perfetto... Figurati
Devi accedere o registrarti per scrivere nel forum
3 risposte