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

    DB - Campi compresi tra 2 estremi

    ciao a tutti... avrei un problema... dovrei dire al mio DB di estrapolare tutti gli utenti di una determinata età conoscendo gli estremi.. per esempio

    Tizio ha 24 anni
    Caio ne ha 25
    Sempronio ne ha 35

    Io creo un form dove "etaminima" = 18 e "etamassima" = 32

    come faccio a dire al db di visualizzarmi solo i valori compresi? tenete presente che l'età degli utenti l'ho calcolata come sottrazione tra la data corrente e quella di nascita, arrotondate per difetto con il "floor" :master:

  2. #2
    codice:
    SELECT * FROM tabella WHERE eta > 25 AND eta < 50
    Seleziona le righe tra 25 e 50 estremi non compresi
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    il problema è che non ho nel DB il valore dell'età ma solo della data di nascita, e per convertirlo in età ho fatto

    $queryA = "SELECT *, TO_DAYS(CURDATE()) - TO_DAYS(data_nascita) as giorni FROM membri order by id desc";
    $result = mysql_query($queryA, $connection);
    $row = mysql_fetch_array($result);
    $etaminima = $row[giorni]/365;
    echo floor ($etaminima);

    ora come posso dare un valore minimo e massimo?

  4. #4
    Beh e fare una query in base alle date di nascita?
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  5. #5
    saperlo fare...

  6. #6

  7. #7
    Quali sono i campi della tabella per la data di nascita? è solo uno o sono multipli?
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  8. #8
    scusa con php ti modifichi i valori delle età che ti arrivano da form e li trasforrmi in date.
    Con quelle poi esegui la query che ti ha consigliato Sora88

    ciao

  9. #9
    a posto ho risolto

  10. #10
    Utente di HTML.it L'avatar di Teuzzo
    Registrato dal
    Mar 2002
    Messaggi
    969
    SELECT * FROM membri
    WHERE data_nascita BETWEEN DATE_SUB(NOW(),INTERVAL $etamassima YEAR) AND DATE_SUB(NOW(),INTERVAL $etaminima YEAR)
    ORDER BY id DESC

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.