| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |

29-10-2001, 14:25
|
|
Kaffi
phpMaster
|
|
Registriert seit: Apr 2001
Ort: Hessen
Beiträge: 458
|
|
Ich lasse aus einer DB zufällig Zeilen auslesen und wiedergeben. Nun möchte ich aber, dass keine Einträge angezeigt werden, die bereits angezeigt wurden.
Und dort liegt mein Problem ich muss eine Schleife machen, die solange läuft, bis ein neuer zufälliger Eintrag ausgewählt wurde. Leider hat bisher keine Schleife so funktioniert wie ich es wollte. Fehler waren von Zeitüberschreitung (30sek.) bis Interne Serverfehler, die durch das Script ausgelöst wurden.
Hat jemand eine Idee zu Problemlösung?
Ich habe jedem Eintrag eine id zugeordnet (1 bis 300).
Ausgeschlossen werden sollen z.B. die ids 2,34,100,198,287,298
Ich denke das sollte eigentlich eine einfach Sache sein aber irgend wie ist der Wurm drin.
__________________
Kaffi
 Errare humanum est
W32.Schmalle.H@mm
|

29-10-2001, 14:36
|
|
BrainBug
PHP Senior
|
|
Registriert seit: Mar 2001
Ort: Raum Frankfurt
Beiträge: 1.110
|
|
wann wird denn der Eintrag ausgegeben? Wie merkst du dir, was schon dran war? Ist ein Wechsel nur bei einem Reload nötig oder zeitabhängig?
Bei zeitabhängig würde ich wohl mit JavaScript arbeiten, ansonsten natürlich mit PHP, also beim Reload. Sag vielleicht erstmal, was du davon genau willst, dann gehts weiter....
|

29-10-2001, 14:37
|
|
JoelH
Registrierter Benutzer
|
|
Registriert seit: Jul 2001
Beiträge: 2.740
|
|
hmm,
da hab ich jetzt ein Problem mit und zwar ob es immer nur für einen User diese Bedingung gilt oder wie ?
Also ich würd ein Array machen und alle IDs eintragen und dann immer die ID Streichen die bereits aufgerufen wurde, wird wieder die selbe aufgerufen dann würd ich einfach die nächst freie nehmen. Das problem ist halt das du dann imer das Array von Seite zu seite mitschleppen musst. Du könnest natürlich auch eine neue Tabelle anlegen in der DB anhand der SessionID die der User mit sich rumschleppt und dann halt selbes Spiel wie mit dem Array.
|

29-10-2001, 14:43
|
|
BrainBug
PHP Senior
|
|
Registriert seit: Mar 2001
Ort: Raum Frankfurt
Beiträge: 1.110
|
|
nee, für den Fall würde ich direkt die bereits getroffene Wahl als Session-Variable speichern -> so kannst du auch prima schon die von vorneherein auszuschließenden Einträge "abschalten", in dem du sie gleich zu anfang fest definierst.
|

29-10-2001, 15:00
|
|
Kaffi
phpMaster
|
|
Registriert seit: Apr 2001
Ort: Hessen
Beiträge: 458
|
|
Es sollte mit php gemacht werden, JavaScript bringt mir in dem Fall nichts. Ich speicher in einer eigenen Tabelle bereits aufgerufene Einträge und die IP (reicht völlig aus, da es nur für den einen Besuch gelten soll) des Users.
127.0.0.0 | 1,2,3,4
Die aufgerufenen ids werden in ein array eingelesen.
__________________
Kaffi
 Errare humanum est
W32.Schmalle.H@mm
|

29-10-2001, 15:09
|
|
pekka
PHP Master
|
|
Registriert seit: Jun 2001
Ort: Köln
Beiträge: 6.608
|
|
Hmm, dann sag doch einfach
SELECT * FROM tabelle WHERE (id != 1) AND (id !=2) usw....
Dann hast Du eine "Saubere" SQL-Abfrage.
|

29-10-2001, 15:15
|
|
Kaffi
phpMaster
|
|
Registriert seit: Apr 2001
Ort: Hessen
Beiträge: 458
|
|
Ah!
Ich habe bisher immer zufällig eine Zahl auswählen lassen, dann kontrolliert ob sie genutzt werden kann - oder solange suchen bis eine gültige Zahl gefunden wurde.
So ist es aber viel einfacher:
SELECT * FROM webring WHERE (id != 1) AND ... ORDER BY RAND() LIMIT 1
Da habe ich wohl wieder zu steif in die eine Richtung geschaut...
Danke für eure Mühe!
__________________
Kaffi
 Errare humanum est
W32.Schmalle.H@mm
|

05-11-2001, 20:34
|
|
Titus
PHP Master
|
|
Registriert seit: Jan 2001
Ort: im Rodgau
Beiträge: 4.292
|
|
statt where ID!=1 and ID!=2 and ID!=3 kannst du auch where ID not in (1,2,3) benutzen. Dann hat mysql noch weniger zu tun
__________________
mein Sport:  mein Frühstück:  meine Arbeit:
Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.
|

05-11-2001, 21:12
|
|
Kaffi
phpMaster
|
|
Registriert seit: Apr 2001
Ort: Hessen
Beiträge: 458
|
|
Hatte es bereits so gemacht, da mir das andere zu viel Script war. Aber trotzdem Danke!
__________________
Kaffi
 Errare humanum est
W32.Schmalle.H@mm
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|