Abfrage filtert nicht richtig
maik
- php
0 Philip Ehret0 Micheal0 Philip Ehret0 Maik0 Philip Ehret0 Maik
Hallo zusammen,
ich blicke es so langsam nicht mehr.
Warum zeigt er mir das falsch Datum an?
Es sollen nur die nächsten 3 Termine angezeigt erden. Hier der Code:
PHP-Code:
$lesen = mysql_query($abfrage);
$datumheute=date('d.m.Y');
$counter=0;
while ($ergebnis=mysql_fetch_array($lesen))
{
$was=$ergebnis[Was];
$wann=date('d.m.Y',strtotime($ergebnis[Wann]));
/*echo "if " .$wann. " >= " .$datumheute. " && " .$counter. " >=2" ."<br>"; */
if (($wann >=$datumheute)&&($counter<=2))
{
$counter=$counter +1;
$wo=$ergebnis[Wo];
$treffpunkt=date('H:i',strtotime($ergebnis[Treffpunkt]));
Echo " +++ ".$wann.": ".$was." - Treffpunkt: ".$treffpunkt;
}}
?>
Hallo,
wieso nimmst du das Feld "Wann" nicht als Argument in deinem Query?
SELECT Was
, Wann
, Wo
, Treffpunkt
FROM {table}
ORDER BY Wann
DESC LIMIT 0,3
Viele Grüße,
Philip
Hallo,
wieso nimmst du das Feld "Wann" nicht als Argument in deinem Query?
SELECT
Was
,Wann
,Wo
,Treffpunkt
FROM{table}
ORDER BYWann
DESC LIMIT 0,3Viele Grüße,
Philip
Hallo Philip,
vielen Dank für deine Antwort, wollte es mal anderst versuchen, finde aber denn fehler nicht. hier der ganze php code:
<?php
$verbindung=mysql_connect("host.de",
"222","222") or die
("Keine Verbindung moeglich");
mysql_select_db("222") or die
("Die Datenbank existiert nicht");
/*$abfrage = "SELECT * FROM ffm_termine ORDER BY Wann ASC";*/
$abfrage = "select * from ffm_termine where Wann > now() LIMIT 3";
$lesen = mysql_query($abfrage);
$datumheute=date('d.m.Y');
/*$counter=0;
while ($ergebnis=mysql_fetch_array($lesen))
{ */
$was=$abfrage[Was];
$wann=date('d.m.Y',strtotime($abfrage[Wann]));
/*echo "if " .$wann. " >= " .$datumheute. " && " .$counter. " >=2" ."<br>"; */
/*if (($wann >=$datumheute)&&($counter<=2))
{
$counter=$counter +1;
*/
$wo=$abfrage[Wo];
$treffpunkt=date('H:i',strtotime($abfrage[Treffpunkt]));
Echo " +++ ".$wann.": ".$was." - Treffpunkt: ".$treffpunkt;
/*}}*/
?>
Hallo,
vielen Dank für deine Antwort, wollte es mal anderst versuchen, finde aber denn fehler nicht.
Da ich keine Ahnung hab, was in der Datenbank steht, lass dir mal das Ergebnis ausgeben und überprüf es.
print_r($ergebnis);
Nach der while-Schleife.
Viele Grüße,
Philip
Habe aber die While schleife ausgeblendet. So der Code ohne das ausgeblendete.
unter wann steht ein datum
was ist text
und treffpunkt uhrzeit
<?php
$verbindung=mysql_connect("hoster",
"222","222") or die
("Keine Verbindung moeglich");
mysql_select_db("222") or die
("Die Datenbank existiert nicht");
$abfrage = "select * from ffm_termine where Wann > now() LIMIT 3";
$lesen = mysql_query($abfrage);
$datumheute=date('d.m.Y');
$was=$abfrage[Was];
$wann=date('d.m.Y',strtotime($abfrage[Wann]));
$wo=$abfrage[Wo];
$treffpunkt=date('H:i',strtotime($abfrage[Treffpunkt]));
Echo " +++ ".$wann.": ".$was." - Treffpunkt: ".$treffpunkt;
?>
Hallo,
du sagtest, dass das ausgegebene Datum falsch ist, richtig? Das heißt, dass strtotime() den Wert aus $ergebnis[Wann] nicht umwandeln kann, oder das irgendwas an deiner Abfrage nicht stimmt.
<?php
$verbindung=mysql_connect("host.de",
"222","222") or die
("Keine Verbindung moeglich");
mysql_select_db("222") or die
("Die Datenbank existiert nicht");
$abfrage = "SELECT * FROM ffm_termine ORDER BY Wann ASC";
$lesen = mysql_query($abfrage);
while ($ergebnis=mysql_fetch_array($lesen))
{
/* ... */
}
print_r($ergebnis);
?>
So wird dir das Array $ergebnis angezeigt. Jetzt kannst du schaun, ob die Werte stimmen.
Viele Grüße,
Philip
Die Anzeige ist leider leer.
Hallo,
Die Anzeige ist leider leer.
mit deinem ursprünglichen Code erhälst du Ausgaben?
Viele Grüße,
Philip