wescraven07
Goto Top

Liste mit 500 Datensätzen aus MySQL-Tabelle und in if condition verarbeiten

Moin Leude,
ich arbeite gerade an einem internen Minimember-Script für Lieferanten auf Basis eines Joomla-Frameworks

Kurz für jeden von 500 Lieferanten soll nach Login eine individuelle Begrüssung und eine Liste ausgegeben werden.

Das Grund-Script steht und funktioniert. Ich frage mich nur gerade, wie ich das am besten löse, die 500 Kred-Nummern. am Komfortabelsten abzufragen, ohne jede Nummer in die Bedingungsschleife einbauen zu müssen.

Der Code fragt im Prinzip als erstes ab, ob ein Benutzer anmeldet ist, gibt dann die Begrüssung aus und baut danach die Liste auf.:

Hat jemand eine Idee, wie ich das einfacher umsetzen kann, als alle 500 Nummern in die IF-Schleife kopieren zu müssen?

Danke schon mal im Voraus für Eure Tipps

Greetz

Content-ID: 339949

Url: https://administrator.de/contentid/339949

Ausgedruckt am: 13.11.2024 um 06:11 Uhr

SlainteMhath
SlainteMhath 07.06.2017 um 08:51:13 Uhr
Goto Top
Moin,

genau versteh ich das nicht was du vorhast... aber evtl. hilft dir eine einfache Tabelle nach dem Muster

Lieferanten(Benutzer, KredNr, Name)

aus der du dann die Namen abfragen kannst?

lg,
Slainte
wescraven07
wescraven07 07.06.2017 um 09:28:39 Uhr
Goto Top
Ok, dann versuch ich es genauer zu erklären:

ich habe zwei SQL-Tabellen, "Lieferanten" bzw. "User", das ist die normale Joomla-Users-MySQL-Tabelle und eine Custom Tabelle "Liste", als von mir angelegt.

Die Lieferanten sind ganz normal als Joomla-User angelegt, mit Usernamen = Lieferanten-Nr.

In der Tabelle "Liste" existiert die Spalte Lieferantennr. ebenfalls, in Relation zu verschiedenen anderen Infos pro Lieferantennr.

Eine selbstgeschriebe PHP-Datei frag nun ab, ob ein User (Lieferant) eingeloggt ist.

Wenn ja, wird anhand der Lieferantennr aus der Users-Tabelle ein Begrüssungstext mit persönlicher Anrede ausgegeben.

Direkt danach (darunter) fragt ein IF-Schleife die Variable "Liste" ab, die anhand der Spalte "Lieferantennr" aus der MySQL-Tabelle mit einem foreach-loop für jede Lieferantennr in dieser Tabelle die jeweils zugehörigen Infos ausgibt.

Ich möchte jetzt gerne erreichen, jede Nr. der Spalte abrufen zu können, ohne dass ich jede der 500 Nummern in die IF-Schleife kopieren muss.
em-pie
em-pie 07.06.2017 um 09:42:18 Uhr
Goto Top
Moin,

deine Frage kann man immernoch nicht so einfach beantworten.

Ich gehe mal von folgender Tabellenstruktur aus

Lieferanten(KreditorNr, Spalte2, Spalte3, Spalte4, ...)
Liste(KreditorNr, Begrueßung, Info)

Dann wäre dein Statement folgendes:
SELECT
 A.KreditorNr 
 B.Begrueßung
FROM
 Lieferanten as A
Inner Join
 Liste as B on A.KreditorNr = B.KreditorNr
WHERE
 A.KreditorNr = [Variable des eingegebenen Usernames]

wenn du oben dein Select erweiterst, kannst du alle Infors mit einem QUERY abfragen, geprüft in Viariablen schreiben und dann nur noch die Variablen an die richtige Stelle setzen.

Fertig.

Im Grunde einfachstes Verketten von SQL-Tabellen, was man direkt zu Beginn lernt (und nachdem man sich mit der Normalisierung beschäftigt hat)

Gruß
em-pie