php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 18.01.2008, 12:29  
Neuer Benutzer
 
Registriert seit: 18.01.2008
Beiträge: 2
CarpeDiem
Standard verschiedene Gruppierungsebenen ausgeben

Hallo,

ich steige grad' erst ein in die PHP Welt und hoffe auf etwas Verständnis bei meinen Fragen.

Ich habe versucht zu dem Thema etwas zu finden, bin aber gescheitert. Vielleicht waren es die falschen Begriffe, nach denen ich gesucht habe.

Ich habe in 3 Tabellen:
Tab_Veranstaltungen (v_id, v_name)
Tab_Teilnahme (t_id, v_id, p_id)
Tab_Personen (p_id,p_name)

Daten gespeichert. Wenn ich alle Tabellen verknüfe und mir die Daten auswerfen lasse, sieht mein Ergebnis in etwa so aus:
Veranstaltung1, Max Muster
Veranstaltung1, maxis Schwester
Veranstaltung2, Max Muster
Veranstaltung2, Ein Anderer

und so weiter.

Ich möchte jedoch gerne, dass die Daten (ähnlich wie in einem Access Bericht) gruppiert werden, z.B.
Veranstaltung1
-Max Muster
-Maxis Schwester
Veranstaltung2
-Max Muster
-Ein Anderer

Ich scheitere völlig an dieser Aufgabe, weil ich nicht weiss, wie ich diese Ausgabe hinbekomme. Dabei ist das bestimmt total einfach.

(Ich bin immer etwas ungelank darin, meine Probleme zu beschreiben und hoffe, ihr versteht, was ich möchte).

LG und schon einmal Danke
__________________
Schönheit ist immer eine Einstellung des Betrachters
CarpeDiem ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 18.01.2008, 13:21  
Erfahrener Benutzer
 
Registriert seit: 07.12.2007
Beiträge: 103
PHP-Kenntnisse:
Fortgeschritten
Varon befindet sich auf einem aufstrebenden Ast
Standard

Nun wie häufig gibt es mehr als einen Weg das Problem anzugehen.

Ein häufig genutzer ist es die Datenbank
erstmal nach der Spalte Sortieren zulassen nach der man
nacher Gruppieren möchte. Was bei dir auch schon der Fall ist.
Bei der Ausgabe vergleicht man dann den Aktuellen Wert mit den vorher gehenden.
Unterscheiden sich die Werte gibt man diesen Einmalig aus.

Bsp.:
PHP-Code:
if($row['Veranstaltung'] != $str_lastVeranstaltung)
{
    echo 
'<h1>'.$row['Veranstaltung'].'</h1>';
    
$str_lastVeranstaltung $row['Veranstaltung'];

Eine zweite Variante ist die Daten über ein Array erst zu Grupieren und dann dieses dann auszugeben:

Bsp.:
PHP-Code:
$arr_VeranstalungeUebersicht[$row['Veranstaltung']][] = $row['Veranstaltung']; 
ergibt in etwa sowas:

Code:
Array
(
    [Veranstaltung1] => Array 
						(
							[0] => Max Muste
							[1] => Maxis Schwester 
						)
	[Veranstaltung2] => Array 
						(
							[0] => Max Muste
							[1] => Ein Anderer  
						)
)
__________________
Ich mag Schildkröten!
Varon ist offline  
Alt 19.01.2008, 23:12  
Neuer Benutzer
 
Registriert seit: 18.01.2008
Beiträge: 2
CarpeDiem
Standard

Hallo Varon,

vielen herzlichen Dank! Ich muss gestehen, ich habe auf zwei Wegen gesucht , aber Dein "Code" hat mich gerettet :wink:

Hat nur ein wenig gedauert, bis ich das so umsetzen konnte . . . .
PHP-Code:
$result=mysql_query($sql)or die ("Abfrage löppt nicht"); 
                 
        
//Ausgabe der Tabellenspalten 
               
$alte_veranstaltungen=""
            while (
$row=mysql_fetch_array($result)) 
            { 
                
$veranstaltung=$row['v_name']; 
                
$r_name=$row['r_name']; 
                
$uebernachtung$row['t_uebernachtung']; 
                
$t_info=$row['t_info']; 
                
$t_id=$row['t_id']; 
                
$r_email=$row['r_email']; 
                
$r_vorname=$row['r_vorname']; 
                
$v_von=$row['v_von']; 
                
$v_bis=$row['v_bis']; 
                
$v_kontakt=$row['v_kontakt']; 
                                 
         if(
$row['v_name'] != $str_lastVeranstaltung)  
        {  
            echo 
'<table><tr><td>[b][url="$v_kontakt"]'.$row['v_name'].'</u>[/url][/b][url="$v_kontakt"][/url]</td><td>    [b]vom: [/b]'.$v_von.' [b]bis: [/b]'.$v_bis.'</td></tr></table>';  
            
$str_lastVeranstaltung $row['v_name'];  
        }      
            echo 

<div align="right"> 
   
<table width=90%><tr><td width=20% align="left"><font size="2">    
   '
.$r_vorname' '.$r_name.'</font</td><td width=80% align="left"><font size="2"><u>Infos dazu:</u> ' 
      
.$t_info'</font></td></tr></table> 
</div>'

                             
        } 
Dankeschön :P :P
__________________
Schönheit ist immer eine Einstellung des Betrachters
CarpeDiem ist offline  
 


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
verschachtelte Rubriken ausgeben / alle anzeigen prinzli PHP Tipps 2008 3 25.02.2008 22:37
Verschiedene Werte in verschiedene Zeilen in eine Tabelle einfügen Heizkessel PHP Tipps 2008 4 15.02.2008 13:53
mysql - text ausgeben dws PHP Tipps 2006 14 15.06.2006 22:50
[Erledigt] Datensätze blockweise nacheinander ausgeben?? Datenbanken 6 13.03.2006 14:22
2 verschiedene timestamps zusammen addieren und ausgeben. Bruce PHP Tipps 2007 4 06.12.2005 09:19
Höchste IP ausgeben krummzahn PHP Tipps 2005-2 9 17.10.2005 00:16
Codeschnipsel nur bei bestimmten Stylesheet ausgeben PHP Tipps 2005-2 2 24.07.2005 11:53
ausgeben nach datum möchtegernchegga PHP Tipps 2005 8 04.05.2005 17:22
Funktion ausgeben PHP Tipps 2005 8 10.01.2005 17:18
Daten aus DB gruppiert ausgeben?! medico PHP Tipps 2005 9 07.01.2005 09:38
[Erledigt] Array ausgeben PHP Tipps 2004-2 4 05.12.2004 00:53
Bestimmte Datenbank Felder nur einmal ausgeben Paulo PHP Tipps 2004-2 3 26.11.2004 16:39
[Erledigt] Ganze Tabelle ausgeben PHP Tipps 2004-2 1 21.11.2004 16:48
datenbank: gleiche zeileninhalte nur 1 mal ausgeben PHP Tipps 2004 1 16.10.2004 20:23
Worte aus einem Text auslesen und wieder ausgeben PHP Tipps 2004 2 07.09.2004 13:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:14 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

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.