 |
| Hinweise |
Willkommen im TP-Hilfe-Forum!Dies ist ein Forum zu den Themen Photoshop, Dreamweaver, Flash, Selbständigkeit und mehr, in dem Du Hilfe, Anleitung oder eine Lösung zu Deinen Problemen erhältst. Aktuell bist Du in unseren Foren als Gast mit reinen Leserechten unterwegs. Wenn Du Dich registrierst, kannst Du eigene Themen verfassen, deine Frage stellen und privat mit anderen TPlern kommunizieren. Weitere Foren werden zugänglich, und Du wirst – falls gewünscht – per Mail über neue Beiträge informiert. Die Registrierung ist schnell und kostenlos. Sollten bei der Registrierung Fragen auftauchen, reicht ein Klick in unsere Hilfe - Häufig gestellte Fragen oder eine kurze Mitteilung an das Support-Team. Viel Spaß bei Traum-Projekt.com |
13.01.2004, 23:52
|
#1
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
sql abfrage,welche einträge ab enddatum bis 10 tage danach ausliest
hi,
wie kann ich denn eine sql-abfrage so gestalten das sie nur eintraege ausliest, die ab dem enddatum und bis 10 tage spaeter des events ausliest.
ich habe folgenden ansatz:
PHP-Code:
$sql="select * from tbl_partys where enddatum<='$datum'";
ja und irgendwie muss da auch glaub ich das mit eingebundn werdn: $datumNEU = $datum + (10*60*60*24);
weiter weis ich nun aber auch nicht....
ich hoffe man kann mir weiterhelfen...
mfg
hallmi
Geändert von hallmi (14.01.2004 um 11:59 Uhr).
|
|
|
14.01.2004, 12:02
|
#2
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
ich habe nun folgenden code ausprobiert,aber es funtzt nicht...
PHP-Code:
$sqldate="select * from tbl_partys where partyname='$_GET[partyname]'";
$erg=mysql_query($sqldate,$db);
$row=mysql_fetch_object($erg);
//echo $row->reviewendadd;
$sql="select * from tbl_partys where enddatum<='$datum' and reviewendadd>='$row->reviewendadd'";
also es sollen schließlich alle datensaetze ausgegeben werden die sich in der spanne von 'enddatum' und 'reviewendadd' befinden, nur leider ist bei mir gerade das problem das ich nicht weis wie ich die sql-abfrage umgestalten muss.
mfg
hallmi
|
|
|
14.01.2004, 12:16
|
#3
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
hi hallmi,
wie sieht dein datum aus (yyyy-mm-dd) und dann muss dein datum in der abfrage schon $heute + 10tage sein.
gruss,
hardy
|
|
|
14.01.2004, 12:21
|
#4
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
mein datum sieht wiefolgt aus: dd.mm.yyyy also z.b. 14.01.2004 aber wenn ich dann das heutige datum nehme(also time()) dann wird es ja jeden tag immer wieder um 10tage erhoeht oder?
|
|
|
14.01.2004, 12:33
|
#5
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
du kannst nicht einfach dein datum (14.01.2004) 10 tage zuschlagen. was machst du am 20. feb oder 25. jedes monats. du wirst also mit unix-time rechnen muessen und dann das ganze in ein datum umwandeln.
klingt kompliziert ... is auch so.
PHP-Code:
$rev_end = time() + 864000; // also heute + 10 * 86400
$rev_end = date("d.m.Y", $rev_end);
$sql = mysq_queryl("select_*_from_tbl_partys_where_enddatum<='$rev_end'");
|
|
|
14.01.2004, 12:46
|
#6
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
komisch ist nun nur noch das auch eintraege, die erst einen monat spaeter beginnen aber vom tag gesehen in den zeitraum passen auch ausgegeben werden!
Geändert von hallmi (14.01.2004 um 12:57 Uhr).
|
|
|
14.01.2004, 13:15
|
#7
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
...wie oft hab ich das schon geschrieben:
MySQL hat extra Felder und Funktionen um Datumshandling zu vereinfachen. Dein Vorhaben kann man in einem Query machen. Ohne irgendwelches zutun von PHP. Die Antwort und die passenden Links sind im Forum. Einfach mal nach "Datum MySql" und meinem Username suchen...
Gruss
Jan
PS: da z.B. http://www.traum-projekt.com/forum/s...ht=datum+mysql
|
|
|
14.01.2004, 13:22
|
#8
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
den satz hab ich jetzt nicht wirklich verstanden.
probier einfach mal das hier:
PHP-Code:
$heute = time();
$weiter = $heute + 864000;
$weiter = date("d.m.Y", $weiter);
print "<br>".$weiter;
das datum stimmt also. wie steht es dann mit deiner abfrage? wie sieht die jetzt aus?
|
|
|
14.01.2004, 13:25
|
#9
|
|
TP-Moderator
Registriert seit: Feb 2001
Ort: Helmstedt/Wolfsburg
|
MySQL versteht kein Datum von diesem Format "d.m.Y"... da kann man vergleichen wie man will...
|
|
|
14.01.2004, 22:33
|
#10
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
und wenn ich die unix zeit vergleiche... wuerde das gehn?
mfg
hallmi
|
|
|
15.01.2004, 09:57
|
#11
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
das datumsformat im mysql (schau mal in die db in ein feld mit format date) sieht so aus: Y-m-d
zwei kleine funktionen koennen das problem beheben.
PHP-Code:
function gerDate($datum) {
$datum = explode("-", $datum);
$datum = $datum[2].".".$datum[1].".".$datum[0];
return $datum;
}
function engDate($datum) {
$datum = explode(".", $datum);
$datum = $datum[2]."-".$datum[1]."-".$datum[0];
return $datum;
}
da formst du dein datum vom deutschen format auf die form Y-m-d um und kannst es in deine abfrage einbauen.
|
|
|
15.01.2004, 11:05
|
#13
|
|
TP-Specialist
Registriert seit: Apr 2002
Ort: 743, evergreen terrace
|
@ jan: danke! 
|
|
|
15.01.2004, 12:39
|
#14
|
|
TP-Senior
Registriert seit: Nov 2003
Ort: Seebergen
|
hallo,
ich habe nun das was ich wollte,vielen dank fuer eure unterstuetzung!
nur leider bekomm ich es nun nicht hin den vorliegenden datumswert in meiner tabelle (2004-01-15) in die deutsche schreibweise umzuwandeln...
mit folgenden funtzt es nicht(zumindest bekomm ich es damit nicht hin):
PHP-Code:
echo date("d.m.Y",$row[startdatum]);
PHP-Code:
echo DATE_FORMAT('$row[startdatum]', '%W%M%Y');
PHP-Code:
echo strftime("%A, %d. %B %Y ",$row[startdatum]);
mfg
hallmi
|
|
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
Thema durchsuchen |
|
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 20:57 Uhr.
|
 |