tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
12
ZUGRIFFE
720
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    Hallo Leute,

    welchen Datentyp muss ich bei einer MS-SQL Datenbank verwenden wenn ich ein Text über ein Textarea eingeben will und da auch den Text formatieren will und anschliessend in MS-SQL Speichern will.

    Das ganze sollte natürlich auch so Funktionieren wie hier im Forum, mache ich mit "Return" ein Zeilenumbruch - so sollte dieser auch dann anschliessen beim ausgeben auch wieder erscheinen.
     
    gezeichnet
    hikeda_ya


    guggenmusik

  2. #2
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Wie es bei MS-SQL ist weiss ich nicht, aber bei MySQL langt VARCHAR.

    Und die Zeilenumbrüche wandelst Du mit nl2br() um..... ob Du dieses schon beim eintragen in die Datenbank machst oder erst bei der Ausgabe ist eigentlich egal.
    Wobei ich allerdings denke das es von der Performance her besser ist, wenn die Zeilenumbrüche gleich beim eintragen umgewandelt werden.

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  3. #3
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    wie mach ich das mit dem Eintragen

    Wie heisst der Befehl das es gleich so übernommen wird? Kann ja schlecht von meinen DAU ´s verlangen die Befehle zu lernen.

    varchar schneidet mir den Text aber leider nach 255 Zeichen ab oder?
     
    gezeichnet
    hikeda_ya


    guggenmusik

  4. #4
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Der „VARCHAR“-Typ ist leider nur auf 255 Zeichen begrenzt. Mit dem Datentyp „TEXT“ stehen dir 2³¹-1 Zeichen zur Verfügung. Die werden wohl reichen.

    Was die Verarbeitung angeht, würde ich die Daten immer in Rohform in der Datenbank speichern und erst für die Ausgabe formatieren. Das hat den Vorteil, dass die Formatierung beliebig geändert werden kann und die Urdaten davon nicht beeinflusst werden.
     
    Markus Wulftange

  5. #5
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    PHP-Code:
    <?php
    $string 
    "Text
    mit
    Zeilenumbrüchen."
    ;
     
    echo 
    nl2br($string);
    ?>
    Ergebnis:
    Code :
    1
    2
    3
    
    Text<br />
    mit<br />
    Zeilenumbrüchen.
    Der Rest sollte wohl klar sein.

    Ja, VARCHAR geht nur bis 255 Zeichen.
    Bei MySQL gibt es aber auch TEXT und LONGTEXT (frage mich aber nicht nach der max. Zeichenlänge)..... musst Du mal gucken ob es sowas auch bei MS-SQL gibt.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  6. #6
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    Vielen Dank Euch beiden.

    Habe "Text" gefunden und umgeändert. Jetzt kommt auch alles an.

    das mit dem echo nl2br($string); muss ich noch testen und ausprobieren. übergibst du das vor dem Speichern oder vor der Ausgabe.
     
    gezeichnet
    hikeda_ya


    guggenmusik

  7. #7
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Wann nl2br() eingesetzt wird ist egal.
    Aber wie Gumbo schon sagt, wenn Einträge auch editiert werden sollen, ist es einfacher die Umwandlung erst bei der Ausgabe vorzunehmen..... denn sonst müsstest Du die <br />-Tags erst wieder entfernen, da diese den User sicherlich nur verwirren würden.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  8. #8
    Registriert seit
    Dec 2002
    Ort
    Trier
    Beiträge
    17.502
    Blog-Einträge
    10
    Wie bereits erwähnt, würde ich die Daten erst zur Ausgabe formatieren. Denn dadurch bleiben die Ursprungsdaten unberührt und die Formatierung kann später beliebig geändert werden.
     
    Markus Wulftange

  9. #9
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    ok und wie kann ich das dann machen


    Das Problem ist - die Texte sollen zur Userunterstützung (Wissensdatenbank) dienen.

    d.h. ich muss Textestücke fett,kursiv oder GRÖSSER schreiben. Um bestimmte Textpasagen hervorzuheben.
     
    gezeichnet
    hikeda_ya


    guggenmusik

  10. #10
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Zitat Zitat von hikeda_ya
    ok und wie kann ich das dann machen
    Genauso wie ich oben schon beschrieben haben.
    Nur mit dem Unterschied dass der Inhalt von $string nicht im Script steht, sondern der Inhalt aus der Datenbank geholt wird..... welcher zuvor z.b. über ein <textarea> in einem Formular in die Datenbank eingetragen wird.
    Zitat Zitat von hikeda_ya
    d.h. ich muss Textestücke fett,kursiv oder GRÖSSER schreiben. Um bestimmte Textpasagen hervorzuheben.
    Auch diese Frage kann man nicht pauschal beantworten.
    Wenn z.b. grundsätzlich das Wort "Windows" unabhängig von der Usereingabe automatisch in z.b. Fettschrift angezeigt werden soll, könnte man mit regulären Ausdrücken den Text nach einem passendem Vorkommen durchsuchen lassen.
    Zu regulären Ausdrücken kann ich Dir aber nichts sagen..... sind für mich nur Kryptische Zeichen.
    Alternativ könntest Du auch einen festen Teilstring (also z.b. "Windows") durch einen anderen festen Teilstring mittels str_replace() ersätzen lassen.
    Beispiel:
    PHP-Code:
    <?php
    $string 
    "Ein String mit fettem Text.";
     
    $string str_replace("String""<b>String</b>"$string);
    $string str_replace("fettem""<b>fettem</b>"$string);
     
    echo 
    $string;
    ?>
    So werden die Wörter "String" und "fettem" in Fettschrift ausgegeben.

    Wenn Text abhängig von der Usereingabe in Fettschrift angezeigt werden soll, könntest Du mit "BBCode" arbeiten (einfach mal im PHP-Forum danach suchen).
    Auch beim BBCode gibt es wieder die Möglichkeit den String mit regulären Ausdrücken nach dem BBCode zu durchsuchen und zu ersetzen.
    Aber auch hier könntest Du wieder mit str_replace() arbeiten.
    Beispiel:
    PHP-Code:
    <?php
    $string 
    "Ein [b]String[/b] mit [b]fettem[/b] Text.";
     
    $string str_replace("[b]""<b>"$string);
    $string str_replace("[/b]""</b>"$string);
     
    echo 
    $string;
    ?>
    Ergebnis wie schon zuvor.

    Ob der User den BBCode nun per Hand eintippen muss, dieser per Button mit JavaScript eingefügt wird oder Du gar einen "WYSIWYG" Editor wie hier im Forum verwendest (z.b. den FCKeditor), bleibt dabei ganz Dir überlassen.

    So, Stichworte solltest Du nun eigentlich genug haben, um über die Suchfunktion weiter zu kommen..... zumal das Thema schon nichts mehr mit der Datenbank zu tun hat.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  11. #11
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    ok werde ich mal versuchen.

    Denke ich komme mit Deiner Hilfe weiter.
     
    gezeichnet
    hikeda_ya


    guggenmusik

  12. #12
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    ich bekomm das mit dem nl2br() nicht hin.

    ich habe ein textarea mit dem namen Content und wenn ich das mit

    PHP-Code:
    $_REQUEST['Content'
    reinlade bekomme ich das angezeigt
    mache ich jedoch

    PHP-Code:
    nl2br('.$_REQUEST['Content']) 
    wird immer noch alles ohne Return (Zeilenumbruch) dargestellt.
     
    gezeichnet
    hikeda_ya


    guggenmusik

  13. #13
    Avatar von hikeda_ya
    hikeda_ya hikeda_ya ist offline Mitglied Brokat
    Registriert seit
    Dec 2005
    Beiträge
    407
    ok ich revidiere

    PHP-Code:
     '.nl2br($_REQUEST['Content']).' 
    hat hingehauen
     
    gezeichnet
    hikeda_ya


    guggenmusik

Ähnliche Themen

  1. Welchen Verweis muss ich hinzufügen?
    Von istel im Forum .NET Café
    Antworten: 2
    Letzter Beitrag: 30.10.07, 20:09
  2. .exe in welchen Datentyp laden?
    Von lorcan im Forum Visual Basic 6.0
    Antworten: 5
    Letzter Beitrag: 16.05.07, 11:56
  3. Welchen Datentyp für 0, 1 und -1?
    Von nerddestroyer im Forum Visual Basic 6.0
    Antworten: 1
    Letzter Beitrag: 01.05.07, 19:28
  4. Welchen Datentyp muss ich nehmen?
    Von hikeda_ya im Forum Relationale Datenbanksysteme
    Antworten: 2
    Letzter Beitrag: 03.07.06, 10:29
  5. Antworten: 12
    Letzter Beitrag: 31.03.06, 05:48