Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [PHP] Letztes Datum aus DB ausgeben. (https://www.delphipraxis.net/73174-%5Bphp%5D-letztes-datum-aus-db-ausgeben.html)

Cras339 13. Jul 2006 10:01


[PHP] Letztes Datum aus DB ausgeben.
 
Hallo Leute!

Ich weiß die Überschrift trifft mein Problem nicht ganz.

Zu meinem Problem:

Ich habe eine News-Seite auf meiner Homepage, die immer die News des aktuellen Tages anzeigt. Folgendermaßen zeige ich die News an:

Delphi-Quellcode:

$date=date("d.m.y");

require("dbconnect.php");
      
$result = mysql_query("SELECT * FROM tbl_news WHERE news_lang='$lang' AND news_date='$date'
         ORDER BY 'news_id' DESC") OR die(mysql_error());
      
while ($row = mysql_fetch_object($result)) { 

echo "$row->news_text";

?>
Nun ist es ja so, dass ich nicht jeden Tag aktuelle News habe. Deshalb brauche ich eine Abfrage, die mir sagt ob das aktuelle Datum mit dem Datum der letzten news übereinstimmt. Wenn nicht, soll er die News mit dem zuletzt eingetragenem Datum ausgeben.

Doch genau diese Abfrage bereitet mir zur Zeit Kopfzerbrechen.

Habe bereits selber herumprobiert und folgenden nicht funktionierenden Code erstellt:

[delphi]

Hoffe ihr versteht was ich meine und könnt mir helfen. Wäre nett, wenn ihr mir ein Code-Beispiel posten könntet.

Danke und Gruß

Tim

fkerber 13. Jul 2006 10:03

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Hi!

Dann sortiere (ORDER BY) doch nicht nach News_ID, sondern nach dem Datum. Dann stehen immer die neusten oben...


Ciao Frederic

Cras339 13. Jul 2006 10:12

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Danke für die schnelle Antwort!

Es geht mir nicht um die Sortierung. Ich möchte immer nur die News angezeigt haben die dem aktuellen Datum entsprechen. Sollte es keine News zum aktuellem Datum geben, soll er mir nur News vom letzten Datum anzeigen.

morri 13. Jul 2006 10:15

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Ich habe zwar keine Ahung von php , aber gibt es da keine Where-Klausel?
Ein normaler Sql Befehl mit where feld=heute dürfte doch deine Wünsche erfüllen, odeR?

Cras339 13. Jul 2006 10:23

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Doch WHERE gibt es natürlich. So filtere ich ja die News einträge für das aktuelle Datum heraus. Was mir nur nicht klar ist, wie eine Abfrage stelle die folgendes mach:

Delphi-Quellcode:
Wenn "news_date" ungleich "aktuelles Datum"

dann "news_date" gleich "Datum der letzen eingetragenen News"
Das ist mein eigentliches Problem. Ich weiß einfach nicht wie ich die Abfrage richtig stellen muss, damit ich zu meinem Wunschergebnis komme.

pacman1986 13. Jul 2006 11:03

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Delphi-Quellcode:
$select ="SELECT * 
     FROM tbl_news
     WHERE news_lang='$lang'
     ORDER BY news_id DESC
          LIMIT 1,1";
sollte den gewuenschten erfolg bringen.

hier wird immer die letzte vorhandene news ausgegeben schaud dich mal nach LIMIT mit dem mysql befehl kannst du die ausgabe limitieren.

morri 13. Jul 2006 11:05

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Ah jetzt verstehe ich dich.

Ich würde es mit sql etwa so machen:

erst fragen : where datum = heute,

dann die records zählen.
wenn die null sind, dann eine neue abfrage mit order by datum starten.

dann den obersten wert nehmen und davon das datum, das ist dann das datum, was der variablen zugewiesen wird.

Jetzt hast du das datum der letzten news.

hoffe, ich habe dich richtig verstanden und du mich ;)

Cras339 13. Jul 2006 11:14

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Danke für die Antwort.

Ich weiß ja wie ich das Datum der letzten verfassten news herausbekomme. Das Problem stellt sich bei der Abfrage, welche einfach nicht hinhauen will. Anscheinend ignoriert PHP einfach meine "if then else"-Abfrage in diesem Falle. Ich weiß echt nicht mehr weiter, ich habe echt schon alles ausprobiert. Das garantiert wieder ein ganz kleiner Fehler, der mit wenigen Zeilen Code zu lösen ist!

pacman1986 13. Jul 2006 11:16

Re: [PHP] Letztes Datum aus DB ausgeben.
 
poste doch ma den fehler

Cras339 13. Jul 2006 11:30

Re: [PHP] Letztes Datum aus DB ausgeben.
 
Es kommt kein wirklicher fehler.

Delphi-Quellcode:
$result = mysql_query("SELECT * FROM tbl_news WHERE news_lang='$lang' AND news_date='$date'
            ORDER BY 'news_id' DESC") OR die(mysql_error());                  
 while ($row = mysql_fetch_object($result)) { ?>
 
  if ($row->news_date=="$today"){ //wenn news_date = aktuelles Datum dann
   
   //Ausgabe der Daten
            
   <div id="ContentBox">
            
    <div id="ContentHead"><?php echo "$row->news_date"; ?></div>
            
      <div id="ContentText">

       <Div id="ImageBox">
                  
        <div id="Image">
          
             [img]<?php echo [/img]news_thumb"; ?>" width="80" height="70" align="left" /></div>
                  
        <div id="Image"><?php echo "$row->news_bu"; ?></div>
               
       </div>
            
       <?php echo nl2br("$row->news_teaser"); ?>   
             
       <a href="news.php?lang=<?php echo "$lang"; ?>&ID=<?php echo "$row->news_id_lang"; ?>">
            [read more]</a></div>
            
       <div id="ContentFooter"><?php echo "$row->news_autor" ?> </div>   
    </div>

<?php
  }else{
  echo "Keine aktuellen News";
  }
 }
?>
Das Problem ist, egal ob das Datum mit dem in der Datenbank über einstimmt oder nicht, es erscheint immer "Keine aktuellen News.


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:57 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz