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

    Realizzare 3 condizioni con una Query.

    Ciao a tutti,
    ho questo problema:

    Ho un db, con una tabella listino, in cui ci sono quattro colonne:

    CODICE | DA-QTA | A-QTA | PREZZO |
    ABC1 | 1 | 10 | 15|
    ABC1 | 10 | 20 | 13|
    ABC1 | 20 | 50 | 11|
    ABC1 | 50 | 100 | 9|
    ABC1 | 100 | 1000 | 6|

    L'utente seleziona l'articolo ABC1 ed imposta una determinata quantità:

    Io devo ricavare il prezzo in base alla quantità andando a vedere a quale range di valori appartiene, in teoria dovrei fare una query che mi faccia:

    La prima parte della query è questa
    SELECT * FROM tabella WHERE CODICE='ABC1'

    poi dovrei cercare in quale range sia la mia quantità, per cui verificare che
    la mia quantità sia maggiore o uguale al valore DA-QTA e allo stesso tempo minore o uguale al valore A-QTA, come posso fare?

    Grazie per la collaborazione

  2. #2
    se non ho capito male, puoi fare tutto con 4 "AND":

    SELECT * FROM tabella WHERE CODICE='ABC1'
    AND condizione2
    AND condizione3
    AND condizione4

  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    SELECT prezzo FROM tabella WHERE CODICE='ABC1' and x between da_qta and a_qta

    dove x è il tuo valore numerico.

    P.S. Non hanno molto senso quegli intervalli come li hai definiti. dovrebbero essere
    1-10
    11-20
    21-50
    51-100
    101-1000

    altrimenti un valore può ricadere in due intervalli differenti.

  4. #4
    Ok grazie.

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Sicuramente non varchar.
    Bisognerebbe sapere il valore massimo che possono contenere i campi da e a. Sino a 32mila circa basterebbero smallint.
    Qua trovi un elenco dei tipi di campi con rispettivi range, vedi tu.

    http://mysql.com/doc/refman/4.1/en/n...-overview.html

    Per i prezzi se non sono interi ti consiglio di usare decimal.

    hai editato.

  6. #6
    Un ultima cosa io ho realizzato la mia tabella in base alle selezioni effettuate dal cliente, ora voglio sommare tutti i prezzi estratti, come posso fare?

    Questo è il codice che uso, vorrei sommare tutti i risultati dei vari $desc_price;
    Codice PHP:
    <?php
    $session_id 
    $_GET['sess_id'];

    $querymaster="SELECT * FROM ordini_provvisori WHERE session_id = '$session_id'";
    $resultmaster=mysql_query($querymaster);

    ?>
    <?php 
    while($row=mysql_fetch_array($resultmaster)){
                        
    // SELEZIONO LA DESCRIZIONE DELL'ARTICOLO
                                    
    $CodArticolo $row["cod_articolo"];
                                    
    $Quantita         $row["qta"];                    
                                    
    $query_desc="SELECT * FROM lista WHERE  CodiceArticolo='$CodArticolo'";
                                    
    $result_desc=mysql_query($query_desc); 
                                    
    $row_desc=mysql_fetch_array($result_desc);
                                    
    $desc1 $row_desc["DescrizioneArticolo"];
                        
    // SELEZIONO IL PREZZO                                
                                     
    $query_price="SELECT * FROM listino WHERE cod_prodotto='$CodArticolo' AND '$Quantita' between da_qt and a_qt";                                                 
                                    
    $result_price=mysql_query($query_price); 
                                    
    $row_price=mysql_fetch_array($result_price);
                                    
    $desc_price $row_price["prezzo"];    
                        
    ?>
              <TABLE WIDTH="550" BORDER=1 align="center" cellpadding="1" cellspacing="0" bordercolor="#111111" style="border-collapse: collapse">
                <TR>
                  <TD width="100" ALIGN=center><?php echo $row["cod_articolo"];?></TD>
                  <TD width="250" ALIGN=justify><?php echo $desc1;?></TD>
                  <TD width="100" ALIGN=center><?php echo $row["qta"];?></TD>
                  <TD width="100" ALIGN=center><?php echo $desc_price;?> &euro;</TD>
                </TR>
              </TABLE>
              <?php ?>

  7. #7
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da webpeppo
    Un ultima cosa io ho realizzato la mia tabella in base alle selezioni effettuate dal cliente, ora voglio sommare tutti i prezzi estratti, come posso fare?

    Questo è il codice che uso, vorrei sommare tutti i risultati dei vari $desc_price;
    inizializzi una variabile prima del ciclo e man mano che scorri il contenuto l'aggiorni

    $totale = 0;

    dentro il while

    $totale+=$desc_price;

    edit: ma i prezzi non li moltiplichi per le rispettive quantità?

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.