Ankündigung

Einklappen
Keine Ankündigung bisher.

Ausgabe als Link

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

  • Ausgabe als Link

    Hallo...

    habe eine Datenbank mit Songtexten mit Ausgabe auf einer Webseite. Es gibt eine Vorauswahl der Titel nach Buchstaben.
    Angezeigt wird dann eine Liste der Titel und des Interpreten.
    Wie mache ich aus der Ausgabe der Titel einen Link der dann den entsprechenden Text anzeigt??
    Den Text gibt es in der Datenbank unter 'text'.

    Beispiel der Anzeige:

    A

    Ain' nobody - Chaka Khan
    Ain't no stopping us now - McFadden & Whitehead
    All night long - Lionel Richie

    PHP-Code:
    <?php
     $pdo 
    = new PDO('mysql:host=localhost;dbname=datenbank''user''password');
     
    $sql "SELECT * FROM texte WHERE titel LIKE 'A%'";
       echo 
    A;
       echo 
    "<br />";
       echo 
    "<br />";
     foreach (
    $pdo->query($sql) as $row) {
       echo 
    $row['titel']." - ".$row['interpret']."<br />"; }   
    ?>

  • #2
    Den Text gibt es in der Datenbank unter 'text'.
    D. h. ein weiteres Feld in der selben Tabelle texte? Oder in einer anderen Tabelle?
    Wie mache ich aus der Ausgabe der Titel einen Link der dann den entsprechenden Text anzeigt??
    Soll der Text auf der selben Seite angezeigt werden?
    Zuletzt geändert von Sempervivum; 22.03.2019, 20:39.

    Kommentar


    • #3
      .. ein weiteres Feld in der selben Tabelle mit Namen 'text'...

      Der Text soll dann auf einer neuen Seite angezeigt werden.

      Kommentar


      • #4
        Hi,
        zunächst mal ist SELECT * unnötig, wenn Du nicht alle Felder holen willst. Du brauchst nur titel und eine id holen. Diese trägst Du dann in den Link ein und selektierst in der neuen Seite die id und den text des Datensatzes mit der id.

        Gruß
        Ingo
        Ingo Webdesign

        Kommentar


        • #5
          Dann versuche folgendes:
          PHP-Code:
           foreach ($pdo->query($sql) as $row) {
             echo 
          '<a href="neue-seite.php&titel=' urlencode($row['titel']) . '&interpret=' urlencode($row['interpret']) . '>';
             echo (
          $row['titel']." - ".$row['interpret']."</a><br />";

          In neue-seite.php stehen dir dann Titel und Interpret als $_GET-Parameter zur Verfügung und Du kannst den Text dazu aus der Datenbank auslesen und anzeigen.

          Kommentar


          • #6
            Ich denke mit einer neuen Seite wird das nichts.

            Bleiben wir mal bei meinem PHP-Beispiel das ich schon habe.
            PHP-Code:
            <?php
             $pdo 
            = new PDO('mysql:host=localhost;dbname=datenbank''user''password');
             
            $sql "SELECT * FROM texte WHERE titel LIKE 'A%'";
               echo 
            A;
               echo 
            "<br />";
               echo 
            "<br />";
             foreach (
            $pdo->query($sql) as $row) {
               echo 
            $row['titel']." - ".$row['interpret']."<br />"; }   
            ?>
            Dabei werden mir nur die Titel mit A angezeigt.

            Ausgabe aktuell:

            A

            Ain' nobody - Chaka Khan
            Ain't no stopping us now - McFadden & Whitehead
            All night long - Lionel Richie usw.

            Das sind im Orginal nicht nur 3 Titel sondern über 100..

            Nun möchte ich den Titel dessen Text ich brauche angeklicken und er soll mir angezeigt werden, gerne auch auf der gleichen Seite.
            Der Text befindet sich in der gleichen Tabelle unter 'text'.

            Das soll so sein wie bei einer Adressdatenbank bei der mir nur die Namen angezeigt werden und man dann auf den gewünschten Namen klickt
            und man bekommt dann die komplette Adresse angezeigt.

            Kommentar


            • #7
              Ich denke mit einer neuen Seite wird das nichts.
              Warum denn nicht? Wenn Du den Text auf der selben Seite anzeigen willst, wird es auch nicht einfacher.

              Nun möchte ich den Titel dessen Text ich brauche angeklicken und er soll mir angezeigt werden,
              Genau dafür habe ich das a-href-Tag hinzu gefügt.
              Zuletzt geändert von Sempervivum; 22.03.2019, 20:37.

              Kommentar


              • #8
                Dann muss ich ja für jeden Text eine neue Seite erstellen!!??

                Wird die Datenbank erweitert muss ich auch eine neue Seite erstellen??!!

                Das wollte ich ja gerade vermeiden.

                Kommentar


                • #9
                  Dann muss ich ja für jeden Text eine neue Seite erstellen!!??

                  Wird die Datenbank erweitert muss ich auch eine neue Seite erstellen??!!
                  Nein, überhaupt nicht: Du brauchst nur eine PHP-Seite, diese bekommt Interpret und Titel als Parameter übergeben, liest den Text aus der Datenbank und zeigt ihn an.

                  Kommentar


                  • #10
                    ..und jetzt die Frage aller Fragen:
                    Wie sieht das als PHP-Code aus?????

                    Kommentar


                    • #11
                      Grundprinzip müsste etwa so aussehen:
                      PHP-Code:
                      $titel urldecode($_GET['titel']);
                      $interpret urldecode($_GET['interpret']);
                      $sql "SELECT text FROM texte where titel='" $titel "' and interpret='" $interpret "'";
                      foreach (
                      $pdo->query($sql) as $row) {
                          echo 
                      $row['text'];

                      Und bei dem Code für die Auswahlseite hatte ich noch einen Fehler drin, müsste so lauten:
                      PHP-Code:
                      foreach ($pdo->query($sql) as $row) {
                          echo 
                      '<a href="show-songtext.php?titel=' urlencode($row['titel']) . '&interpret=' urlencode($row['interpret']) . '">';
                          echo 
                      $row['titel'] . " - " $row['interpret'] . "</a><br />" PHP_EOL;

                      Kommentar


                      • #12
                        Hi,
                        urlencode wird ggf. nicht funktionieren. Besser wäre wie gesagt eine ID abzufragen und in den Link zu setzen.

                        Gruß
                        Ingo
                        Ingo Webdesign

                        Kommentar


                        • #13
                          Danke für den Hinweis, PHP und Datenbanken sind weniger meine Stärke. Wenn man eine ID verwendet, wird das Ganze dann wesentlich einfacher.

                          Kommentar


                          • #14
                            Funzt prima!!!

                            Vielen Dank Sempervivum...!!!!!

                            Kommentar

                            homepage-forum.de - Hilfe für Webmaster! Statistiken

                            Einklappen

                            Themen: 56.398   Beiträge: 428.157   Mitglieder: 27.758   Aktive Mitglieder: 87
                            Willkommen an unser neuestes Mitglied, phomsunwin.

                            Online-Benutzer

                            Einklappen

                            214 Benutzer sind jetzt online. Registrierte Benutzer: 1, Gäste: 213.

                            Mit 1.625 Benutzern waren am 17.03.2018 um 18:52 die meisten Benutzer gleichzeitig online.

                            Die neuesten Themen

                            Einklappen

                            Kostenlose Homepage bei Jimdo!

                            Einklappen

                            Jimdo

                            Die neuesten Beiträge

                            Einklappen

                            Lädt...
                            X