Willkommen in der Webstatt Zum Webstatt Blog und Stories
F4n4T!C F4n4T!C am 26.08.09 22:29

Hi Jungs, ich brauch mal etwas Hilfe.

Also ich rufe aus der Datenbank 2 tabellen auf.
Den Titel lass ich anzeigen (das klappt)
jeder dieser Titel soll dann einen Link erhalten mit der ID, eigentlich muss ich an die Adresse nur die ID anhängen. Das klappt aber nicht!

<?php $result = mysql_query("SELECT * FROM ".$dbx."_events ORDER BY id DESC LIMIT 0,20");

while($row = mysql_fetch_array($result)) {

// Ergebnis in Variable schreiben

$feld1 = $row["titel"];
$feld2 = $row["id"];

// Daten anzeigen
"<a href=index.php?d=events&s=;echo $feld2>";echo $feld1."</a><BR>"; } ?>


was mach ich denn falsch???

netcup.de Warum gibt es hier Werbung?
Wasili am 26.08.09 23:04

Wie wärs mit:

<?php

$result = mysql_query("SELECT * FROM ".$dbx."_events ORDER BY id DESC LIMIT 0,20");

while($row = mysql_fetch_array($result)) {
// Ergebnis in Variable schreiben
$feld1 = $row["titel"];
$feld2 = $row["id"];

// Daten anzeigen
echo "<a href=index.php?d=events&s= $feld2>$feld1</a><br>";
} ?>


Alternativ geht auch für das echo:
printf("<a href=index.php?d=events&s= %s>%s</a><br>", $feld1, $feld2);

F4n4T!C F4n4T!C am 27.08.09 19:53

Dankeschön :D

F4n4T!C F4n4T!C am 27.08.09 20:41

Ich brauch vieleicht noch einmal hilfe,
Ich will nach den Link noch ein Datenbankfeld auslesen, dieses ist aber ein Unix Timestamp. Das ganze muss ja nun umgewandelt werden ind Tag , Monat

Dabei will ich den Monat aber gern in Schriftform anzeigen lassen!

Bsp. 1. September

Ich scheitere aber schon am normalen auslesen...! Was mach ich denn falsch?
<?php $result = mysql_query("SELECT * FROM ".$dbx."_events ORDER BY id DESC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {

// Ergebnis in Variable schreiben
$feld1 = $row["titel"];
$feld2 = $row["id"];
$datum = $row["datumvon"];
$datum = date("d.m.Y",$timestamp);

// Daten anzeigen
echo "<img src=icon/03/10/05.png />&nbsp;<a class=partydesk a href=index.php?d=events&s=$feld2>$feld1</a>" echo "$datum <br>"; }

?>

Johannes am 27.08.09 20:55

Statt
$datum = $row["datumvon"];
$datum = date("d.m.Y",$timestamp);

sollte es wohl
$timestamp = $row["datumvon"];
$datum = date("d.m.Y",$timestamp);

heißen, die variable $timestamp gibt es sonst ja bei dir nicht.

Dann ist noch in Zeile 11 ein Fehler.
Da müsstest du das echo am ende entweder durch einen Punkt ersetzen oder davor (hinter den letzten echo-Befehl) ein Semikolon setzen.


zu den deutschen Monaten schau dir mal das an (google Suche, habs nicht genau überprüft):
http://www.perun.net/2004/04/20/php-lernen-71-deutschsprachiges-datum/

F4n4T!C F4n4T!C am 28.08.09 18:38

ach ein TRAUM :D Danke klappt super !

F4n4T!C F4n4T!C am 06.09.09 20:15

nun, da kam mir doch noch ein problem zuvor.
Wie bekomm ich es hin, das die Abfrage und Anzeige, Termine nicht mehr anzeigt die vorbei sind. Da Steh ich gerade mal auffen Schlauch!

<?php $result = mysql_query("SELECT * FROM ".$dbx."_events ORDER BY datumvon ASC LIMIT 0,10");
while($row = mysql_fetch_array($result)) {

// Ergebnis in Variable schreiben

$feld1 = $row["titel"];
$feld2 = $row["id"];
$timestamp = $row["datumvon"];
$datum = date("d.m.Y",$timestamp);

// Daten anzeigen
echo "<img src=icon/03/10/05.png />&nbsp;<a class=partydesk a href=index.php?d=events&s=$feld2>$feld1</a>"; echo "<div align=right style=\"border-bottom:1px solid; border-color:#ddd \"><em>$datum&nbsp;&nbsp;</em></div>"; } ?>

Wasili am 07.09.09 14:53

Was hat datumvon fürn Spaltentyp? Wenn es DATETIME oder DATE ist, kannst du ganz einfach mit einer WHERE-Klausel fragen, ob datumvon < NOW() ist. Sollte es eine Spalte sein, die einen timestamp enthält, müsstest du die Spalten zuerst konvertieren, entweder die interger-Spalte mit FROM_UNIXTIME() oder NOW() mit UNIX_TIMESTAMP().

F4n4T!C F4n4T!C am 07.09.09 21:57

mhh, der Typ laut mysql ist bigint(20) ??? Was kann ich denn damit anfangen :D

Wasili am 07.09.09 22:16

Du willst also nur die Einträge, die noch nicht vorüber sind? Müsste so funktionieren:

$result = mysql_query("SELECT * FROM ".$dbx."_events WHERE FROM_UNIXTIME(datumvon) > NOW() ORDER BY datumvon ASC LIMIT 0,10");

Vorausgesetzt ich vertausch da nichts.

F4n4T!C F4n4T!C am 10.09.09 20:19

Quote
Original von Wasili
Du willst also nur die Einträge, die noch nicht vorüber sind? Müsste so funktionieren:

$result = mysql_query("SELECT * FROM ".$dbx."_events WHERE FROM_UNIXTIME(datumvon) > NOW() ORDER BY datumvon ASC LIMIT 0,10");

Vorausgesetzt ich vertausch da nichts.


KLAPPT SUPER .... Vielen Dank! *Daumen hoch*

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt