DESC und ID

Virginia

Ensign
Registriert
Aug. 2005
Beiträge
133
Hi,
ich habe mir ein Newsscript erstellt... sprich die News auf einer Page kommen mittlerweile über eine Datenbank und werden per HTML-Formular eingetragen.

Nun ein Problem:
Die neuste News soll ja als erstes angezeigt werden, also müsste ich ja mit DESC sortieren.

Nur leider kommt dann immer "error making query". So sah meine Abfrage aus:
PHP:
	$query = "SELECT * FROM news ORDER BY id DESC";

Kann es daran liegen, dass ich eine Spalte "id" mit auto_increment habe, die als Schlüssel festgelegt ist?
 
deine abfrage ist so rcihtig, der fehler muss wo anders liegen!

gib ma den code rund um die ausgabe an
 
Wenn ich aber nur
PHP:
$query = "SELECT * FROM news";
da stehen habe, klappt es ja. Von daher kann doch sonst eigentlich nirgends ein Fehler sein?

Hier der Code drumherum
PHP:
	//heutiges Datum herausfinden
	$timestamp = time(); //UNIX

	//Datenbank-Abfrage
	$query = "SELECT * FROM news";
			
	//ergebnis in $result schreiben
	$result = mysql_query($query, $connection) or die('error making query');
	
while($zeile = mysql_fetch_array($result)) {
			
	//schreibe ganze Zeile in variablen
	$headline = $zeile['headline'];
	$ablauftag = $zeile['ablauftag'];
	$ablaufmonat = $zeile['ablaufmonat'];
	$ablaufjahr = $zeile['ablaufjahr'];
	$bild = $zeile['bild'];
	$meldung = $zeile['meldung'];
	$autor = $zeile['autor'];
	$eintragungsdatum = $zeile['eintragungsdatum'];
	$quelle = $zeile['quelle'];
			
	//Ablaufdaten in UNIX umwandeln und in $unix schreiben
	$unix = mktime(0, 0, 0, $ablaufmonat, $ablauftag, $ablaufjahr);
	
	//Zeit zwischen heute und Ablaufdatum berechnen und diese in $restzeit schreiben
	$restzeit = $unix - $timestamp;
			
	//gib news aus, WENN zwischenzeit größer-gleich null
		if ($restzeit >= 0 || $ablauftag == ""){
			echo "<div id='news'>&nbsp;<b>".$headline."</b> (".$eintragungsdatum.")</div>
<div id='news2'><img src='".$bild."' ALIGN=LEFT CLASS='news'>".$meldung."
</div><div id='news3'>Autor: ".$autor." | Quelle: ".$quelle."</div>
<p>";
			}
		else {
					if (mysql_num_rows($result) == '0') {
					echo "bald wieder neu";
					}
		}
}
 
Virginia schrieb:
Wenn ich aber nur
PHP:
$query = "SELECT * FROM news";
da stehen habe, klappt es ja. Von daher kann doch sonst eigentlich nirgends ein Fehler sein?

$result = mysql_query($query, $connection) or die('error making query');

Was passiert denn, wenn dur "SELECT id FROM news" machst?
Wird dann auch ein Fehler gegeben?
 
Bezieht sich jetzt nicht auf das programmiertechnische Problem, es bedrückt mich eher "konzeptionell".

Hast Du kein Feld in Deiner DB, wo Datum + Uhrzeit der News drinstehen? Wenn ja: sortier' doch von Anfang an danach. Falls nicht: erstelle das Feld, passe Dein Script an und sortier' nach Datum! *g*
 
Zurück
Oben