HTML-Zeilenvorschub in mysql-Datenbank mit abspeichern.

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

  • HTML-Zeilenvorschub in mysql-Datenbank mit abspeichern.

    Komme einfach nicht damit klar, wie ich einen Zeilenvorschub oder
    Absatz in der Datenbank abspeichern kann.
    Versucht habe ich es schon mit

    <?$punkt1=nl2br($punkt1);?>

    Das folgende Formular ist nicht vollständig, weil es zu lang ist und für die Lösung wahrscheinlich auch nicht so nötig ist.
    Es geht um die Tabellenfelder punkt1 bis punktx

    Hier der Code:

    <?php

    function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
    {
    $theValue = (!get_magic_quotes_gpc()) ? addslashes($theValue) : $theValue;

    switch ($theType) {
    case "text":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "long":
    case "int":
    $theValue = ($theValue != "") ? intval($theValue) : "NULL";
    break;
    case "double":
    $theValue = ($theValue != "") ? "'" . doubleval($theValue) . "'" : "NULL";
    break;
    case "date":
    $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
    break;
    case "defined":
    $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
    break;
    }
    return $theValue;
    }

    $editFormAction = $_SERVER['PHP_SELF'];
    if (isset($_SERVER['QUERY_STRING'])) {
    $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
    }

    if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
    $insertSQL = sprintf("INSERT INTO protokolle (ID, vom, begruessung, hauptueberschrift, punkt1, punkt2, punkt3, punkt4, punkt5, ueberschrift1, thema1, ueberschrift2, thema2, ueberschrift3, thema3, ueberschift4, thema4, ueberschrift, thema5, ueberschrift6, thema6, ueberschrift7, thema7, ueberschrift8, thema8, ueberschrift9, thema9, bemerkung, verfasst) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",


    GetSQLValueString($_POST['ID'], "int"),
    GetSQLValueString($_POST['vom'], "text"),
    GetSQLValueString($_POST['begruessung'], "text"),
    GetSQLValueString($_POST['hauptueberschrift'], "text"),
    GetSQLValueString($_POST['punkt1'], "text"),
    GetSQLValueString($_POST['punkt2'], "text"),
    GetSQLValueString($_POST['punkt3'], "text"),
    GetSQLValueString($_POST['punkt4'], "text"),
    GetSQLValueString($_POST['punkt5'], "text"),
    GetSQLValueString($_POST['ueberschrift1'], "text"),
    GetSQLValueString($_POST['thema1'], "text"),
    GetSQLValueString($_POST['ueberschrift2'], "text"),
    GetSQLValueString($_POST['thema2'], "text"),
    GetSQLValueString($_POST['ueberschrift3'], "text"),
    GetSQLValueString($_POST['thema3'], "text"),
    GetSQLValueString($_POST['ueberschift4'], "text"),
    GetSQLValueString($_POST['thema4'], "text"),
    GetSQLValueString($_POST['ueberschrift'], "text"),
    GetSQLValueString($_POST['thema5'], "text"),
    GetSQLValueString($_POST['ueberschrift6'], "text"),
    GetSQLValueString($_POST['thema6'], "text"),
    GetSQLValueString($_POST['ueberschrift7'], "text"),
    GetSQLValueString($_POST['thema7'], "text"),
    GetSQLValueString($_POST['ueberschrift8'], "text"),
    GetSQLValueString($_POST['thema8'], "text"),
    GetSQLValueString($_POST['ueberschrift9'], "text"),
    GetSQLValueString($_POST['thema9'], "text"),
    GetSQLValueString($_POST['bemerkung'], "text"),
    GetSQLValueString($_POST['verfasst'], "text"));
    mysql_select_db($database_protokol, $protokol);
    $Result1 = mysql_query($insertSQL, $protokol) or die(mysql_error());
    $insertGoTo = "neu.php";
    if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
    }
    header(sprintf("Location: %s", $insertGoTo));
    }
    ?>
    //Hier fängt das Formulat an//
    <form action="<?php echo $editFormAction; ?>" method="POST" name="form1">
    <table width="80%" align="center" cellpadding="5" cellspacing="0">
    <tr valign="baseline">
    <td align="left" valign="top" nowrap bgcolor="#999999" class="tabellenrahmen"><div align="center"><a href="#" class="linkweiss" onClick="MM_openBrWindow('../../adressliste/protokolle/protokolle/hilfe.php','','scrollbars=yes,resizable=yes,width=510,height=355')">Hilfe Textformat </a></div></td>
    <td colspan="2" align="left" valign="top" nowrap bgcolor="#999999" class="tabellenrahmen"><div align="center"><a href="../../adressliste/protokolle/protokolle/index.php" target="_self" class="linkweiss">Protollansicht</a></div></td>
    <td align="left" valign="top" nowrap bgcolor="#999999" class="tabellenrahmen"><div align="center"><a href="del.php" target="_self" class="linkweiss">Datensatz l&ouml;schen </a></div></td>
    <td align="left" valign="top" nowrap bgcolor="#999999" class="tabellenrahmen"><div align="center"><a href="edit.php" class="linkweiss">Datensatz editieren</a></div></td>
    </tr>
    <tr valign="baseline">
    <td width="23%" align="left" valign="top" nowrap class="tabellenrahmen">Vom:</td>
    <td colspan="4" align="left" valign="top" class="tabellenrahmen"><input type="text" name="vom" value="" size="11"></td>
    </tr>
    <tr valign="baseline">
    <td align="left" valign="top" nowrap class="tabellenrahmen">Begruessung:</td>
    <td colspan="4" align="left" valign="top" class="tabellenrahmen"><input type="text" name="begruessung" value="" size="82"></td>
    </tr>
    <tr valign="baseline">
    <td align="left" valign="top" nowrap class="tabellenrahmen">Hauptueberschrift:</td>
    <td colspan="4" align="left" valign="top" class="tabellenrahmen"><input type="text" name="hauptueberschrift" value="" size="82"></td>
    </tr>
    <tr valign="baseline">
    <td align="left" valign="top" nowrap class="tabellenrahmen">Punkt 1:</td>
    <td colspan="4" align="left" valign="top" class="tabellenrahmen"><textarea name="punkt1" cols="80" rows="3"></textarea></td><? $punk1=nl2br($punkt1);?>

    </tr>
    <tr valign="baseline">
    <td align="left" valign="top" nowrap class="tabellenrahmen">Punkt 2:</td>
    <td colspan="4" align="left" valign="top" class="tabellenrahmen"><textarea name="punkt2" cols="80" rows="3"></textarea></td>
    </tr>

    Wo im Formular oder script kann ich jetzt festlegen, daß die Zeilenvorschübe bzw. Absätze in der Datenbank mit abgespeichert werden.

    Wie schon gesagt, versucht habe ich es schon mehrfach mit:

    [COLOR=red]<?$punkt1=nl2br($punkt1);?>[/COLOR]
    Zuletzt geändert von Mikel2; 23.04.2007, 22:41.
    Harleyluja

  • #2
    1. Beim Versuch, sich das durchzulesen, tun die Augen weh. Benutz bitte die PHP-Tags.

    2. nl2br wandelt "normale" Umbrüche in <br>-Tags um, die in einer Datenbank nichts zu suchen haben. Besser: einfach abspeichern, wie es vom Formular kommt, und bei der Ausgabe nl2br nutzen.
    ich glaube

    Kommentar


    • #3
      Original geschrieben von ministry

      2. nl2br wandelt "normale" Umbrüche in <br>-Tags um, die in einer Datenbank nichts zu suchen haben. Besser: einfach abspeichern, wie es vom Formular kommt, und bei der Ausgabe nl2br nutzen.
      Ok, aber woher soll ich bei der Ausgabe wissen, wo der User bei der
      Datensatzeingabe einen Zeilenvorschub ausgelöst hat?

      Soviel ich weiß, gibt es doch die Möglichleit, ein <br> oder auch 2 mal <br>
      für einen Absatz in der Datenbank gleich mit abzuspeichern und bei der
      Ausgabe wird der HTML-Code gleich mit berücksichtigt.
      Im Moment gebe ich diese HTML - Formatierung beim anlegen des Datensatzes per Hand ein.

      Kannst Du mir mal ein Beispiel für Deinen Vorschlag geben?
      Harleyluja

      Kommentar


      • #4
        Naja, einfach da, wo du den Kram aus der Datenbank ausliest und darstellst, ein nl2br rumtun? Die Zeilenumbrüche werden mit abgespeichert. Nur eben nicht als <br> sondern als "\n", und das ist auch richtig so.
        ich glaube

        Kommentar


        • #5
          Original geschrieben von Mikel2
          Ok, aber woher soll ich bei der Ausgabe wissen, wo der User bei der Datensatzeingabe einen Zeilenvorschub ausgelöst hat?
          Das brauchst du nicht zu wissen - das "merkt" die Funktion schon alleine, wenn du den Text ganz normal in die DB speicherst.

          Im Moment gebe ich diese HTML - Formatierung beim anlegen des Datensatzes per Hand ein.
          Warum?
          I don't believe in rebirth. Actually, I never did in my whole lives.

          Kommentar


          • #6
            Danke für Eure Hilfe,

            habe es jetzt kapiert.

            Hatte vorher per Hand eingetragen, weil ich die Funktion
            nl2br noch nicht kannte.

            Dank Eurer Hilfe habe ich es jetzt verstanden und umgesetzt.

            Harleyluja

            Kommentar

            Lädt...
            X