Gezielt Daten auslesen

DaKa

Mitglied
Also ich will ein newsscript schreiben.
bis jetzt klappt auch alles ganz gut.
Ich hab ein Formular, dass die Daten einliest und in die DB schreibt.
jetzt will ich die letzen 5 news auslesen und zwar am besten so, dass jeder wert in einer anderen konstante gespeichert wird, die ich später mit echo aufrufen kann

<?

include("db.php");
$eintrag = "INSERT INTO news (autor, head, msg) VALUES ('$autor', '$head', '$msg')";
$eintragen = mysql_query($eintrag);
$ergebnis = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 5");
while ($row = mysql_fetch_object($ergebnis)) {
echo "$row->autor<br>";
echo "$row->head<br>";
echo "$row->msg<br>";
echo "$row->date<br>";
}
?>
 
Hm versteh auch nicht wo da dein prob liegt - baust in die echoanweisungen evtl nochne tabelle damits schöner ausschaut ...

aber bin auchnet so der db prof ...

Grüße, Morph
 
na ich will dass nicht alle angezeigt werden
ich will mir gezielt die letzen 5 raussuchen und jeweil in eine neue tabelle machen. deshalb wäre es ja ganz gut wenn ich sie in einer andere variabel speichern könnet
 
Führst in der Schleife einfach einen Insert aus. Wenn du fünf Datensätze hast trägt er die fünf in die neue Tabelle ein. Allerdings sehe ich keinen Sinn darin. Sag mir bitte mal wozu du das genau brauchst !!
 
nene du verstehst mich falsch

ich bekomm ja die fünf neusten einträge in der db
diese will ich dann einzeln haben um sie in einer html tabelle einzusetzen
 
Achso :)

Probiere es mal so:
PHP:
<? 

include("db.php"); 
$eintrag = "INSERT INTO news (autor, head, msg) VALUES ('$autor', '$head', '$msg')"; 
$eintragen = mysql_query($eintrag); 
$ergebnis = mysql_query("SELECT * FROM news ORDER BY id DESC LIMIT 5"); 
while ($row = mysql_fetch_object($ergebnis)) { 
echo "$row->autor<br>"; 
echo "$row->head<br>"; 
echo "$row->msg<br>"; 
echo "$row->date<br>"; 

// Array erzeugen
$topnews[] = array ( $row->autor, $row->head, $row->msg, $row->date );
} 
?>

Ausgabe in Tabelle:

<table>
<?
  reset ( $topnews );

  foreach ( $topnews as $val ) {
    echo "<tr>";
    
    foreach ( $val as $content ) {
      echo "<td>".$content."</td>";      
    }

    echo "</tr>";
  }
</table>
 
Ja danke damit kann ich was anfangen. Besser wär aber noch eine Methode mit der ich die gesamte Tabelle mit echo ausgeben kann und die Werte gezielt in die Spalten eingeben könnten
 
Das kannst du doch beim füllen des Arrays bestimmen. Wenn du das anderst machen willst, wird es zu kompliziert, bzw. umständlich.

Du weisst ja jetzt wie man das Array füllt und das ist die schnellste und eleganteste Lösung ;-)
 
Zurück