problem mit einer Musikdatenbank

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • problem mit einer Musikdatenbank

    Hallo!

    Ich hab folgendes problem:

    Ich möchte ein Musikportal erstellen, wo ich selber eigende Lieder hinzufügen kann.
    Ich habe schon ein PHP skript, wo ich Lieder suchen kann, aber ich möchte gerne, über ein PHP script Lieder auch da rein speichern.
    Ein Lied soll einen Namen, einen Interpreten und eine Genre haben.

    Ich habe folgende Tabellen in MySQL angelegt:

    song
    -SNR#
    -Songname
    -INR
    -GNR


    genre
    -GNR#
    Genre


    interpret
    -INR#
    -Interpret



    Es sind ja 2 php dateien notwenig
    1. Musikspeichern.php
    2. speichern.php


    es wär super, wenn mir jemand helfen kann.
    Ich fange erst damit an, und es gibt sicher genug profis die das eben schnell machen können, oder?

  • #2
    Re: problem mit einer Musikdatenbank

    Original geschrieben von kakadu86
    Ich fange erst damit an, und es gibt sicher genug profis die das eben schnell machen können, oder?
    Ja, aber wenn wir das machen sollen, kriegst du hinterher auch ne Rechnung.

    Wir sind hier nicht deine Kindermädchen, streng dich an und machs selber!


    Wenn Probleme auftreten, helfen wir aber gerne. Wenn du zumindest auch unsere Regeln beachtest und im richtigen Forum postest....
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      ja, ich wußte nicht, ob das nun mehr mysql oder php ist
      hab ja in beiden probleme...
      ich kann beide skripte posten die ich bisher hatte.
      hab das problem dabei, dass in meine tabelle "song" kein song hinzugefügt wird, allerdings komme immer eine leere genre mehr...

      musikspeichern.php

      <html>
      <body>

      PHP-Code:
      <? $db=@mysql_connect("localhost","root");

                 if (!$db) {
              echo "Verbindung zur Datenbank fehlgeschlagen!\n";
              exit;
         }
            $sqlab = ("select * from song left join interpret on  song.INR=Interpret.INR");
            $sqlab .= (" left join genre on song.GNR=Genre.GNR");
            $res = mysql_db_query("Musikdatenbank", $sqlab);
            $num = mysql_num_rows($res);
      ?>
      <form action="speichern1.php" method="get" target="_blank">
      Song<br>
      <input type="Text" name="Songname" size="80" maxlength="80"><br><br>
      Interpret<br>
      <input type="Text" name="Interpret" size="80" maxlength="80"><br><br>
      </textarea><br><br>
      Genre <br>
      PHP-Code:
      <? for ($i=0; $i<$num; $i++)  {
              $genre = mysql_result($res, $i, "Genre");
              echo "<input type='radio' name='genre[]'  value='$genre'>$genre<br>";
            }
         ?>


      </select><br><br>

      <input type="Submit" value="Song speichern">&nbsp;<input type="reset">
      </form>
      </body>
      </html>



      speichern1.php

      PHP-Code:
      <?
        $db=@mysql_connect("localhost", "root");

        if (!$db) {
          echo "Verbindung zur Datenbank fehlgeschlagen!\n";
          exit;
        }


            $sqlab = "insert song ( INR, Songname, GNR) ";
            $sqlab .= "values ( '$inr', '$songname', '$gnr')";
             mysql_db_query("Musikdatenbank", $sqlab);

        $num = mysql_affected_rows();
                 if ($num==0) {
                 echo "Achtung! Fehler beim Hinzufügen des Datensatzes in Tabelle Song!<br>";
                echo "Der Song wurde nicht in die Datenbank eingetragen!";
        }
                 else {
                 echo "Datensatz in Tabelle Song hinzugefügt!<br>";

          $snr = mysql_insert_id();
          $anzahlgen = count($genre);

          for ($i=0; $i<$anzahlgen; $i++) {
            $sqlab = "select GNR from song where genre='$genre[$i]'";
            $res = mysql_db_query("Musikdatenbank", $sqlab);
            $num = mysql_num_rows($res);
            if ($num==0)
              echo "Datenbankfehler! Zuordnung des Songs zu einem Gerne nicht möglich!<br>";
            else {
              $gnr = mysql_result($res, 0, "GNR");
            $sqlab = "insert Musikkategorie values ('$snr', '$gnr')";
            mysql_db_query("Musikdatenbank", $sqlab);
              $num = mysql_affected_rows();
                          if ($num==0)
                          echo "Datenbankfehler! Zuordnung des Songs zu einem Genre nicht möglich!<br>";
                        else
                      echo "Song erfolgreich zum Genre $genre[$i] hinzugefügt!<br>";
            }
          }
        }

        mysql_close($db);
      ?>



      so... das hab ich bisher
      hab auch eine eine andere speichern.php

      PHP-Code:
      <?
        $db=@mysql_connect("localhost", "root");

        if (!$db) {
          echo "Verbindung zur Datenbank fehlgeschlagen!\n";
          exit;
        }
                $sqlab = ("select * from song left join interpret on song.INR=Interpret.INR");
                $sqlab .= (" left join genre on song.GNR=Genre.GNR");
                $sqlab .= " insert song (Songname, INR) ";
                $sqlab .= " values ('$Songname', '$INR')";
                mysql_db_query("Musikdatenbank", $sqlab);

                $num = mysql_affected_rows();
                          if ($num==0) {
                          echo "Achtung! Fehler beim Hinzufügen des Datensatzes in Tabelle Song!<br>";
                          echo "Der Titel wurde nicht in die Datenbank eingetragen!";
        }
                          else {
                          echo "Datensatz in Tabelle Song hinzugefügt!<br>";

                          $snr = mysql_insert_id();
                          $anzahlgen = count($GNR);

                          for ($i=0; $i<$anzahlgen; $i++) {
                          $sqlab = "select GNR from genre where Genre='$GNR[$i]'";
                          $res = mysql_db_query("Musikdatenbank", $sqlab);
                          $num = mysql_num_rows($res);
                                         if ($num==0)
                                         echo "Datenbankfehler! Zuordnung des Titels zu einer Genre nicht möglich!<br>";
                                        else {
                                        $GNR = mysql_result($res, 0, "GNR");
                                      $sqlab = "insert genre values ('$snr', '$GNR')";
                                      mysql_db_query("Musikdatenbank", $sqlab);
                                        $num = mysql_affected_rows();
                                                      if ($num==0)
                                                      echo "Datenbankfehler! Zuordnung des Songs zu einem Genre nicht möglich!<br>";
                                                    else
                                                   echo "Titel wurde erfolgreich zur Genre $GNR[$i] hinzugefügt!<br>";
            }
          }
        }

        mysql_close($db);
      ?>

      weiß nicht, welche richtiger ist!


      sorry, wollte nicht zu viel von euch verlangen!
      Zuletzt geändert von kakadu86; 02.03.2007, 11:43.

      Kommentar


      • #4
        Lies mal die Regeln im PHP Forum und dann reden wir mal über deinen Post weiter Dankesehr, das macht nämlich für mich als Helfer vieles einfacher!
        Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
        var_dump(), print_r(), debug_backtrace und echo.
        Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
        Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
        Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

        Kommentar


        • #5
          soll ich das in das thema "PHP" nochmal reinschreiben?

          Kommentar


          • #6
            Nein, aber dennoch die Regeln lesen und vor allem die PHP-Tags verwenden ....
            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
            var_dump(), print_r(), debug_backtrace und echo.
            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

            Kommentar


            • #7
              ist mein 1. eintrag, sorry

              Kommentar


              • #8
                was glaubst du, wie schnell du mir helfen kannst?

                Kommentar


                • #9
                  was glaubst du, wie schnell du mir helfen kannst?
                  Kommt ganz auf Dich an: Wie lange brauchst Du, um die Regeln zu lesen und zu befolgen? Die Lesbarkeit des Codes wird übrigens durch Einrücken zusätzlich erhöht.

                  Kommentar


                  • #10
                    so... habs nun verbessert!
                    hoffe, nun gehts besser
                    Zuletzt geändert von kakadu86; 02.03.2007, 11:44.

                    Kommentar


                    • #11
                      Es hat bestimmt keiner Lust sich hier Ewigkeiten mit deinem Code zu beschäfftigen, wenn es auch viel schneller geht.

                      PHP-Tags zB erleichtern unglaublich die Lesbarkeit
                      Und wie schon erwähnt auch ein sinvolles Einrücken.

                      EDIT:

                      geht doch

                      Für Rechtschreibfehler übernehme ich keine Haftung!

                      Kommentar


                      • #12
                        PHP-Code:
                        $db=@mysql_connect("localhost""root");

                          if (!
                        $db) {
                            echo 
                        "Verbindung zur Datenbank fehlgeschlagen!\n";
                            exit;
                          } 
                        PHP-Code:
                        $db=mysql_connect("localhost""root",'passwort?');
                        mysql_select_db (...); 
                        gruß
                        peter
                        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                        Meine Seite

                        Kommentar


                        • #13
                          Und immer schön brav
                          PHP-Code:
                          $db=mysql_connect("localhost""root",'passwort?') OR die(mysql_error());
                          mysql_select_db (...) OR die(mysql_error()); 
                          ein OR die(mysql_error()) hinter jede PHP Fkt für Mysql setzen

                          Gruss

                          tobi
                          Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                          [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                          Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                          Kommentar


                          • #14
                            schonmal danke, aber das hat alles geklappt
                            mein problem ist, daten in meiner datenbank zu speichern

                            welches der beiden speichern.php skripte ist denn am "richtigsten"
                            wenn ich ein lied speichere, dann erscheint eine leere kategorie mehr, aber kein lied wird in einer dantenbank gespeichert...

                            Kommentar


                            • #15
                              Dringend error_reporting auf E_ALL setzen (steht übrigens auch in den Regeln, mann!). Wenn Du uns nicht wesentliche Teile verheimlichst, hast Du jede Menge undefinierte Variablen. Testausgaben machen!

                              Kommentar

                              Lädt...
                              X