Datenbankausgabe und nl2br

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

  • Datenbankausgabe und nl2br

    hallo,
    ich brings einfach nicht zusammen. Ich suche mir meinen Text aus der Datenbank mit:

    <?
    $query="SELECT * FROM marion";
    $result=mysql("$db",$query);
    $number=mysql_numrows($result);
    $row =mysql_data_seek ($result,$zahl);
    $row = mysql_fetch_object ($result);
    ?>
    <div id='Bildebene'>
    <img src="Admin/upload/<?echo $row->bild?>" border="0" valign="top"></div>
    </div>
    <div id="Textebene">
    <?
    echo "<h3>$row->head</h3><p>";
    echo "$row->text <p>";
    ?>

    und will jetzt das er mir die Zeilenschaltungen in <br> umwandelt mit dieser Funktion:

    <?
    function extended_nl2br($text)
    {
    return(preg_replace("/(\015\012)|(\015)|(\012)/i","<br>",$text));
    }
    ?>

    Ich mach das alles am Mac und hab auch die funktion nicht zum Laufen gebracht. Was ist falsch??

    Gunther

  • #2
    schon mal daran gedacht, dass "normale" zeilenumbrüche NICHT mit in die db aufgenommen werden? die umwandlung von nl2br in <br> muss vor der eingabe in die db geschehen.
    gruss
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      Nein, das wußte ich nicht. Wenn ich meine Texte aus der DB in ein Textarea-Fenster lade (im Edit-Bereich), gibts aber die Umbrüche noch. welche sind das dann?

      Kommentar


      • #4
        Also bei mir werden Zeilenumbrüche mit in die db aufgenommen (MySQL).
        Ich wandle dann immer so um:

        $text = eregi_replace("\n","<br>",$text);

        funzt eigentlich ganz gut.
        Immer erst mal gucken, ob Benzin im Tank ist ...

        Kommentar


        • #5
          @Gunther
          die zeilenumbrüche gibt es nur, weil dein textarea eine begenzung hat, setzt bei textarea die cols mal deutlich höher, dann siehts du es. bevor der text in die db aufgenommen wird, mach es wie mkJack beschrieben hat.
          gruss
          peter
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            @Kropff
            heißt das, ich muß im Pflegebereich dann immer mit den HTML-Tags dealen?
            Das wollte ich vermeiden. Die DB speichert also keine Umbrüche. Wie siehts denn mit Absätzen aus?

            Gunther

            Kommentar


            • #7
              Wie ich weiter oben bereits sagte:
              Also bei mir werden Zeilenumbrüche mit in die db aufgenommen (MySQL).
              Probiere es doch einfach mal: Text mit Umbrüchen in db, dann beim Auslesen die Umbrüche in <br> wandeln und ab an den Browser damit.
              Immer erst mal gucken, ob Benzin im Tank ist ...

              Kommentar


              • #8
                @mkJack
                das ist mein zweites Problem:
                Ich lese die daten aus mit §row -> text
                Ich weiß nicht, wie ich da den Codeschnipsel einbauen kann
                Zuletzt geändert von Gunther; 29.04.2002, 15:36.

                Kommentar


                • #9
                  Mein Weg ist dieser (Beispiel):
                  Code:
                  $sql = "SELECT bla FROM tabelle";
                  $result = mysql_query($sql, $db);
                  while ($row=mysql_fetch_array($result))
                   {
                     $bla = eregi_replace("\n","<br>",$row[bla]);
                     echo $bla;
                   }
                  Immer erst mal gucken, ob Benzin im Tank ist ...

                  Kommentar


                  • #10
                    @mkjack,
                    ich hab versucht, die Abfrage entsprechend Deiner zu ändern, aber es funktioniert nicht und ich bin ja so froh, daß es soweit geht. Ists nicht möglich, das Script auch in die Syntax $row -> text einzubauen??

                    Kommentar


                    • #11
                      Original geschrieben von Kropff
                      schon mal daran gedacht, dass "normale" zeilenumbrüche NICHT mit in die db aufgenommen werden? die umwandlung von nl2br in <br> muss vor der eingabe in die db geschehen.
                      gruss
                      peter
                      da muss ich mal eben wiederspruch einlegen! wenn die umbrüche durch drücken der enter / return taste entstanden sind, werde sie gespeichert, und können auch hinterher mit nl2br() wieder in breaks gewandelt werden!
                      h.a.n.d.
                      Schmalle

                      http://impressed.by
                      http://blog.schmalenberger.it



                      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                      ... nur ohne :-)

                      Kommentar


                      • #12
                        Wie bring ich den den Codeschnipsel in mein Script?

                        Kommentar


                        • #13
                          Ich hab jetzt mein Script umgebaut und verwende fetch_array. Wie kann ich jetzt einen datensatz ($zahl=0) auslesen. So funktionierts nicht:

                          <?
                          $query="SELECT * FROM marion";
                          $result=mysql("$db",$query);
                          $number=mysql_numrows($result);
                          $row =mysql_fetch_array ($result);
                          ?>
                          <div id='Bildebene'>
                          <img src="Admin/upload/<? echo $row[bild]?>" border="0" valign="top">
                          </div>
                          <div id="Textebene">
                          <?
                          echo "<h3>$row[head[$zahl]]</h3><p>";
                          $text = eregi_replace("\n","<br>",$row[text[$zahl]]);
                          echo $text;
                          ?>

                          Kommentar


                          • #14
                            Doch, ausgelesen wird. Aber
                            Original geschrieben von Gunther
                            echo "<h3>$row[head[$zahl]]</h3><p>";
                            funktioniert so nicht, da die Variablenersetzung innerhalb von Strings mit Array-Schachtelungen nicht funktioniert.
                            So geht´s:
                            echo "<h3>", $row[head[$zahl]], "</h3><p>";
                            mein Sport: mein Frühstück: meine Arbeit:

                            Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                            Kommentar


                            • #15
                              Aber bitte mit Punkten statt Kommas vor und nach dem $row...
                              echo "<h3>". $row[head[$zahl]]. "</h3><p>";
                              Immer erst mal gucken, ob Benzin im Tank ist ...

                              Kommentar

                              Lädt...
                              X