Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555

    Problema con ciclo if else

    Salve ragazzi,
    ho un "piccolo" problema. Da una tabella chiamata ordini, tramite query, pesco vari valori relativi a prezzi di diverse categorie. Nello specifico:

    prezzointeri, prezzoridotti, prezzotavoli

    Ora, da questi tre campi dovrei fare in modo che se il prezzo unitario è inferiore a 20, allora viene sottratto 1,20.

    Altrimenti (quindi se maggiore di 20), viene sottratto 1,80.

    Questo per ognuno dei tre campi. Come posso implementare un ciclo if else (le variabili sono estratte come "$results ['prezzointeri']" e via dicendo.

  2. #2
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    è giusto pensare ad un ciclo if else?

  3. #3
    Forse non ho capito bene perché mi sembra troppo semplice ma:

    Codice PHP:
    $val $result['prezzointeri'];

    if (
    $val <= 20)
    {
       
    $val $val 1.20;
    }
    else
    {
       
    $val $val 1.80;


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Riprendo in mano la discussione perché avevo pensato a questo tipo di codice anche io.

    Per intenderci. Ecco il codice che ho utilizzato:

    Codice PHP:
    $query mysql_query("SELECT ordini.*, sum(numerointeri) AS venditeinteri, sum(numeroridotti) AS venditeridotti, sum(numerotavoli) AS venditetavoli, eventi.* 
               from ordini, eventi 
               WHERE ordini.event_id = '"
    .$_GET['id']."' GROUP BY eventi.event_id"
               or die( 
    mysql_error() . "
    $sql);

    $str '<table border=0 bordercolor=#000000>'
    $str.= '<thead>'
    $str.= '<tr>'
    $str.= '<th style=\'padding-right:20px;\'>Biglietti interi venduti</th>'
    $str.= '<th style=\'padding-right:20px;\'>Biglietti ridotti venduti</th>'
    $str.= '<th style=\'padding-right:20px;\'>Tavoli venduti</th>';  
    $str.= '<th style=\'padding-right:20px;\'>Guadagno</th>';  
    $str.= '</tr>'
    $str.= '</thead>'
    $str.= '<tbody>'

    $results mysql_fetch_array($query);
    if (
    $results['prezzointeri'] <= 20) {$results['prezzointeri'] - 1.20;}
    else{
    $results['prezzointeri'] - 1.80;}
    if (
    $results['prezzoridotti'] <= 20) {$results['prezzoridotti'] - 1.20;}
    else{
    $results['prezzoridotti'] - 1.80;}
    if (
    $results['prezzotavoli'] <= 20) {$results['prezzotavoli'] - 1.20;}
    else{
    $results['prezzotavoli'] - 1.80;}

    $euro =  ($results['venditeinteri']*$results['prezzointeri']) + ($results['venditeridotti']*$results['prezzoridotti']) + ($results['venditetavoli']*$results['prezzotavoli']);

            
    $str.='<tr>'
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditeinteri'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditeridotti'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditetavoli'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$euro.'</td>'

    ora, il problema è che quanto vado a stampare il totale (rappresentato dalla variabile $euro) il ciclo if else non da i suoi frutti. Ossia, le sottrazioni -1.20 oppure -1.80 non vengono eseguite. E quindi questa operazione

    $euro = ($results['venditeinteri']*$results['prezzointeri']) + ($results['venditeridotti']*$results['prezzoridotti']) + ($results['venditetavoli']*$results['prezzotavoli']);

    non mi da il risultato cercato....

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Ho provato così:

    Codice PHP:
    $results mysql_fetch_array($query);

    $prezzointeri $results['prezzointeri'];
    $prezzoridotti $results['prezzoridotti'];
    $prezzotavoli $results['prezzotavoli'];

    if (
    $prezzointeri <= 20) {$prezzointeri 1.20;
    }
    else
    {
    $prezzointeri 1.80;
    }
    if (
    $prezzoridotti <= 20) {$prezzoridotti 1.20;
    }
    else
    {
    $prezzoridotti 1.80;
    }
    if (
    $prezzotavoli <= 20) {$prezzotavoli 1.20;
    }
    else
    {
    $prezzotavoli 1.80;
    }

    $euro =  ($results['venditeinteri']*$prezzointeri) + ($results['venditeridotti']*$prezzoridotti) + ($results['venditetavoli']*$prezzotavoli);

            
    $str.='<tr>'
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditeinteri'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditeridotti'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$results['venditetavoli'].'</td>';
            
    $str.='<td style=\'padding-right:20px; text-align:center\'>'.$euro.'</td>';
            
    $str.='</tr>'
    Stessa cosa. Se faccio tre acquisti: 1 biglietto intero, + 1 ridotto, + 1 tavolo, ognuno dal costo di 1 euro (quindi inferiore ai 20 euro), mi da come risultato 3. Ossia moltiplica il numero degli acquisti per il prezzo unitario del prodotto.

    Mi salta completamente tutto il ciclo if else!!! Dovrebbe darmi un risultato nettamente differente!!!!

  6. #6
    SBAGLIATO

    if ($prezzointeri <= 20)
    {
    $prezzointeri - 1.20;
    }


    GIUSTO

    if ($prezzointeri <= 20)
    {
    $prezzointeri = $prezzointeri - 1.20;
    }

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    555
    Grazie mille,
    ora sembra funzionare. Farò comunque altre verifiche di sicurezza...

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.