php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 08.10.2005, 00:29  
Gast
 
Beiträge: n/a
Standard Datenbankabfrage in einer Schleife mit DB-Abfrage

Hallo,
ich bin neu hier, als bitte nicht gleich schlagen, wenn ich mich hier noch etwas einfach ausdrücke. ... übrigens tolles Forum !!

Ich habe mir heute den ganzen Abend mein Hirn zum brodeln gebracht wie ich ein Problem lösen könnte.

Es geht um eine Forumplattform, welche ich ständig erweitert habe aber nun an gewisse Grenzen gestossen bin:

Über jedes Thema läuft eine Schleife um die Anzahl der geschriebenen beiträge auszulesen und anzuzeigen: (logisch)

Code:
$DB->query("SELECT fid, ftype, fhide, fcontent FROM pfields_data");
			
while ( $r = $DB->fetch_row() )
{
Nun möchte ich innerhalb dieser Schleife im Memberbereich jedes Beitrags ein Zufallsbuchempfehlung erscheinen lassen.
Dazu muss ich nun eine weitere DB-Abfrage starten.

Sobald ich nun folgendes aufrufe:
Code:
$DB->query("SELECT id, link, imageurl, info FROM random_books ORDER BY RAND() LIMIT 1");
$random = $DB->fetch_row();
...wird nur immer ein Posting angezeigt

Das Ergebnis ist nun leider immer nur ein Beitrag pro Thema
Was passiert da genau? Wird durch diese DB-Abfrage nur die Anzahl der arrays gelöscht oder auch der Inhalt überschrieben?

Ich habe sehr viel in der doc gewühlt nur leider keinen Tip gefunden.

Könnt Ihr mir einen Tip geben, wie ich sowas angehen muss.
Ich poste hier nicht um eine komplette Lösung hingezaubert zu bekommen, aber eine kurze Hilfe, was ich hier falsch mache würde mich vielleicht schon zum richtigen pfad führen.

Evtl. DB-Abfragen lokal definieren? Kann man sowas, evtl. ausserhalb?

verzweifelte Grüße,
Franklin
  Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 08.10.2005, 01:48  
axo
Erfahrener Benutzer
 
Registriert seit: 24.12.2004
Beiträge: 1.814
axo ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hahahahah... die datenbank-klasse ist ja genial.

ja, deine vermutung scheint richtig.

entweder die 'entwickler' des forums waren sehr klug und haben das ganze extra so gebaut, dass es nicht möglich ist, auf diese weise verschachtelte abfragen zu starten, oder sie waren zu blöd, um eine richtige datenbank-klasse zu entwerfen.

also:
entweder überlegst du ein wenig und machst aus den zwei abfragen eine (stichwort JOIN), oder du tauschst die klasse aus und liest dir die API genauer durch.

welches board isses denn?
axo ist offline   Mit Zitat antworten
Alt 08.10.2005, 07:48  
Gast
 
Beiträge: n/a
Standard

Hallo axo,

Danke für den Hinweis

Zitat:
welches board isses denn?
Es handelt sich dabei um das Invisionboard!

Zitat:
entweder überlegst du ein wenig und machst aus den zwei abfragen eine (stichwort JOIN),
Aber mit Join komme ich doch auch nicht weiter, denn ich möchte ja innerhalb der while mit random in jedem Posting eine andere Grafik anziehen... Also muss ich diese Verschachtelung irgendwie beibehalten, nur wie.... Wieder eine ganze Nacht getüftelt, aber ich bin auf dem Holzweg

Zitat:
oder du tauschst die klasse aus
Austausch der Klassen, kannst Du dies etwas genauer beschreiben?

Franklin
  Mit Zitat antworten
Alt 16.10.2005, 21:04  
Neuer Benutzer
 
Registriert seit: 14.05.2005
Beiträge: 25
daniel987
daniel987 eine Nachricht über ICQ schicken
Standard

Erstmal, das Invisionboard ist das genialste Board überhaupt. Nur eigentlich ist die Datenbankklasse nicht dafür gedacht, dass man sie so einsetzt wie du es machst (ich geh mal vom Quelltext von 1.3 aus Nachfolger kenn ich keinen Quellcode mehr). Man gibt Querys nicht einfach über $DB->query(); ein sondern speichert sie entweder in der query Cache Datei und ruft sie dann vom Cache aus auf. Oder man konstriert sie mit $DB->construct(); In jedem Fall solltest du aber Joins benutzen.
daniel987 ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Abfrage von einer Abfrage Datenbanken 5 27.01.2011 23:31
mysql abfrage in Schleife havok PHP Tipps 2006 6 09.05.2006 08:39
Warum wird die erste Schleife nur einmal durchlaufen ? PHP Tipps 2006 12 03.03.2006 20:04
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
Abfrage aller Tabellen über Schleife PHP Tipps 2005-2 7 22.10.2005 12:16
[Erledigt] mysql abfrage über 4 Tabelle - bis 3 geht, bei der 4. habert Datenbanken 2 08.09.2005 11:59
[Erledigt] IF() abfrage in variable packen PHP Tipps 2005 14 01.04.2005 17:23
Abfrage von Char-Feldern Datenbanken 9 04.02.2005 14:06
[Erledigt] Mysql Abfrage Problem! PHP-Fortgeschrittene 5 27.11.2004 10:22
zu langsame Datenbankabfrage Datenbanken 3 09.11.2004 16:24
if abfrage in while schleife PHP Tipps 2004 1 29.09.2004 22:02
Abfrage in einer Schleife Datenbanken 3 26.08.2004 08:10
Abfrage funktioniert zwar, aber nicht korrekt Datenbanken 2 16.08.2004 09:10
Select abfrage in Schleife PHP Tipps 2004 2 20.07.2004 15:37
Abfrage aus DB noch mal ausgeben und Abfrage aus mehrern Tab PHP Tipps 2004 4 12.07.2004 15:00

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php datenbankabfrage while, datenbankabfrage schleife, php datenbankabfrage schleife, schleife datenbankabfrage, datenbankabfrage in schleife, php datenbankabfrage in schleife, datenbankabfrage in einer schleife, schleife php db abfrage, datenbankabfrage in if schleife, datenbank abfrage schleife, datenbankabfrage php schleife, php datenbankabfrage in einer while schleife, datenbankabfrage mit for schleife, api datenbank abfrage, php abfrage mit schleife, php datenbankabfrage scleife, php datenbankabfrage for schleife, abfrage schleife datenbank, php datenbankabfrage erweitert, datenbank abfrage mit schleife

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:21 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.