Logo - MyWebsolution.de
User gesamt  :  1998595
User online  :  2
KubaSeoTräume, PHP Forum, PHP Community and more ... MyWebsolution.de!
   
   
 
Registrieren Login User F.A.Q Suche Home

eingeloggt bleiben

MyWebsolution.de Foren » Anfängerfragen PHP und MYSQL » ausgabe und blättern

Seite: 1 2 3 4 5 6 7 8  > Posts pro Seite: 5 10 20
Autor Thread
10.01.2007 09:52 Uhr ausgabe und blättern
ulmli
Forenuser
registriert 03.01.2007
wohnt in
Beiträge 46
Hallo Flitze, hallo Ihr,
ich stehe schon wieder vor zwei Problemen.

Zum ersten:

Ich mache mal ein Beispiel nehmen wir an ich wollte Interpreten und Alben speichern.
jeder interpret hat verschieden alben die ich ja separt in einer Tabelle verknüpfe.
Wenn ich die jetzt ausgeben will dann sieht das so aus

das wäre die Tabelle mit Interpret und Album wo jeder Datensatz genauso ausgegeben wird.

Herbert Grönemeyer | Bochun
Herbert Grönemeyer | Ö
Herbert Grönemeyer | Mensch
usw.

kann ich in php das irgendwie verwirklichen, dass ich danach eine Ausgabe bekomme wo ich den Interpreten dann aber nur einmal habe und trotzdem alle Alben bekomme?


Herbert Grönemeyer | Bochum
da steht dann nix | Ö
da auch net | Mensch

Also dass ich quasi den Datensatz Interpret nur einmal bekomme und die anderen aber schon angezeigt werden?


Die zweite Frage:
Wie kann es denn funktonieren bei der Datenbankausgabe zurück zu gehen auf die vorherige Seite einfach mit einem Button?
Also das ich so wie die Seiten durchblättere, geht sowas überhaupt ich begreife nicht wie das gehen kann, bzw. wie das zu verwirklichen ist.
Wäre klasse könntest Du mir nochmal helfen Flitze oder wer anderes.
Liebe Grüße
ulmli

Dieser Beitrag wurde am 10.01.2007 um 09:55:47 Uhr von ulmli zum 3. Mal editiert.
Profil ansehen
10.01.2007 19:50 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Hey ulmli,

also zu deinem ersten Problem wäre es hilfreich, wenn du mal die Struktur deiner Datenbanktabellen postest, damit ich mich da ein wenig besser reindenken kann, denn eigentlich sollte das nicht allzuschwer sein.

Zu 2.
guckstu dieses Tutorial


Profil ansehen Mail senden
10.01.2007 23:54 Uhr
ulmli
Forenuser
registriert 03.01.2007
wohnt in
Beiträge 46
Hallo Flitze,
erstmal vielen Dank das Tut habe ich übersehen :oops::oops:

Die Datenbank sieht wie folgt aus.
Es gibt eine Tabelle mit Interpreten, Album, Lieder
1 Interpret kann viele Alben haben
1 Interpret kann viele Lieder haben
1 Album hat kann viele Lieder haben, aber auf verschiedenen Alben können gleiche Lieder sein.

eine Tabelle Interpret
id_inter, interpret
eine Tabelle Alben
id_album, albumname
eine Tabelle Lieder
id_lieder, Titel

die habe ich eine Verknüpfungstabelle
Inter_album
id_ver1,id_inter, id_album
und eine
id_ver2, id_album, id_lieder
id_ver3, id_inter, id_lieder

so das wären die Tabellen mal villeicht ist das nicht ganz ok, dann bin ich für
tipps natürlich sehr dankbar :) wenn man es anders besser machen kann.
Die DB ist nicht so groß dass mans nicht ändern könnte wenn man etwas einfacher haben kann.
Grüßlis an Dich
ulmli
Profil ansehen
11.01.2007 11:40 Uhr
Flitze
Administrator
registriert 17.10.2006
wohnt in Eschwege
Beiträge 332
Ich würde die Verknüpfungstabellen weglassen und die Tabellen so aufbauen

Code:
 Tabellenname:   Interpreten
