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! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 29-06-2011, 23: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 18:34 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 29-06-2011, 23:59
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
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, 13:43
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.272
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!
Mit Zitat antworten
  #4 (permalink)  
Alt 30-06-2011, 14:06
Quetschi
 PHP Expert
Links : Onlinestatus : Quetschi ist offline
Registriert seit: Dec 2004
Beiträge: 3.134
Quetschi wird schon bald berühmt werden
Standard

OffTopic:
@goth
sprichst du mit dir selbst?


__________________
Ihr habt ein Torturial durchgearbeitet, das auf den mysql_-Funktionen aufbaut?
Schön - etwas Geschichte kann ja nicht schaden.
Aber jetzt seht euch bitte php.net/pdo oder php.net/mysqli bevor ihr beginnt!
Mit Zitat antworten
  #5 (permalink)  
Alt 30-06-2011, 18: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 18:35 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 30-06-2011, 18:51
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
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, 19:02
goth
  Moderator
Links : Onlinestatus : goth ist offline
Registriert seit: Mar 2002
Ort: Erde
Beiträge: 7.272
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!
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, jQuery, CSS, Bootstrap, LESS 7 17-10-2006 22:10
tabellen verbinden KamiKatze SQL / Datenbanken 4 07-11-2005 15:01
2 Tabellen verbinden ... Innuendo SQL / Datenbanken 21 22-07-2003 00:32
Verbinden von zwei Tabellen Fribu SQL / Datenbanken 9 04-11-2002 20:26
Tabellen verbinden?! normbox SQL / Datenbanken 4 04-10-2002 10: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

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 02:52 Uhr.