php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.12.2011, 16:49  
Neuer Benutzer
 
Registriert seit: 01.11.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
borsTiHD befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] MySQL Ergebnisse mit gleicher ID gruppieren

Hallo,

ich bräuchte mal wieder eure Hilfe.
Ich bin dabei für die Schule eine CD Sammlung zu programmieren.
Klappt soweit auch ganz gut...

Hab jetzt aber ein Problem mit der Suchfunktion.
Ich möchte nach einem "Genre" suchen können.
Das Problem ist, das die in der DB eingetragenen CDs teilweise mit mehreren Genres verknüpft sind.
Wenn ich jetzt nach einem Genre suche, wird zwar alles ordentlich gefunden, aber wenn eine CD mehrere Genres besitzt, wird die CD auch sooft in meiner Tabelle ausgegeben.
Das würde ich gerne unterbinden und alle Ergebnisse mit gleicher ID zusammenfassen.

Über Google hab ich einen Thread woanders gefunden.
Diese Person hatte das selbe Problem:
http://entwickler-forum.de/showthread.php?t=39816

Leider verstehe ich die verlinkte Manual nicht ganz, bzw. kann ich es nicht unfallfrei umsetzen und anwenden

Könntet ihr mir bitte helfen, wie ich in etwa meinen SQL Befehl anpassen muss?


Vielen Dank im voraus

Mit freundlichen Grüßen
borsTiHD



Ein Bild von meiner derzeitigen Suche findet ihr im Anhang und hier gibts noch meinen SQL Befehl:
PHP-Code:
    //Erstellung des SQL Befehls
    
$sql "SELECT cd.ID, CD_Name, CD_Jahr, CD_Status, CD_Cover, Interpret, typ.Typ, g.Genre 
            FROM cdweb_cd AS cd 
            INNER JOIN cdweb_interpret_cd AS icd ON cd.ID=icd.cd_id 
            INNER JOIN cdweb_interpret AS i ON icd.interpret_id=i.ID 
            INNER JOIN cdweb_typ_cd AS typcd ON cd.ID=typcd.cd_id 
            INNER JOIN cdweb_typ AS typ ON typcd.typ_id=typ.ID 
            INNER JOIN cdweb_genre_cd AS gcd ON cd.ID=gcd.cd_id
            INNER JOIN cdweb_genre AS g ON gcd.genre_id=g.ID "
.$search_string." ORDER by Genre ASC"
Miniaturansicht angehängter Grafiken
erledigt-mysql-ergebnisse-mit-gleicher-id-gruppieren-suche_genre.jpg  

Geändert von borsTiHD (22.12.2011 um 16:52 Uhr).
borsTiHD ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 22.12.2011, 18:48  
Erfahrener Benutzer
 
Registriert seit: 28.01.2010
Beiträge: 615
PHP-Kenntnisse:
Fortgeschritten
tkausl ist in Verruf geraten
Standard

Code:
GROUP BY cd.ID
__________________
PS: Wenn ich einen Beitrag schreibe wo NUR [php] drin steht, dann gab es wieder ein Problem mit meinem iPhone...
tkausl ist offline   Mit Zitat antworten
Alt 22.12.2011, 20:06  
Neuer Benutzer
 
Registriert seit: 01.11.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
borsTiHD befindet sich auf einem aufstrebenden Ast
Standard

So einfach? xD
Geil... tausend dank.

Allerdings, jetzt wird mir zwar nur eine CD angezeigt (die mehreren Genres angehört) doch es wird nur ein Genre aufgelistet

Könntest du mir da auch noch bitte helfen?
Hätte gerne das ich alle Genres zb. per Komma getrennt auflisten kann.

Hab nochmal ein Bild mit der aktuellen Lösung hoch geladen...

mfg


€dit:
Um das Bild zu erklären...
Die erste CD (The Fall Of Ideals) ist mit zwei Genres verknüpft und hätte in der Tabelle gerne beide.
Auch wenn ich die SQL abfrage in "phpmyadmin" teste, bekomme ich als Ergebnis nur ein Genre angezeigt.
Ohne dem Group Befehl hab ich zwar alle Genres der CD, aber... "mehrere" CDs
Miniaturansicht angehängter Grafiken
erledigt-mysql-ergebnisse-mit-gleicher-id-gruppieren-suche_genre2.jpg  

Geändert von borsTiHD (22.12.2011 um 20:11 Uhr).
borsTiHD ist offline   Mit Zitat antworten
Alt 22.12.2011, 20:25  
Erfahrener Benutzer
 
Registriert seit: 01.06.2011
Beiträge: 391
PHP-Kenntnisse:
Anfänger
achtelpetit befindet sich auf einem aufstrebenden Ast
Standard

Schau mal hier:
http://dev.mysql.com/doc/refman/5.1/...functions.html
achtelpetit ist gerade online   Mit Zitat antworten
Alt 22.12.2011, 22:56  
Neuer Benutzer
 
Registriert seit: 01.11.2011
Beiträge: 14
PHP-Kenntnisse:
Anfänger
borsTiHD befindet sich auf einem aufstrebenden Ast
Standard

Vielen Dank erstmal,
ich weiß das ihr mir nur helfen wollt und ich weiß auch das es in euren Augen keinen Sinn macht einem die Lösung vor zu kauen,
aber ich komme trotzdem nicht weiter...

Im deutschen verstehe ich die Logik der Manual zwar ein wenig besser, aber ich hab jetzt nachm 5ten mal durchlesen üble Kopfschmerzen
Habe bisl experimentiert, aber bekomme überwiegend nur Syntax errors.

€dit:
BÄM!!!
Habs jetzt durch Zufall wohl doch raus bekommen
Glückstreffer ^^

