MySQL nach Rubrik ordnen |
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
Hallo zusammen,
ich hab ein Script programmiert, dass ein Formular auswertet und Daten in eine MySQL Tabelle mit den Datensätzen 'name', 'url', 'kat' und 'datum' einschreibt.
Jetzt möchte ich aber, dass beim anzeigen der Tabelle die Datensätze nach der Kategorie angezeigt werden. Also, dass z.B. nur die Datensätze mit der Kategorie Lehrbuch angezeigt wird und die restlich Datensätzen mit anderen Kategorien nicht.
Außerdem sollte der Anwender noch die Möglichkeit haben, per Auswahl zwischen den Kategorien wechseln zu können.
Könnt ihr mir das weiterhelfen ?
best greets
willy
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
einstein
Quasselstrippe
Beiträge: 241 |
Du scheinst vor keinem unlösbaren Problem zu stehen, daher empfehle ich den Blick in das ein oder andere Tutorial.
Mysql/PHP Grundlagen gibts z.B. hier:
http://php-center.de/tutorial/teil4.htm
|
 Profil
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
OK danke, habs hinbekommen. Wusste nicht wo ich sowas nachschauen kann...
Ist es vielleicht auch möglich die Rubrik per Menü(link) zu ändern ?
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
Der_HOmer[DE]
Quasselstrippe
Beiträge: 239 |
meinst du so?:
Link: kjh
PHP: mysql_query("SELECT * FROM tabelle ORDER by $_GET['ordnen']")
|
 Profil
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
Ich habs so probiert, aber dann kommt dieser Fehler:
Warning: Supplied argument is not a valid MySQL result resource in /www/htdocs/v026937/adult/index.php on line 19
Hier mein Code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35: | $anz_reihen Mitglieder im Clan";
?>
Kategorie 1
Kategorie 2
Kategorie 3
|
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
einstein
Quasselstrippe
Beiträge: 241 |
in Zeile 10 fehlt am Ende ein Semikolon, aber das würde einen Parse Error verursachen.
Füge unter die mysql_query() ein
ein. Das sollte dir beim Debuggen helfen.
|
 Profil
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
Dann kommt dieser Fehler:
1: | You have an error in your SQL syntax near '' at line 1 |
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
1: | $ergebnis = mysql_query( "Select * From linklist WHERE kat='".$_GET["category"]."'") |
Sollte wohl eher so aussehen:
1: | $ergebnis = mysql_query("SELECT * FROM `linkliste` WHERE kat = '".$_GET['category']."') |
Zum einen solle man MySQL-Befehle immer groß schreiben und zum anderen musst du auf die art der Anführungszeichen achten:
' = Umschalt + # wird für Werte verwendet
` = Umschalt + ´ udn anschließend eine Leertaste wird für Tabellen- und Feldnamen verwendet.
Diese Nachricht wurde geändert von: languitar |
 Profil
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
In deiner Zeile war zwar auch ein kleiner Fehler(Anführungszeichen hat am ende im query gefehlt), aber jetzt funktionierts ! Super ! DAAANKKEEE
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
Ich hab noch ne zusätzliche Frage:
Ist es vielleicht möglich die Tabelle so zu ordnen, dass nur die Einträge angezeigt werden, die nicht älter als x Tage sind ?
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
füge noch ne WHERE-Bedingung hinten an, also:
1: | $ergebnis = mysql_query("SELECT * FROM `linkliste` WHERE kat = '".$_GET['category'].' AND date > '".(time()-6*24*3600)."'") |
Hier werden nur Einträge angezeigt, die jünger als sechs Tage sind.
Setzt voraus, dass das Datum als Timestamp gespeichert ist...
|
 Profil
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
cool danke, hat funktioniert !
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
Diamo
Feiertags-Poster Threadstarter
Beiträge: 38 |
wieso funktioniert es eigentlich so net ? Ich wollte, dass er alle neuen einträge in der datenbank anzeigt
1: | $ergebnis = mysql_query("SELECT * FROM `linklist` WHERE date > '".(time()-6*24*3600)."'"); |
|
 Profil
E-Mail
Website
Editieren
Zitieren
|
languitar
Foren-Team
Beiträge: 2795 |
Sollte eigentlich funktionieren. Zumindest sehe ich keinen Fehler.
|
 Profil
Editieren
Zitieren
|