Veröffentlicht 15. April 200322 j 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
15. April 200322 j 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
15. April 200322 j Dann schreib doch als SQL Anweisung SELECT id, datum, wasweisich FROM Tabelle WHERE datum > '15.04.2003' ORDER BY id Frank
15. April 200322 j aber was mach ich dann am 16.04.2003?? da brauch ich das ganze ab dem 17.04.2004 :confused:
15. April 200322 j 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
15. April 200322 j 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]
15. April 200322 j 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.
15. April 200322 j 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]
15. April 200322 j 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
15. April 200322 j 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??
15. April 200322 j Mit einem join. select tabelle1.id, tabelle1.datum, tabelle2.name from tabelle1, tabelle2 where tabelle1.id=tabelle2.id Frank
15. April 200322 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.