logimann Geschrieben 15. April 2003 Geschrieben 15. April 2003 moin ich hab da so ne idee, aber weiß noch nicht wie ich das umsetzen kann. er soll ne abfrage machen und daten aus 1-4 tabellen ziehn (is ja auch kein problem). alle daten hab ein datum. er soll jetzt das heutige datum mit dem datum des datensatzes vergleichen. wenn das datum noch nicht war soll er die daten auflisten (limit 5). hat wer ne idee?? mfg logimann Zitieren
robotto7831a Geschrieben 15. April 2003 Geschrieben 15. April 2003 Original geschrieben von logimann wenn das datum noch nicht war soll er die daten auflisten (limit 5). Willst Du jetzt die Daten haben vor dem heutigen Datum oder die Daten nach dem heutigen Datum? Frank Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 also wenn heute der 15.04.2003 ist dann will ich die daten vom 16.04.2003 bis x Zitieren
robotto7831a Geschrieben 15. April 2003 Geschrieben 15. April 2003 Dann schreib doch als SQL Anweisung SELECT id, datum, wasweisich FROM Tabelle WHERE datum > '15.04.2003' ORDER BY id Frank Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 aber was mach ich dann am 16.04.2003?? da brauch ich das ganze ab dem 17.04.2004 :confused: Zitieren
Spike Geschrieben 15. April 2003 Geschrieben 15. April 2003 Nimm doch das heutige Datum + 1 Tag für das SQL-Statement? Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 kannste das mal posten wie du das meinst?? Zitieren
robotto7831a Geschrieben 15. April 2003 Geschrieben 15. April 2003 Original geschrieben von logimann aber was mach ich dann am 16.04.2003?? da brauch ich das ganze ab dem 17.04.2004 :confused: Du mußt das Datum natürlich nicht fest verdrahten. Du ermittelst das heutige Datum z.B. mit PHP und in der SQL Anweisung schreibst Du dann SELECT id, datum, wasweisich FROM Tabelle WHERE datum > '$datum' ORDER BY id Oder Du machst es wie Spike es vorgeschlagen hast. SELECT id, datum, wasweisich FROM Tabelle WHERE datum > NOW+1 ORDER BY id Müsste glaube ich so gehen. Frank Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 warum geht das nicht ich bekomm diese fehler meldung: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource <table width="99%" border="0" align="center"> <tr> <td> <?php include("db/datei_2.inc.php"); $sql = "SELECT * FROM tabelle WHERE datum > NOW+1 ORDER BY datum asc"; $sql = mysql_query($sql); ?> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center"> <?php $i = 0; while ($daten = mysql_fetch_array($sql)): $id = $daten["id"]; $datum = $daten["datum"]; $a = $daten["a"]; $i++; ?> <tr> <td width="10%"><div align="left"><font size="2"><?echo $i; ?></font></div></td> <td width="44%"><font size="2"><?echo $datum; ?></font></td> <td width="46%"> <div align="left"><font size="2"><?echo $a; ?></font></div></td> </tr> <?php endwhile ?> </table></td> </tr> </table> [/php] Zitieren
Spike Geschrieben 15. April 2003 Geschrieben 15. April 2003 Du sollst ja auch nicht alles blind kopieren sondern auch vorher nachdenken. Now+1 ist natürlich kein Wert der in ein SQL-Statement gehört, das war mehr zur veranschaulichung gedacht. Das musst du natürlich mit der entsprechend vorher aufbereiteten Variable ersetzen. Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 ups ok hab ich nicht drauf geachtet danke euch wie es aussieht hat das hin Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 ich muss leider sagen das es doch nciht geht!! die dates die schon waren werden immer noch angezeigt ich habs jetzt so gemacht $sql = "SELECT * FROM tabelle WHERE datum > '$now' ORDER BY datum asc LIMIT 5"; $sql = mysql_query($sql); $now = date("y m d"); [/php] Zitieren
Jaraz Geschrieben 15. April 2003 Geschrieben 15. April 2003 Hallo, was für einen Columntyp hat dein Datum Feld in der Datenbank? Gruß Jaraz Zitieren
robotto7831a Geschrieben 15. April 2003 Geschrieben 15. April 2003 Ich habe es jetzt mal ausprobiert. SELECT id FROM Tabelle WHERE date_format( date_add( curdate(), INTERVAL 24 HOUR),'%Y%m%d') Zuerst wird mit curdate() der aktuelle Tag ermittelt, dann wird mit date_add 24 Stunden zum aktuellen Datum hinzugezählt und mit date_format wird das Datum Formatiert nach JJJJMMTT ausgegeben. Wenn Du das Datum in einer anderen Reihenfolge brauchst, dann mußt Du Ymd tauschen. Frank Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 ich hab ihm "date" gegeben Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 ich versteh deinen post nicht! für die formatierung hab ich schon nen ausgabe script function datumanzeige($datum) { $tag = substr($datum, 8, 2); $monat = substr($datum, 5, 2); $jahr = substr($datum, 0, 4); $temp = $tag . "." . $monat . "." . $jahr; return $temp; } und wo pack ich bei dir "ORDER BY datum asc LIMIT 5" hin?? Zitieren
Jaraz Geschrieben 15. April 2003 Geschrieben 15. April 2003 SELECT * FROM tabelle WHERE datum > now( ) ORDER BY datum ASC LIMIT 5 Gruß Jaraz Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 ok das von Jaraz funzelt so wollte ich das Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 wie hol ich mich jetzt die daten aus der 2 tabelle? Zitieren
robotto7831a Geschrieben 15. April 2003 Geschrieben 15. April 2003 Mit einem join. select tabelle1.id, tabelle1.datum, tabelle2.name from tabelle1, tabelle2 where tabelle1.id=tabelle2.id Frank Zitieren
logimann Geschrieben 15. April 2003 Autor Geschrieben 15. April 2003 1. er zeitg nur müll sprich er mischt sie mit einander 2. ich muss "datum > now() ORDER BY datum asc LIMIT 5" wegnehmen was ich aber dringend brauche watt nun Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.