SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 01.04.2016, 09:59:58
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
SQL Abfrage mit mehreren Werte aus Referenztabelle

Hallo Helfer,
ich habe mal ein Problemchen.
Wie bekomme ich eine Abfrage hin, wo ich mehrere Werte aus der Referenztabelle abfrage? Zum Verständnis ein Beispiel:
Ich habe einen Feuerwehrverein und möchte die Mitgleider verwalten.
Klaus Schmitt, Name Mitgliedsnummer usw. Nun habe ich die Gruppen:
Vorstand, San, Taucher, usw.

Normal mache ich sows wie
Code:
select *,gruppen.name from mitglieder,gruppen where mitglieder.gruppen_id=gruppen.id
.

Nun ist aber Klaus Mitglied in der Gruppe Vorstand und Taucher. Ein Ansatz war die Gruppenids als string ab zu speichern. Also sowas wie 1,3,4
Dann mit find_in_text die Gruppen rausholen, Das funktioniert bis 9 Gruppen. Nun kann ich natürlich hingehen und die ids in 100-Schritten vergeben. Aber das ist doch Pfusch.
Was ich möchte ist eine Ausgabe wie:
Herr|Klaus|Schmitz|Winkelgasse 13|49292 Hogwarts|01234|Taucher, San, Vorstand
Herr|Thomas|Meier|Turmgasse 13|49292 Hogwarts|01235|San, Vorstand

Any idea?
mfg
Oliver Eikel
Mit Zitat antworten
  #2  
Alt 01.04.2016, 11:15:40
sysop sysop ist offline
Member
 
Registriert seit: Mar 2004
Ort: wien
Beiträge: 512
AW: SQL Abfrage mit mehreren Werte aus Referenztabelle

Normalformen für Datenbanken beachten. Dein Datenbank Aufbau ist leider schon im Ansatz "falsch" (sorry, nimm es nicht persönlich, aber leider ist es so).

Was du brauchts ist:

Code:
Tabelle Mitglieder
------------------------------------
MID | Name  | Nachname| etc
1   | Hans  |  Müller
2   | Willie|  Huber
Code:
Tabelle Gruppen
------------------------------------
GID | Gruppenname | Zusatz
1   | Taucher
2   | Vorstand
3   | San

Code:
Tabelle Gruppenzugehoerigkeit (gz)
-------------------------------------------
MID | GID
1   |   1
1   |   2
1   |   3
2   |   1
2   |   3

Sprich in der Tabelle gz steht die ID des Mitglieds und die ID der Gruppe, der er Zugehört

Zum Auslesen deiner Wunschinfos (wer ist San) musst du nur die Letzte Tabelle abfragen

Code:
SELECT * FROM `gz` WHERE `GID` = 3
die erweiterten Infos bekommst du dann mittels Join aus den anderen Tabellen.

Ähnlichn ist es dann mit Mitgliedern
Code:
SELECT * FROM `gz` WHERE `MID` = 1
Zeigt dir dann, in welchen Gruppen dein Mitglied Hans Müller ist. Auch hier dann über Joins die Infos zu Namen und Gruppennamen abfragen.
__________________
Gruss sys ;-)
Ich möchte wie mein Grossvater sterben, lächelnd und schlafend, nicht schreiend und weinend, wie sein Beifahrer.
Mit Zitat antworten
  #3  
Alt 04.04.2016, 08:21:27
tsunamitsunami tsunamitsunami ist offline
Junior Member
 
Registriert seit: Dec 2005
Alter: 51
Beiträge: 236
AW: SQL Abfrage mit mehreren Werte aus Referenztabelle

Hi,
danke für die superschnelle Hilfe. Das würde bedeuten, dass ich trotzendem 2 sql Abfragen machen muss, oder?

Ich suche noch sowas wie
Code:
 select mitglieder.* ,combine(select gruppenname from gruppen,gruppenids whehre mitglieder_id=123 and gruppen.id=gruppennamen.gruppenids and gruppenids.mitglieder_id.id=gruppenids.mitglieder_id) from mitglieder
Also eine query welche die Gruppennamen in eine Zelle packt.

Ansonsten kann ich doch auch eingangs genannte Lösung nehmen, den id-Sring in ein array packen und dies dann per foreach abfragen. Spare ich mir eine Tabelle. Ist nicht ganz sauber, tut aber doch.
Gruß
tsunami
Mit Zitat antworten
  #4  
Alt 04.04.2016, 09:31:09
chorn chorn ist offline
Junior Member
 
Registriert seit: Apr 2016
Alter: 44
Beiträge: 171
AW: SQL Abfrage mit mehreren Werte aus Referenztabelle

Du kannst gejointe, gruppierte Spalten auch mit group_concat bzw. array_to_string in einer Spalte zusammenfassen.

Geändert von chorn (04.04.2016 um 09:32:15 Uhr) Grund: Quatsch
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
verschiedene Werte addieren durch Abfrage Doc_McSky MySQLi/PDO/(MySQL) 5 15.03.2014 19:20:16
SQL Datenbankabfrage aus mehreren Tabellen t.pucher MySQLi/PDO/(MySQL) 7 31.10.2012 11:21:58
Brauche Hilfe Partygirl MySQLi/PDO/(MySQL) 10 01.03.2011 09:18:11
Text-Feld: 2 und mehr Werte ersetzen im SQL BenjaminG MySQLi/PDO/(MySQL) 1 13.02.2011 12:59:54
SQL Abfrage mit PHP Variablen die leer sind WHERE plz = ? Loki555 MySQLi/PDO/(MySQL) 8 28.04.2009 15:18:33


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:29:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt