Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Auslesen einer Spalte mit mehren gleichen Inhalten

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Auslesen einer Spalte mit mehren gleichen Inhalten

    Hallo ich habe folgentes Problem.

    Ich möchte aus meiner XBMC DB eine url zu einenm Banner aus lesen.
    Zur Zeit habe ich die url in eine leere Spalte geschoben.
    Das würde ich aber in Zukunft vermeiten Meiden und es aus der bestehenten Spalte aus lesen lassen.

    Mein Problem ist jetzt ich weiß nicht wie!

    In diesem Feld sehr viele URL´s und ander Infos stehen.

    Hier mal der Inhalt eines Feldes.
    Code:
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g7.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g5.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g4.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g2.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g8.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g3.jpg</thumb>
    <thumb aspect="banner">http://thetvdb.com/banners/graphical/253350-g6.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/253350-1-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/253350-2-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/253350-1.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/253350-1-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/253350-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/253350-2-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/253350-2-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/253350-1-5.jpg</thumb>
    <thumb aspect="poster" type="season" season="1">http://thetvdb.com/banners/seasons/253350-1-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="2">http://thetvdb.com/banners/seasons/253350-2-2.jpg</thumb>
    <thumb aspect="poster" type="season" season="3">http://thetvdb.com/banners/seasons/253350-3.jpg</thumb>
    <thumb aspect="banner" type="season" season="1">http://thetvdb.com/banners/seasonswide/253350-1.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-4.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-1.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-3.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-2.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-7.jpg</thumb>
    <thumb aspect="poster">http://thetvdb.com/banners/posters/253350-6.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-4.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-1.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-3.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-2.jpg</thumb><thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-7.jpg</thumb>
    <thumb aspect="poster" type="season" season="-1">http://thetvdb.com/banners/posters/253350-6.jpg</thumb>
    Ich möchte jetzt mir das rot markiert aus geben lasen.
    Also wie ich das bild aus geben lasse weis ich JA.
    PHP-Code:
    echo '<td>'."<img class='bild' src="$zeile['c02'] . ">" '</td>'
    Ich weis nur nicht was ich hier machen muss.
    PHP-Code:
    $sql " SELECT c02 FROM tvshowview ORDER BY c02 "
    Wo bei c02 dann c06 währe.
    PHP-Code:
    $sql " SELECT c06 FROM tvshowview ????? "
    Ich hoffe ich habe mich verstäntlich genug aus gedrückt. Was mein genaus Anliegen ist!

    Ich bedanke mich schon mal im vorraus.

    Wer fehler findet darf sie behalten.

    MfG Cyb3rb0y


  • #2
    Zitat von Cyb3rb0y Beitrag anzeigen
    In diesem Feld sehr viele URL´s und ander Infos stehen.
    Dann behebe dieses Problem. Dein Datenbankdesign ist völlig kaputt, da einzelne URLs rauszuholen geht nicht (mit irgendwelchen Stringfunktionen evtl. aber sinnvoll ist das nicht).

    Kommentar


    • #3
      Dake für die Antwort. Aber wie ich geschrieben habe ist das eine XBMC Datenbank. Ich habe sie nicht designt.

      Kommentar


      • #4
        Zitat von Cyb3rb0y Beitrag anzeigen
        Dake für die Antwort. Aber wie ich geschrieben habe ist das eine XBMC Datenbank. Ich habe sie nicht designt.
        Das ändert nichts daran dass deren Design defekt ist - am "sinnvollsten" dürfte es wohl noch sein die komplette Spalte auszulesen und einen XML-Parser drüberzujagen ... Wobei ich auch nicht weiß was du mit c02 und c06 meinst, wenn das Spaltennamen sind ist das ein weiterer Hinweis auf ein defektes Design ...

        Kommentar


        • #5
          Ja das sind Spaltennamen. Ich kann ja ma schauen ob er immer so die DB schreibt ich kann mir nicht vorstellen das es defekt sein soll. normaler weise speichtert das XBMC die daten in einer lokalen Datei (Data Base File (.db)).

          Ich glaube die wahren nur zu fauel den ganzen Spalten richtige namen zu geben. Da es bei denn wichtigsten Spalten schon Bezeichnungen gibt.

          Das Problem an deiner Idee wir seine das ich wenn ich Pech habe 2 mal das gleiche Banner bekomme oder nicht?
          Das was ich gepostet habe wahr nur ein Feld. Keine ganze Spalte.

          Kommentar


          • #6
            Zitat von tk1234 Beitrag anzeigen
            Dann behebe dieses Problem. Dein Datenbankdesign ist völlig kaputt, da einzelne URLs rauszuholen geht nicht (mit irgendwelchen Stringfunktionen evtl. aber sinnvoll ist das nicht).
            so schwer wahr das nun nicht.
            und es wurde mir richtig gut erklärt so das ich es auch gleich verstande hab und er hat nicht gemeind das das Design defekt
            ist.

            Code:
            preg_match('~<thumb .+?>(.+?)</thumb>~', $zeile['c06'], $output);
            $link = $output[1];
            Der Code zum auslesen.

            PHP-Code:
            <?php require_once ('seiten/config.php');
              
            $sql " SELECT c06 FROM tvshowview ORDER BY c00";
              
            $db_erg mysql_query$sql );
                if ( ! 
            $db_erg ) {
                  die(
            'Ungültige Abfrage: ' mysql_error());
                  }echo 
            '<table border="2" align="center" class="table">';
                    while (
            $zeile mysql_fetch_array$db_ergMYSQL_ASSOC)){
                    
            preg_match('~<thumb .+?>(.+?)</thumb>~'$zeile['c06'], $output);
                    
            $link $output[1];
                      echo 
            "<tr>";
                        echo 
            '<td>'."<img class='bild' src="$link">" '</td>';
                        while (
            $zeile mysql_fetch_array$db_ergMYSQL_ASSOC)){
                        
            preg_match('~<thumb .+?>(.+?)</thumb>~'$zeile['c06'], $output);
                        
            $link $output[1];
                      echo 
            '<td>'."<img class='bild' src="$link ">" '</td>';
                      echo 
            "</tr>";
                    break;}}
                  echo 
            "</table>";
                
            mysql_free_result$db_erg );
            ?>
            Mein Seiten Code.

            Kommentar


            • #7
              Zitat von Cyb3rb0y Beitrag anzeigen
              und es wurde mir richtig gut erklärt so das ich es auch gleich verstande hab und er hat nicht gemeind das das Design defekt
              ist.
              Das Design *ist* defekt, auch wenn du das nicht wahrhaben willst ... Es mag mit der jetzigen "Lösung" momentan "funktionieren" - aber früher oder später wirst du mit dem Datenbankdesign kräftig auf die Schn**** fallen.

              preg_match('~<thumb .+?>(.+?)</thumb>~', $zeile['c06'], $output);
              reguläre Ausdrücke sind ungeeignet um XML/HTML-Code zu verarbeiten/auszulesen, dafür gibt es XML-Parser - das schrieb ich schon in #4 aber das hast du ignoriert.

              $db_erg = mysql_query( $sql );
              die mysql_*-Funktionen sind veraltet, verwende mysqli oder PDO.

              Und außerdem: du hast zwar nicht zeitgleich im anderen Forum gepostet, trotzdem sollte man in so einem Fall darauf hinweisen dass es bereits in einem anderen Forum einen Thread zu dem Thema gibt bzw. dass man noch in einem anderen Forum gefragt hat.

              Kommentar

              Lädt...
              X