SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 12.02.2010, 17:35:09
joethe joethe ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 37
Beiträge: 15
Suche nach bestimmten Alter aufgrund von Geburtsdatum

Hallo

Ich habe eine MySQL Datenbank, worin Kundendaten gespeichert sind. Jetzt möchte ich über eine Suchfunktion alle Kunden ausspucken, welche z.B. 20 Jahre alt sind. Leider habe ich in der Datenbank nur das Geburtsdatum der jeweiligen personen gespeichert.

Gibt es einen Weg, wie man das mit MySQL realisieren kann?

Geburtsdatum ist im Format varchar() gespeichert, und besitzt folgendes Format: 12.04.1989.


Habe bis jetzt folgendes probiert, nur leider funktioniert das so nicht:

MySQL gibt aber keine Fehlermeldung aus, sondern zeigt einfach kein Resultat an. Stimmt denn das so:
Code:
SELECT * FROM `Frauen` WHERE
adresse_kanton IN ('Schwyz' , 'Zuerich') AND
adresse_land IN ('Deutschland' , 'Schweiz') AND
extract(YEAR from CURDATE()) - extract(YEAR from STR_TO_DATE('geburtsdatum', '%d/%c/%Y')) >= 10
geburtsdatum ist der name der spalte...D.h. doch, dass jetzt alle Datensätze, ausgegeben werden, wo die Person vor dem Jahr 2000 geboren wurde, oder?

Formatierung der Spalte:
http://www1.xup.in/exec/ximg.php?fid=88024657

gruss joethe



mfg
joe the
Mit Zitat antworten
  #2  
Alt 12.02.2010, 17:51:45
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Was meinst Du warum es zum Beispiel das Format DATE gibt? Damit solltest Du schneller an Dein Ziel kommen.
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3  
Alt 12.02.2010, 19:15:39
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Zitat:
Zitat von joethe Beitrag anzeigen
Leider habe ich in der Datenbank nur das Geburtsdatum der jeweiligen personen gespeichert.
Sei froh. Sonst müsstest du jeden Tag ein Script über die DB laufen lassen um zu schauen und ggf. zu ändern, wenn jemand älter geworden ist,

Ansonsten hat ja vt1816 schon das Zauberwort genannt.
Mit Zitat antworten
  #4  
Alt 12.02.2010, 20:55:28
joethe joethe ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 37
Beiträge: 15
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Also ich habe meine Datenbank formatiert. D.h. ich habe für die Spalte Geburtsdatum ein Date Format gemacht.

Leider funktioniert es aber immer noch nicht...MySQL gibt keine Fehlermeldung aus...

Code:
SELECT * FROM `Frauen` WHERE adresse_kanton IN ('Zuerich') AND adresse_land IN ('Schweiz') AND (DATEDIFF(CURRENT_DATE(),'geburtsdatum')) > 10
Um eine Hilfe wäre ich sehr Dankbar.

gruss robin
Mit Zitat antworten
  #5  
Alt 12.02.2010, 21:49:26
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

In deiner ursprünglichen Spalte stand das Datum mit DD.MM.JJJJ drin. MySQL verlangt das Datum als YYYY-MM-DD. Hast du das berücksichtigt?
Mit Zitat antworten
  #6  
Alt 12.02.2010, 22:04:12
joethe joethe ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 37
Beiträge: 15
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Hab die Lösung gefunden!
Mit Zitat antworten
  #7  
Alt 12.02.2010, 22:15:29
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Zitat:
Zitat von joethe Beitrag anzeigen
Hab die Lösung gefunden!
Und bleiben spätere User mit dem gleichen Problem im Dunkeln stehen oder verrätst du ihnen die Lösung?
Mit Zitat antworten
  #8  
Alt 13.02.2010, 12:57:51
joethe joethe ist offline
Anfänger
 
Registriert seit: Feb 2010
Alter: 37
Beiträge: 15
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Zitat:
Zitat von urvater Beitrag anzeigen
Und bleiben spätere User mit dem gleichen Problem im Dunkeln stehen oder verrätst du ihnen die Lösung?
Aber natürlich:

Code:
(YEAR(CURRENT_DATE())-YEAR(geburtsdatum)) > 22
Mit Zitat antworten
  #9  
Alt 13.02.2010, 19:39:57
Benutzerbild von urvater
urvater urvater ist offline
Senior Member
 
Registriert seit: Feb 2006
Ort: Wallrabenstein
Alter: 56
Beiträge: 1.044
AW: Suche nach bestimmten Alter aufgrund von Geburtsdatum

Ich weiß nicht wie genau dein Ergebnis sein soll. Frauen könnten bei deinem SELECT etwas sauer reagieren.

Beispiel:
Geburtsdatum: 10.10.1987
aktueller Tag: 10.05.2010

Fällt dir etwas auf?

Persönlich würde ich hier DATE_ADD empfehlen. Nachfolgendes sollte da genauer sein.
ungetestet
PHP-Code:
(DATE_ADD(geburtsdatum,INTERVAL 22  YEARS) <= CURRENT_DATE()) 

Geändert von urvater (13.02.2010 um 19:40:56 Uhr) Grund: Geburtsjahr geändert weil der Select >22 war
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Geburtsdatum in Alter umrechnen Lazy PHP Grundlagen 2 28.10.2009 00:50:41
Alter aus Geburtsdatum errechnen ChrisE PHP Grundlagen 6 14.01.2005 14:52:07


Alle Zeitangaben in WEZ +2. Es ist jetzt 00:03:02 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.


© 2001-2025 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt