[HILFE] Datenbank auslesen

phpMars

Erfahrenes Mitglied
Ich möchte folgendes machen:

Ich habe in einer Datenbank die Tabelle "news" eingerichtet, die 4 Informationen speichert.
(id, user, date & text)

Ich möchte das immer nur 1 Zeile ausgelesen wird. Dementsprechend habe ich meinen Code so gewählt:

PHP:
<?
	$table = "bgc_news";
	$query = "SELECT * FROM $table WHERE id = '$newsid'";
	$res = mysql_query("SELECT * FROM $table WHERE id = '$newsid'");
	$data = mysql_fetch_array($res);
?>

Aber so bekomme ich am Anfang immer nur den Eintrag ausgelesen, den ich über die Variable $newsid vorgebe.

Wie kann ich es einstellen, das mir am Anfang immer die Zeile mit der höchsten id angezeigt wird?

Kann mir da jemand helfen ?
 
Hallo,

also wenn ich dich richtig verstehe möchtest du ohne Eingabe der ID einfach nach der höchsten ID "suchen".

Das ist einfach.

Die Query sieht dann so aus:
PHP:
$res = mysql_query("SELECT * FROM $table ORDER BY `id` DESC ");
Übrigends in deinem Beispiel kannst du dir die Zeile mit $query sparen.
Oder du machst es so (nur dein Beispiel):
PHP:
<? 
    $table = "bgc_news"; 
    $query = "SELECT * FROM $table WHERE id = '$newsid'"; 
    $res = mysql_query($query); 
    $data = mysql_fetch_array($res); 
?>
 
Jetzt habe ich aber noch eine Frage, damit ich zwischen den Beiträgen hin und her Blättern kann, hatte ich vorher folgendes:

PHP:
	<?php
	$predata = $data[id] - 1;
	$nextdata = $data[id] +1;
	?>
		<a href="index.php?id=1&newsid=<?php echo $predata; ?>"> &laquo;Zurück</a>

Aber dadurch das ich jetzt folgende Zeile benutze

PHP:
 $res = mysql_query("SELECT * FROM $table ORDER BY `id` DESC ");

Klappt das ja nicht mehr. Wie kann ich das dann trotzdem so gestalten ?
 
Datenbanken werden übrigens abgefragt und nicht ausgelesen, sonst hieße es ja auch Datenbankauslese/-auslesung statt Datenbankabfrage.
 
@Gumbo
Ja ok, für die korrekte Ausdrucksweise :)

@German
Danke, werde ich mir mal durchschauen



[edit]

Ich bekomme folgende Fehlermeldung. Aber ich seh den Fehler nicht.

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in C:\apachefriends\xampp\htdocs\bgc\links.php on line 42


PHP:
// Datenbankabfrage ausführen.
$query    = "SELECT id,designation,url,user,text FROM ".$table
           ." WHERE designation = '$designation' ORDER BY hits DESC LIMIT ".$start.",".$limit;
$resultID = @mysql_query($query);

// Ergebnisse lesen und an den Client ausgeben
echo ("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
 echo ("<tr>");
    echo ("<td width=\"7%\" align=\"center\" valign=\"top\" class=\"left_txt\">Nr.</td>");
    echo ("<td width=\"26%\" align=\"center\" valign=\"top\" class=\"left_txt\">Link</td>");
    echo ("<td width=\"42%\" align=\"center\" valign=\"top\" class=\"left_txt\">Beschreibung</td>");
    echo ("<td width=\"25%\" align=\"center\" valign=\"top\" class=\"left_txt\">Klicks</td>");
 echo ("</tr>");
echo ("</table>");
$i=0;
while ($data = mysql_fetch_array($resultID)) //Das hier ist die Zeile 42
{
$i++;
echo ("<table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\">");
  echo ("<tr>");
    echo ("<td width=\"7%\" align=\"center\" valign=\"top\" class=\"left_txt\">");
	echo $i;
	echo ("</td>");
    echo ("<td width=\"26%\" align=\"center\" valign=\"top\" class=\"left_txt\">");
	echo ("<a href=\"".$data[url]."\">");
	echo $data[url];
	echo ("</a>");
	echo ("</td>");
    echo ("<td width=\"42%\" align=\"center\" valign=\"top\" class=\"left_txt\">");
	echo $data[designation];
	echo ("</td>");
    echo ("<td width=\"25%\" align=\"center\" valign=\"top\" class=\"left_txt\">");
	echo $data[hits];
	echo ("</td>");
  echo ("</tr>");
echo ("</table>");
}
 
Zuletzt bearbeitet:
Zurück