Fehler im Array?

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

  • Fehler im Array?

    Ich möchte gerne einen String aus Worten die mit einem Komma getrennt sind aus einem Datenbank Feld abfragen, dann in einen Array umandeln um ihn dann in seine Einzelteile zu zerlegen und mittels einer Schleife in einzelnen Punkten ausgeben.

    Kurz:
    - In dem Feld in der DB Steht: "Vorderansicht,Rueckansicht,Seitenansicht".
    - Diesen String in ein Array umwandeln.
    - Mit einer Schleife alle einzelnen Punkte wieder ausgeben.
    PHP-Code:
    <?php
            $id
    =$_GET['id'];
            
            
    $anfrage "SELECT * FROM tabelle_xyz WHERE id = '$id'";
            
    $ergebnis=mysql_query($anfrage)
            or die (
    "<b>Fehler</b>");
                
            
    $anz=mysql_num_rows($ergebnis);
            while (
    $zeile=mysql_fetch_row($ergebnis)) {
            
            
    // INHALTE AUS DER DATENBANK ($zeile[4]) NEHMEN UND NEUES ARRAY DEFINIEREN
            // DER IHNALT VON $zeile[4] IST "Vorderansicht,Rueckansicht,Schnecke,Nochwas"
            
    $details = array($zeile[4]);
            
            
    // EINTRAEGE ZAEHLEN UND UEBER SCHLEIFE AUSGEBEN
            
    $countdetails count ($details);
            for (
    $i=0$i<$countdetails$i++) {
            echo (
    "<a href=\"#\" title=\"Detail: $details[$i]\">" $details[$i] . "</a>");
            }
            
    ?>
    Im Ergebnis wird aber nur der Komplette String aus dem Datenbank Feld 1x ausgegeben.
    Also: (Vorderansicht,Rueckansicht,Seitenansicht) und nicht jeder Eintrag einzeln.
    Wenn ich jedoch den Code so schreibe:
    // $details = array(Vorderansicht,Rueckansicht,Seitenansicht);
    geht es.

    Weis jemand Rat?
    Zuletzt geändert von Halbwissen; 14.11.2005, 20:57.

  • #2
    kann ja so auch nicht klappen!

    explode

    Kommentar


    • #3
      das hab ich befürchet!
      ich hätte mir ja eine etwas detailiertere antwort erhofft.
      ich bin kein profi programmierer!!!!
      ;-/
      wieso klappt meine variante denn nicht?

      Kommentar


      • #4
        weil alles in einem feld steht?
        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


        Kommentar


        • #5
          aber ist das nicht das gleiche
          wenn in der datenbank bei $zeile[4] "Vorderansicht,Rueckansicht,Seitenansicht" steht?

          $details = array(Vorderansicht,Rueckansicht,Seitenansicht);
          ist doch dann gleich wie:
          $details = array($zeile[4]);

          Kommentar


          • #6
            Nein, ist es nicht. Erscheint auch nur logisch, wenn du dir klar machst, dass die daten aus deiner Datenbank EIN String sind. Die Kommas trennen nicht 3 Strings voneinander, sonderen gehören mit zu diesem EINEN String.

            ich hätte mir ja eine etwas detailiertere antwort erhofft.
            wenn man bedenkt, dass alles weitere im manual steht

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              Nein, ist es nicht. Erscheint auch nur logisch, wenn du dir klar machst, dass die daten aus deiner Datenbank EIN String sind. Die Kommas trennen nicht 3 Strings voneinander, sonderen gehören mit zu diesem EINEN String.
              Hmm, danke für die Hilfe!!!
              Mir ist zwar noch nicht klar wie ich es dann richtig hinbekomme aber
              das werde ich schon irgendwie raus bekommen.

              Danke!

              Kommentar


              • #8
                hast du meinen Link mal verfolgt und durchgelesen?

                Kommentar


                • #9
                  Original geschrieben von TobiaZ
                  hast du meinen Link mal verfolgt und durchgelesen?
                  ja, habe es jetzt auch so gemacht:
                  eigentlich alles so geblieben wie ich es auch schon vorher
                  hatte nur das unter der zeile:

                  $details = array($zeile[4]);

                  die folgende noch hinzu gekommen ist:

                  $details_einzeln = explode(",", $zeile[4]);

                  und dann die for schleife wieder wie vorher.

                  danke!
                  ps: ich möchte ja auch nicht immer alles vorkauen wenn mich mal jemand
                  etwas zum thema design fragt. jedoch versuche ich meine antwort dann auch etwas zu kommentieren. wenn alle nur einen link als antwort schreiben kommt das einfach nur super cool daher und hilft einem anfänger nur schwer weiter. ich will jetzt keine diskussion vom zaun brechen aber musste ich bei der gelegenheit einfach nochmal los werden.
                  will auch nicht meckern, hab es ja nun auch selbst hingebastelt.
                  grüße

                  Kommentar

                  Lädt...
                  X