- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


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!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-06-2011, 22:29
basti231
 Registrierter Benutzer
Links : Onlinestatus : basti231 ist offline
Registriert seit: Jun 2011
Beiträge: 2
basti231 befindet sich auf einem aufstrebenden Ast
Standard 2 Tabellen verbinden (Join?)

Hey, habe eine Frage und hab mich dafür hier angemeldet, da ich mir hier Hilfe verspreche :P

Also zu meiner Frage:
(Man beachte ich bin recht neu bei PHP und hab vorher fast nur mit HTML und CSS gearbeitet und nur manchmal mit PHP)

Ich habe 2 Tabellen in meiner Datenbank. Hier ein Beispiel:

Personen

# ID # Name # Gruppe
----------------------
# 1 # Hans # 1
# 2 # Peter # 2
# 3 # Simon # 3
# 4 # Max # 2

Gruppe

# gID # gName
----------------
# 1 # Gruppe1
# 2 # Gruppe2
# 3 # Gruppe3

Wie bekomme ich es jetzt hin, dass das ganze in etwa so ausgegeben wird:

Gruppe 1:
- Hans

Gruppe 2:
- Peter
- Max

Gruppe 3:
- Simon

Wie bekomme ich das ganze jetzt automatisch ausgegeben? Ich hab über Google gefunden, dass es mit JOIN gehen sollte, aber wirklich geholfen hat mir das auch nicht. Führt ein Weg an JOIN vorbei oder muss ich mich damit wirklich auseinander setzen? Da ich JOIN nicht direkt verstanden hab, wie es funktioniert, wäre mir ersteres lieber.. bzw. wenn ich JOIN benutze, kommt das doch aufs gleiche Raus, wie wenn ich in einer Datenbank alles stehen hätte, wie bekäme ich dass dann von PHP so ausgegeben, dass es nicht so aussieht?

Hans Gruppe 1
Peter Gruppe 2
Simon Gruppe 3
Max Gruppe 2

Sondern wie oben genannt..?

Danke schon mal im Vorraus

- Basti

Edit: Falschen Beitrag editiert

