Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 42
  1. #1

    Selezionare il prezzo piu' basso dal db

    Ho una lista di prezzi per circa 100 alberghi.
    Vorrei sapere come posso fare la query per prendere il prezzo piu' basso tra quelli indicati.

    Mettiamo caso che l'Hotel Italia abbia i seguenti prezzi
    dal 2 al 6 luglio 15.00 euro
    dal 6 al 18 luglio 24.00 euro
    dal 18 al 30 luglio 30.00 euro

    In questo caso voglio selezionare i 15 euro perche' e' il prezzo piu' basso.
    Come posso fare la query?

    Il campo del prezzo si chiama $prezzo

    Mi aiutate?
    Mai dire Mai

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    select min(prezzo) as minore from tabella

    edit. oppure

    select * from tabella order by prezzo limit 1

    vedi tu.

  3. #3
    ciao nicola, sto provando cosi' ma non mi da niente...

    Codice PHP:
          <?php
    $sqlmenu
    =mysql_query("select hotel, cartella, link, attivo from albergo where attivo = '1' order by hotel asc");
    while(
    $rigamenu=mysql_fetch_array($sqlmenu))
    {
        
    $hotel=$rigamenu['hotel'];
        
    $cartella=$rigamenu['cartella'];
        
    $link=$rigamenu['link'];
        
    $hotel=str_replace("HOTEL ","",$hotel);
        
    $hotel=str_replace("RESIDENCE ","",$hotel);
        
    $htmlhot=str_replace(" ","%20",$hotel);
          
          
    $sql_prezzo="select min(prezzo) as minore from offerte where albergo='$hotel'";
          
    $risultato_prezzo = @mysql_query($sql_prezzo
          or die(
    "Impossibile eseguire l'interrogazione del prezzo"); 
          while (
    $rigaprezzominore mysql_fetch_array($risultato_prezzo)) 
          {
          
    $prezzo=$rigaprezzominore['prezzo'];
          
        if (
    $hotel=="HOTEL 4 STELLE SUPERIOR") {
        
    $blocco_opzioni.="<option value=\"http://www.sito.it/hotel-4-stelle/4_stelle_superior.php\">$hotel</option>";
        } else {
        
    $blocco_opzioni.="<option value=\"http://www.sito.it/$cartella/$link.htm\">$hotel</option>";
        }    
        
        
        
    $menulo.='<span class=testoazzurrosmall>[url="#'.$htmlhot.'"]'.$hotel.' - '.$prezzo.'[/url]</span>
    '
    ;

    }}
    echo 
    $menulo;
    ?>
    Forse sbaglio a mettere la query che mi hai dato?
    Mai dire Mai

  4. #4
    $sql_prezzo="select min(prezzo)as minore from .....

    $prezzo=$rigaprezzominore['prezzo']

    usi un alias.... per min() e allora usalo...

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Originariamente inviato da piero.mac
    $sql_prezzo="select min(prezzo)as minore from .....

    $prezzo=$rigaprezzominore['prezzo']

    usi un alias.... per min() e allora usalo...
    e quindi devo mettere:

    $prezzo=$rigaprezzominore['minore'];

    ??

    Perche' se e' cosi lo stesso non va ;(
    Mai dire Mai

  6. #6
    Originariamente inviato da trippacchiello
    e quindi devo mettere:

    $prezzo=$rigaprezzominore['minore'];

    ??

    Perche' se e' cosi lo stesso non va ;(
    ci potrebbero essere altre ragioni di fallimento senza dubbio, ma di certo se metti un alias il nome del campo che estrai deve essere quello assegnato come alias.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    ma poi sotto invece di fare il print di $prezzo, lo devo fare di $minore?

    Anche se li ho provati entrambi e lo stesso non mi tirano fuori alcun prezzo...

    Oppure nella query
    $sql_prezzo="select min(prezzo) as minore from offerte where albergo='$hotel'";
    nel select non metto albergo?
    Ma anche questo l'ho prvato e mi da errore...
    Mai dire Mai

  8. #8
    Codice PHP:
        $hotel=$rigamenu['hotel'];
        
    $hotel=str_replace("HOTEL ","",$hotel);
        
    $hotel=str_replace("RESIDENCE ","",$hotel);
          
        
    $sql_prezzo="select min(prezzo) as minore from offerte where albergo='$hotel'";

    // e poi si trova:

    if ($hotel=="HOTEL 4 STELLE SUPERIOR") { 
    prova a stampare questa sequenza di manipolazione del campo "hotel" e controlla se la query e' coerente nel where albergo='$hotel' con il contenuto del campo.

    Se nel campo hotel della tabella "albergo" ti trovi con "tipologia nome" cioe' con valori non atomici.... beh! alllora prendi in considerazione di sdoppiare il campo.

    Non ho letto tutto lo script ma ti suggerisco proprio di stampare tutti i passaggi per vedere cosa succede. tieni presente che min() rende sempre una riga, comunque, con il minimo valore oppure zero se trova nulla.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  9. #9
    non c'ho capito molto

    ad ogni modo sto facendo le prove su questa pagina

    L'originale sta togliendo indext.php

    il codice che mi crea il menu laterale che scende e' corretto... solo che voglio creare quel tooltip per fare in modo che l'utente sappia qual'e' il prezzo piu' basso di quell'hotel...
    Mai dire Mai

  10. #10
    Originariamente inviato da trippacchiello
    il codice che mi crea il menu laterale che scende e' corretto... solo che voglio creare quel tooltip per fare in modo che l'utente sappia qual'e' il prezzo piu' basso di quell'hotel...
    il menu laterale che scende mi copre l'inizio del corpo centrale con tutti i browser.

    quello che dicevo prima era semplicemente che devi verificare che il contenuto di $hotel sia coerente con il contenuto del campo "albergo" della tabella offerte.

    togli la chiocciola da mysql_query e stampa il result set. Togli pure il while perche' indichi un albergo preciso e di min() ce ne sara' uno solo.

    Codice PHP:
    $sql_prezzo="select min(prezzo) as minore from offerte where albergo='$hotel'";

          
    $risultato_prezzo mysql_query($sql_prezzo)
          or die(
    "Impossibile eseguire l'interrogazione del prezzo - " .mysql_error() );

          
    $rigaprezzominore mysql_fetch_array($risultato_prezzo)
     
          echo 
    $prezzo $rigaprezzominore['minore']; 

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

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.