Datenbankabfrage |
Didito
Mitglied
Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi Forenversion: 2.3
|
|
Möchte in meine Seite eine Datenbankabfrage machen.
Und zwar dass nur die Artikel angezeigt werden, wo die Spalte rent ausgefüllt ist.
Wenn die Spalte rent nicht ausgefüllt ist, soll der Artikel da nicht erscheinen.
Habe sowas ähnliches mit, zeigt die xx neusten Artikel an.
Hier de Quellcode:
<?
if(!isset($seitenid)){ header("Location: ./."); }
if(!$info) { $info = False; }
if(!$proseite) { $proseite = 15; }
$result = mysql_query("SELECT id, name, cds, laenge, sprache, datum, abmessung, format, genre, groesse, ton, bild, rent FROM ".$dbtblpre."film_name ORDER BY id DESC LIMIT 0, $proseite");
$nr = $proseite;
while ($row = mysql_fetch_row($result)){
$tag = substr($row[5],4,5);
$monat = substr($row[5],2,2);
$jahr = substr($row[5],0,2);
$datum = "$tag.$monat.$jahr";
echo film_table($nr--,$row[1],TRUE,$row[2],$row[3],$row[0],$row[4],$datum,$row[6
],$row[7],$row[8],$row[9],$row[10],$row[11],$row[12],'','');
}
echo "<br>";
?>
Kann mir jemand das so machen wie ich es oben beschrieben habe?
|
|
02.01.07 23:51 |
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
1. Den Code bitte innerhalb des BBCodes [ PHP ] einfügen.
2. Dein Skript ist XSS gefährdert, durch das $proseite. Das werde ich aber jetzt nicht editieren, da ich den Sinnzusammenhang nicht kenne.
3. Dein Skript ist nicht wirklich schön geschrieben, bei einzeiligen if-Abfragen kannst du die geschweiften Klammern weglassen, einrücken, ... Außerdem kannst du auch, wenn du nicht alle Felder bei dem SELECT angeben willst ein Sternchen (" * ") angeben (das holt dann alle Felder heraus)
4. Wenn du anstatt mysql_fetch_row, mysql_fetch_array nimmst, kannst du die Felder später betiteln
5. Wenn ich dich richtig verstehe müsste das ganze so aussehen:
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
|
<?
# ...
$result = mysql_query("SELECT * FROM ".$dbtblpre."film_name ORDER BY id DESC LIMIT 0, ".$proseite);
$nr = $proseite;
while ($row = mysql_fetch_array($result)){
if (!empty($row['rent'])) {
# wenn rent ausgeführt ist, das hier ausführen
}
}
echo "<br>";
?> |
|
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von [kamui]: 03.01.07 00:31.
|
|
03.01.07 00:30 |
Finden
Als Freund hinzufügen
|
|
xundy
Mitglied
Dabei seit: 16.01.04
Beiträge: 817
Forenversion: 2.3
|
|
Dem meisten was Kamui sagte stimme ich zu,
ausser das mit den einzeiligen Ifabfragen, alleine der Übersichtlichkeit wegen und einfacherer Erweiterbarkeit sollte man diese immer verwenden, allerdings dann mit Zeilenumbruch und Einrückung(aber das ist eher Kosmetisch
.
Aber die Abfareg von Kamui läßt sich gleich so formulieren das man die ifabfrage nicht benötigt:
code: |
1:
2:
3:
4:
5:
6:
|
$result = mysql_query("SELECT * FROM ".$dbtblpre."film_name WHERE `rent`!='' ORDER BY id DESC LIMIT 0, ".$proseite);
$nr = $proseite;
while ($row = mysql_fetch_array($result)){
#Hier nun das Auswerten der Daten
}
echo "<br>"; |
|
mfg
__________________ Fragen kostet nichts, nicht fragen kann teuer werden!
|
|
03.01.07 08:08 |
E-Mail
WWW
Finden
Als Freund hinzufügen
|
|
[kamui]
~
Dabei seit: 27.04.05
Beiträge: 2.992
|
|
@xundy, ich wusste nicht genau, ob man das != auch gleich in den Query schreiben kann
Aber durch xundys Methode holt er automatisch weniger aus der Datenbank und die Ladezeit müsste sich dadurch auch verkürzen.
|
|
03.01.07 10:18 |
Finden
Als Freund hinzufügen
|
|
Didito
Mitglied
Dabei seit: 30.11.04
Beiträge: 442
Fähigkeiten: WBB2 Profi Forenversion: 2.3
Themenstarter
|
|
Super funktioniert beides.
|
|
03.01.07 21:54 |
Finden
Als Freund hinzufügen
|
|
|