Geändert von basti231 (30-06-2011 um 17:34 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 29-06-2011, 22:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von basti231 Beitrag anzeigen
Führt ein Weg an JOIN vorbei oder muss ich mich damit wirklich auseinander setzen?
Ja, musst bzw. solltest du.

SELFHTML Artikel / Datenbanken

Zitat:
wie bekäme ich dass dann von PHP so ausgegeben, dass es nicht so aussieht?
Gruppenbruch (Standardverfahren) - PHP.de Wiki
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #3 (permalink)  
Alt 30-06-2011, 12:43
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.242
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Oh man ... wie ich Dich vermißt habe ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!

http://www.mysqldiff.org
Mit Zitat antworten
  #4 (permalink)  
Alt 30-06-2011, 13:06
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 2.759
Quetschi befindet sich auf einem aufstrebenden Ast
Standard

OffTopic:
@goth
sprichst du mit dir selbst?


__________________
Drelingdo
Krabonse
Simmannamando
Mit Zitat antworten
  #5 (permalink)  
Alt 30-06-2011, 17:12
basti231
 Registrierter Benutzer
Links : Onlinestatus : basti231 ist offline
Registriert seit: Jun 2011
Beiträge: 2
basti231 befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich es jetzt richtig verstanden habe, dass sollte mein JOIN jetzt so aussehen:

SELECT
ID, Name, Gruppe, gID, gName
FROM
Gruppe
LEFT JOIN
Personen ON Personen.Gruppe = Gruppe.gID

Dabei würde dann das raus kommen:
# ID # Name # Gruppe # gName
----------------------------
# 1 # Hans # 1 # Gruppe1
# 2 # Peter # 2 # Gruppe2
# 3 # Simon # 3 # Gruppe3
# 4 # Max # 2 # Gruppe2

ist das richtig?

Wenn das schon mal klappen würde, das mit dem Gruppenumbruch im Zusammenhang mit Datenbanken hab ich noch nicht ganz verstanden, scheint aber das zu sein wonach ich suche.. mein erstes Problem ist aber, dass ich nicht weiß, wie das Beispiel mit MySQLi aussehen würde

Der Gruppenumbruch ist eigentlich das was ich suche, wenn ich es richtig verstanden habe, aber verstanden habe ich es nicht wirklich

Das ist das was ich dabei raus bekommen hab, ich komm allerdings nicht weiter:
[SPOILER]
PHP-Code:

// Config:
$DBHost "localhost";
$DBUser "root";
$DBPW "";
$DBDatabase "test";

// Verbindung

$mysqli = new mysqli("$DBHost""$DBUser""$DBPw""$DBDatabase");
if (
$mysqli->connect_error) {
echo 
"Error: " mysqli_connect_error();
exit();
}

$ergebnis $mysqli->query("SELECT ID, Name, Gruppe, gID, gName FROM Gruppe LEFT JOIN Personen ON Personen.Gruppe = Gruppe.gID");

// Gruppenumbruch
$index 0// Wofür genau ist das index = 0 ?
$content ''// soll ich das frei lassen?

while($row $ergebnis->fetch_array()) { // hier fängt mein Problem schon an, ich habe SQL Ausgaben nur mit mysqli gelernt und die while Schleife sieht schon anders aus :S

    
$content .= '<td>' $set['output'] . '</td>'// output müsste in dem Fall dann "gName" von mir sein?
 
    // Zählermodulo, gültig alle 3 Schleifendurchläufe
    
if (== ($index 3)) {
        
$content .= '</tr><tr>';
    }
 
    
$index++;
}
 
if (
false === empty ($content)) {
    echo 
'<table><tr>' $content '</tr></table>';
}

// Gruppenumbruch Ende

$ergebnis->close();
$mysqli->close();
?> 
[/SPOILER]

Wie müsste ich das jetzt (am besten mit PHP und MySQLi ) lösen, dass ich, sobald ich eine Gruppe in der Gruppendatenbank erstelle, diese Aufgelistet wird und dann unter der entsprechenden Gruppe die Personen, welche in der Personen Tabelle die Gruppen ID zugewiesen bekommen haben. Also so:

Gruppe
- Gruppen Mitglied
- Gruppen Mitglied

Gruppe
- Gruppen Mitglied
- Gruppen Mitglied

Gruppe
- Gruppen Mitglied
- Gruppen Mitglied

usw..

wäre echt nett, wenn mir einer einen fertigen Code, für das was ich suche, (mit Erklärung, was was macht (Sonst lerne ich ja nichts davon)) geben könnte..

Edit: Schade Spoiler bb Code gibts hier nicht^^

Geändert von basti231 (30-06-2011 um 17:35 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 30-06-2011, 17:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 24.486
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Erstens: Bitte Code umbrechen, wie es in den Regeln steht.

Zitat:
Zitat von basti231 Beitrag anzeigen
ist das richtig?
Testen, dann mehr wissen.

Zitat:
mein erstes Problem ist aber, dass ich nicht weiß, wie das Beispiel mit MySQLi aussehen würde
Eine Schleife über ein Array durch eine Schleife über die Ergebnisse einer Datenbankabfrage auszutauschen, solltest du hinbekommen.

Zitat:
Der Gruppenumbruch ist eigentlich das was ich suche, wenn ich es richtig verstanden habe, aber verstanden habe ich es nicht wirklich
Der Gruppenbruch ist ein ziemlich simples Programmier-Prinzip.

Du machst dabei nichts anderes, als das, was du auch „von Hand“ machen würdest, wenn du die Aufgabe auf einem Blatt Papier durchführen solltest: Du durchläufst eine geordnete Menge von Werten, und die Entscheidung darüber, ob du eine „Überschrift“ hin schreibst, bevor du einen Wert hinschreibst, machst du vom Vergleich eines Kriteriums des aktuellen Wertes mit dem „gemerkten“ des vorherigen abhängig.

Zitat:
wäre echt nett, wenn mir einer einen fertigen Code, für das was ich suche, (mit Erklärung, was was macht (Sonst lerne ich ja nichts davon)) geben könnte..
Nope.
Was lernen tust du vor allem dann, wenn du das selber umsetzt.

Wenn du noch nicht so weit bist, dass du das Prinzip verstehen und halbwegs anwenden kannst - dann hast dir wohl zu viel vorgenommen. Dann ist erst mal Beschäftigung mit den Grundlagen angesagt.

Wenn du einen konkreten Ansatz hast - und dein Problem mit diesem besser als mit „hier komm ich nicht weiter“ beschreiben kannst - dann können wir die Diskussion fortsetzen.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #7 (permalink)  
Alt 30-06-2011, 18:02
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.242
goth ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von Quetschi Beitrag anzeigen
OffTopic:
@goth
sprichst du mit dir selbst?


Nein ... mit wahsaga natürlich ...
__________________
carpe noctem

Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht!
Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung!

http://www.mysqldiff.org
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Tabellen verbinden AciD-CoRe HTML, JavaScript, AJAX und CSS 7 17-10-2006 21:10
tabellen verbinden KamiKatze SQL / Datenbanken 4 07-11-2005 14:01
2 Tabellen verbinden ... Innuendo SQL / Datenbanken 21 21-07-2003 23:32
Verbinden von zwei Tabellen Fribu SQL / Datenbanken 9 04-11-2002 19:26
Tabellen verbinden?! normbox SQL / Datenbanken 4 04-10-2002 09:33

Themen-Optionen
Thema bewerten
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.

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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:31 Uhr.