PHP-Code:
SELECT cd.IDCD_NameCD_JahrCD_StatusCD_CoverInterprettyp.Typg.GenreGROUP_CONCATg.Genre )
FROM cdweb_cd AS cd
INNER JOIN cdweb_interpret_cd 
AS icd ON cd.ID icd.cd_id
INNER JOIN cdweb_interpret 
AS i ON icd.interpret_id i.ID
INNER JOIN cdweb_typ_cd 
AS typcd ON cd.ID typcd.cd_id
INNER JOIN cdweb_typ 
AS typ ON typcd.typ_id typ.ID
INNER JOIN cdweb_genre_cd 
AS gcd ON cd.ID gcd.cd_id
INNER JOIN cdweb_genre 
AS g ON gcd.genre_id g.ID
WHERE g
.Genre LIKE '%Metal%'
GROUP BY cd.ID
ORDER BY Genre ASC 
Habs mit ", GROUP_CONCAT( g.Genre )" hingekommen, anfangs fehlte dauernd das Komma hinter der letzten ausgewählten Tabelle ^^
Jetzt muss ich das nur noch unfallfrei in meine Tabelle bringen



€dit (2) :
Zu früh gefreut :/
Wie kann ich "GROUP_CONCAT(g.Genre)" über php ausgeben?
Hatte angenommen ich könnte es gewohnt über "$row["GROUP_CONCAT(g.Genre)"]" ausgeben
Hat aber nicht so richtig geklappt ^^


€dit (3) :
Jetzt hab ich mich aber dran verbissen...
Habs auch gelöst bekommen.
"AS Genre_Group" dran gehangen und über "$row["Genre_Group"]" ausgelesen bekommen.
Vollstens zufrieden. *yay*

Kompletter SQL Befehl lautet wie folgt:
PHP-Code:
    //Erstellung des SQL Befehls
    
$sql "SELECT cd.ID, CD_Name, CD_Jahr, CD_Status, CD_Cover, Interpret, typ.Typ, 
            GROUP_CONCAT(g.Genre SEPARATOR ', ') AS Genre_Group  
            FROM cdweb_cd AS cd 
            INNER JOIN cdweb_interpret_cd AS icd ON cd.ID=icd.cd_id 
            INNER JOIN cdweb_interpret AS i ON icd.interpret_id=i.ID 
            INNER JOIN cdweb_typ_cd AS typcd ON cd.ID=typcd.cd_id 
            INNER JOIN cdweb_typ AS typ ON typcd.typ_id=typ.ID 
            INNER JOIN cdweb_genre_cd AS gcd ON cd.ID=gcd.cd_id
            INNER JOIN cdweb_genre AS g ON gcd.genre_id=g.ID "
.$search_string.
            GROUP BY cd.ID
            ORDER by Genre ASC"

Vielen Dank

Geändert von borsTiHD (22.12.2011 um 23:27 Uhr).
borsTiHD ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Datensätze von einer MySQL in eine andere MySQL Datenbank abgleichen Marvin75 Datenbanken 7 10.06.2011 18:00
PHP Zugriff auf MySQL Community Server gewähren daemonTutorials Datenbanken 8 21.02.2011 12:28
MySQL Datentransfer (Dateigroesse 4MB) via Shell Zugang oder einfacher promoterlv Datenbanken 1 14.11.2010 22:12
[Erledigt] MySQL Link Resource in einer statischen Variablen speichern Lenki PHP-Fortgeschrittene 8 18.03.2010 16:37
MySQL Volltextsuche bringt 0 Ergebnisse bench78 PHP Tipps 2010 17 08.02.2010 10:26
[Erledigt] Ergebnisse Gruppieren windblick PHP Tipps 2009 6 09.09.2009 09:32
mysql Ergebnisse auf mehrere seiten aufteilen - linkfehler geschenkefinder Datenbanken 5 12.07.2009 20:41
[Erledigt] umschreiben von sql auf mysql willow10 Datenbanken 4 17.05.2009 09:50
[Erledigt] Kann keine Umlaute im mysql client eingeben Oger Datenbanken 9 02.04.2009 11:54
MySQL Konsole und Umlaute unter Windows [LÖSUNG] f4ckm5 Datenbanken 8 30.03.2009 22:10
[Erledigt] Kein Ergebnis bei SELECT (MySQL 4.1.9) dr.e. Datenbanken 4 15.06.2008 19:54
MySQL - Abfrage: Unterschiedliche Ergebnisse aus PHP/manuell horstenpeter Datenbanken 3 16.07.2006 13:22
verschiedene Query Ergebnisse in MySQL 4.0.x und 4.1.x Datenbanken 3 18.09.2005 15:57
Ergebnisse einer MySQL Abfrage an nächste seite übertragen Plague PHP Tipps 2005-2 4 07.09.2005 21:51
Suche Tipps für Persormance-Steigerung (Geld für Nützliches) Beitragsarchiv 18 16.08.2005 10:57

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php mysql ergebnis gruppieren, sql inner join gleiche ergebnisse zusammenfassen, php tabelle gruppieren, mysql gleiche gruppieren, php mit gleiche id interpreten sammeln, php mit gleicher id mehrere interpreten eingeben, php mysql tabelle selben id gruppieren, mysql php gleiche id gruppieren, mysql php datensätze mit gleicher id tabelle zusammenfassen, mysql ids zusammenfassen, javascript tabelle gleicher id zusammenfassen, php mysql $row gleiche zusammenfassen, gleiche ergebnisse aus einer mysql datenbank in html tabelle gruppieren, mysql ergebniss gruppieren, php sql befehl gruppieren, mysql gruppieren typ und id, mysql suchergebnisse grafik, mysql cd sammlung

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:36 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum