Pagina 3 di 4 primaprima 1 2 3 4 ultimoultimo
Visualizzazione dei risultati da 21 a 30 su 37
  1. #21
    up.
    What is the |\/|atrix?

  2. #22
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    220
    Non puoi effettuare la query come quella che hai postato nello script e poi con la tua funzione visualizzi solo gli utenti che hanno i requisiti d'età?

  3. #23
    No, non posso.
    Devo fare tutto in una query poichè mi serve per una ricerca avanzata.. Il codice che ho postato è solo di test.. Cioè: Facendo funzionare il codice che ho postato, facendo tutto in una query, ho risolto il problema, perchè poi me lo implemento nella mia ricerca avanzata... Questo almeno lo so fare!
    Comunque grazie lo stesso Dj..
    What is the |\/|atrix?

  4. #24
    up..
    What is the |\/|atrix?

  5. #25

    Select eta "compiuta" from mia_tabella

    Non voglio essere rompiscatole, ma vorrei riformulare il quesito, postatondo tutto qui, in modo che se qualcuno vuole darmi una mano può leggere questo post e capisce il problema: Riepilogando:
    Ho inserito nel campo "nato", che è di tipo INT (11), delle date con la funzione "mktime()".
    Adesso devo estrarre dal db tramite una query tutti gli utenti che abbiano età compresa tra $eta1 e $eta2 (rispettivamente 15 anni e 16 anni)... età che però deve essere compiuta!
    Cioè dovrei fare una query del tipo:

    SELECT * FROM MIA_TABELLA WHERE
    [Gli anni nel campo 'nato' (CHE DEVONO ESSERE COMPIUTI) devono essere >= di $eta1 (15 anni)] AND [Gli anni nel campo 'nato' (CHE DEVONO ESSERE COMPIUTI) devono essere <= di $eta2 (16 anni)]

    Avevo scritto un codice per la mia pagina che faceva quello che volevo io... l'unico baco che è per l'appunto quello che devo corregere io era il fatto che selezionava tutto, anche se gli anni non erano ancora compiuti... Solo una volta visualizzati i record effettuava le operazioni che voglio effettuare nella query che devo modificare... cioè mostrare la reale età dell'utente.. (età compiuta)

    Questo è il codice che avevo prima, giusto per rendervi conto di quello che ho e delle modifiche che dovrei apportare:
    codice:
    <? 
    include("config.inc.php"); 
    
    $db = mysql_connect($db_host, $db_user, $db_password); 
    if ($db == FALSE) die ("Errore nella connessione al db"); 
    mysql_select_db($db_name, $db) or die ("Errore nella selezione del database."); 
    
    $eta1=15; 
    $eta2=16; 
    
    $ora = date("Y", mktime (0,0,0,0,0, date("Y")))+1; 
    $diff1 = $ora-$eta1; 
    $diff2 = $ora-$eta2; 
    
    
    $query = "SELECT * FROM $db_table6 WHERE FROM_UNIXTIME(nato,'%Y') <= '" . $diff1 . "' and FROM_UNIXTIME(nato,'%Y') >= '" . $diff2 . "'"; 
    
    $result = mysql_query($query, $db) or die (mysql_error()); 
    
    echo $query; 
    
    while ($row = mysql_fetch_array($result)) 
    
    { 
    
    echo $row[nome]."
    ".$row[cognome]."
    "; 
    
    
    $d = date("d", $row[nato]); 
    $m = date("m", $row[nato]); 
    $y = date("Y", $row[nato]); 
    $bDay = mktime ( 0, 0, 0, $m, $d, $y ); 
    $cTime = time (); 
    $age = $cTime-$bDay; 
    $yr = floor ( $age/(60*60*24*365.242199) ); 
    echo $yr; 
    
    
    echo "
    ".$row[prov]."
    ".$row[num]."
    ".$row[zert]; 
    
    
    
    } 
    
    
    mysql_close($db); 
    
    
    ?>
    Vi ringrazio ancora e scusate..
    What is the |\/|atrix?

  6. #26
    codice:
    $eta1 = 15;
    $eta2 = 16;
    
    SELECT * 
    from $db_table6 
    where
    from_unixtime(nato)
    between now() - interval '$eta2' YEAR
    AND 
    now() - interval '$eta1' YEAR;
    Attenzione a mettere prima $eta2 essendo un valore negativo va messo prima il minore.



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

  7. #27
    Innanzitutto grazie per avermi risposto!
    Ho provato come hai detto tu ma la pagina mi risponde dicendomi che non ci sono record (quando invece ci sono)... ho stampato la query ed è:
    codice:
    SELECT * FROM utenti WHERE from_unixtime(nato) between now() - interval '16' YEAR AND now() - interval '15' YEAR
    Quale potrebbe essere il problema?
    Grazie ancora!
    What is the |\/|atrix?

  8. #28
    posta un po di questi valori unix timestamp e vediamo il perche' non vanno.

    Anzi... fai anche questa query cosi' puoi vedere esattamente i tuoi unixtime.

    SELECT nome, cognome from_unixtime(nato) as data FROM utenti



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

  9. #29
    Originariamente inviato da piero.mac
    posta un po di questi valori unix timestamp e vediamo il perche' non vanno.

    Anzi... fai anche questa query cosi' puoi vedere esattamente i tuoi unixtime.

    SELECT nome, cognome from_unixtime(nato) as data FROM utenti


    Effettuando la query che mi hai detto tu ho questo errore:
    You have an error in your SQL syntax near 'from_unixtime(nato) as data FROM utenti' at line 1
    What is the |\/|atrix?

  10. #30
    Originariamente inviato da |\/|atrix
    Effettuando la query che mi hai detto tu ho questo errore:
    You have an error in your SQL syntax near 'from_unixtime(nato) as data FROM utenti' at line 1
    SELECT nome, cognome, from_unixtime(nato) as data FROM utenti

    manca una virgola....

    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.