- Home
- Categorie
- Coding e Sistemistica
- Coding
- Recuperare dati dal database
- 
							
							
							
							
							Ah... una ricerca del range di eta` nel db! Allora nella query dovrebbe bastare mettere delle condizioni: ' WHERE eta>18 AND eta<26 '. Ti restituisce tutte le righe dove eta e` maggiore di 18 e minore di 26. 
 
- 
							
							
							
							
							
[...] Sì ma peccato che nella tabella è riportata solo la data di nascita così 4-11-1986 ehehee Forse ho capito, ricalcolo la data di ricerca, cioè uso la funzione che mi dà l'età al contrario, ricavando la data dall eta  
 
- 
							
							
							
							
							
Ecco ora funziona [php] 
 $now = getdate(time() + timezone + dst - date('Z'));
 $anno1 = $now['year'] - $eta1;
 $anno2 = $now['year'] - $eta2;
 $anno1ok = "".$now['mday']."-".$now['mon']."-$anno1";
 $anno2ok = "".$now['mday']."-".$now['mon']."-$anno2";[/php]O per lo meno ottengo le date da ricercare. Solo che mi dà un errore quando ricerco: WHERE nascita=>'$anno1ok' AND nascita=<'$anno2ok'" Spiacenti, si è verificato un errore: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=>'4-10-1993 AND nascita=<'4-10-1988' order by username limit 0,10' at line 1 Come mai? Sbaglio la ricerca date? 
 
- 
							
							
							
							
							Ciao Sovietiko, 
 puoi fare un echo della query e postarla?
 
- 
							
							
							
							
							
Ciao Dark, [php] 
 if($eta1 != "nullo" AND $eta2 != "nullo") { $rice5 = "AND nascita=>'$anno1ok' AND nascita=<'$anno2ok'"; }$result = $db->sql_query("select * from ".$prefix."_users where username != 'Anonymous' $rice5 order by username limit $min,$perpage") or die("Spiacenti, si è verificato un errore: ".mysql_error()); 
 [/php]Questo il codice, come faccio a fare un print? Ho un vuoto di memoria ehehe 
 
- 
							
							
							
							
							La query e` quella stringa che metti in sql_query() Fai una stringa e poi inserisci la variabile cosi` la puoi stampare. Fatto sta che l'errore ti viene dato in quanto non ci stai mettendo un anno ma una data. 
 
- 
							
							
							
							
							
Scusate il ritardo non ero a casa [php] 
 Spiacenti, si è verificato un errore: select * from utenti where username != 'Anonymous' AND nascita=>'4-10-1993' AND nascita=<'4-10-1985' order by username limit 0,10 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '=>'4-10-1993' AND nascita=<'4-10-1985' order by username limit 0,10' at line 1[/php]Forse il problema è che il campo è varchar e non un date? Se così fosse una soluzione alternativa? non posso rimodificare tutto.. 
 
- 
							
							
							
							
							Ottieni la data dalla query; fai una substring della "data" (stringa dovremmo dire) per ottenere l'anno es. substr($data,-4,4); ottieni l'eta` dall'anno e poi fai un if... ecc. ecc. ecc. 
 
- 
							
							
							
							
							
Guarda ho risolto mettendo il campo in date. [php] 
 nascita BETWEEN '".$anno2ok."' AND '".$anno1ok."'[/php]Funziona regolare. Mi toccherà cambiare le date nel db prima di fare il cambio ufficiale.. Pazienza. Saluti! 
 
- 
							
							
							
							
							Bhe, meglio! 