+---------------+--------------+------+-----+---------+---------------+
| NAME          | TYP          | NULL | KEY | DEFAULT | Extras        |
+---------------+--------------+------+-----+---------+---------------+
| ID_Inter      | INT          |      | PRI |         |Auto_Increment |
| Interpret     | VARCHAR(255) |      |     |         |               |
+---------------+--------------+------+-----+---------+---------------+

 Tabellenname:   Alben
+---------------+--------------+------+-----+---------+---------------+
| NAME          | TYP          | NULL | KEY | DEFAULT | Extras        |
+---------------+--------------+------+-----+---------+---------------+
| ID_Alben      | INT          |      | PRI |         |Auto_Increment |
| ID_Inter      | INT          |  X   |     |         |               |
| Album         | VARCHAR(255) |      |     |         |               |
+---------------+--------------+------+-----+---------+---------------+

 Tabellenname:   Lieder
+---------------+--------------+------+-----+---------+---------------+
| NAME          | TYP          | NULL | KEY | DEFAULT | Extras        |
+---------------+--------------+------+-----+---------+---------------+
| ID_Lieder     | INT          |      | PRI |         |Auto_Increment |
| ID_Alben      | INT          |  X   |     |         |               |
| ID_Inter      | INT          |  X   |     |         |               |
| Lied          | VARCHAR(255) |      |     |         |               |
+---------------+--------------+------+-----+---------+---------------+



Die Tabellen kannst du jetzt einfach joinen und ausgeben lassen, was dann so aussehen könnte:

PHP:
// Wenn du alle Alben zu allen Interpreten haben willst
$sql = "SELECT
                a.Album,
                i.Interpret
        FROM
                Alben a,
                Interpreten i
        WHERE
                a.ID_Inter = i.ID_Inter
       ";
$result = mysql_query($sql);
// Tabelle erstellen
echo "<table>\n";
$interpret = "";
while($row=mysql_fetch_assoc($result)) {
    echo " <tr>\n";
    echo "  <td>\n";
    // Prüfen, ob ein neuer Interpret vorliegt
    if($interpret!=$row['Interpret']){
        // Neuen Interpreten speichern
        $interpret=$row['Interpret'];
        // Neuen Interpreten ausgeben
        echo $interbret."\n";
    }
    // falls es der gleiche Interpret ist,
    // den Namen nicht noch einmal schreiben
    else {
        echo "&nbsp;\n";
    }
    echo "  </td>\n";
    echo "  <td>\n";
    echo $row['Album']."\n";
    echo "  </td>\n";
    echo " <tr>\n";
}
echo "</table>\n";


Achtung, der Code ist nicht getestet, können also Syntaxfehler drin sein!


Profil ansehen Mail senden
11.01.2007 15:50 Uhr
ulmli
Forenuser
registriert 03.01.2007
wohnt in
Beiträge 46
Hallo Flitze,
Danke!
nu hab ich ein kleines Problem, nämlich deine letzte Tabelle der Datenbank.
Code:
Tabellenname:   Lieder
+---------------+--------------+------+-----+---------+---------------+
| NAME          | TYP          | NULL | KEY | DEFAULT | Extras        |
+---------------+--------------+------+-----+---------+---------------+
| ID_Lieder     | INT          |      | PRI |         |Auto_Increment |
| ID_Alben      | INT          |  X   |     |         |               |
| ID_Inter      | INT          |  X   |     |         |               |
| Lied          | VARCHAR(255) |      |     |         |               |
+---------------+--------------+------+-----+---------+---------------+


die du angibst.

Wenn ich den Liednamen in der Tabelle mit eingeben, kann es ja sein, dass ich den doppelt eingeben muss. Nämlich wenn das Lied auf verschiedenen Alben ist.
Beispiel:
ein Lied ist auf drei verschiedenen Alben
dann muss ich doch dreimal den Liedtitel eingeben, dass ich das auch für drei verschieden ID_Alben habe... oder? Verstehe ich das falsch und ich will ja eigentlich doppelte Sachen doch vermeiden... oder nimmt man sowas dann einfach in kauf?
Grüßle
ulmli
Profil ansehen
Seite: 1 2 3 4 5 6 7 8  > no reply
Powered by Pascal Landau © 2006 MyWebsolution.de
Designed by Pascal Landau © 2006 MyWebsolution.de
 
 
 
 
Home Email Impressum Disclaimer Statistik