| PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here! |
 |
|

15-08-2003, 11:12
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Steuerzeichen aus MySqlDatenbank in <br> umwandeln
Hallo zusammen,
Ich habe mich als PhP-Anfänger an einem Forum versucht und es hat wunderbar funktioniert. In Tabellen darstellen, aus einem Formular Eiträge übergeben in eine MySql-Datenbank eintragen, alles Klasse!!
Nur eine kleinigkeit habe ich, nach der ich fragen möchte, weil ich im MyPhP nichts dazu gefunden habe und auch google sich bis jetzt ausschweigt.
Ich trage den text des Beitrags in der MySql Datenbank in ein Feld, daß als 'text' deklariert ist ein. Die Zeilenumbrüche sind, wenn ich mir den Datensatz mit MySqlCC anschaue mit einem Steuerzeichen angegeben. welches kann ich nciht genau sagen, da ich nur ein Rechteck, das hochkant steht sehe.
Weiß jemand von Euch, um welches Steuerzeichen es sich handelt und wie ich es am besten ausfindig mache?
Gruß, David
|

15-08-2003, 11:14
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
Das ist doch nicht wirklich wichtig für nen Umbruch. Dafür gibts doch ne fertige Funktion.
EDIT: Bitteschön!
Geändert von TobiaZ (15-08-2003 um 11:42 Uhr)
|

15-08-2003, 11:15
|
|
Tartax
PHP Senior
|
|
Registriert seit: Oct 2002
Ort: BRD
Beiträge: 1.167
|
|
Das Rechteck ist kein spezielles steuerungszeichen, das wird eingesetzt sobald es für den Wert kein Zeichen gibt... Vermutlich handelt es sich jedoch bei dir um einen stinknormalen Zeilenumbruch, also:
chr(13).chr(10)
EDIT:
Vermutlich ihn selber, weil er es mir "<br>" ersetzen will oder aus irgendeinem anderen grund, insofern könntest du ruhig mal was netter antworten!!, ich errinnere mich da an einen Thread von Hand, er hies
Rauer Ton Im Forum
und du kannst wirklich nicht sagen das die Fragestellung hier durch suchen etc. hätte gelöst werden können!
__________________
Die Musikreview Seite
hi, i'm a signature virus. copy me into your signature to help me spread.
Geändert von Tartax (15-08-2003 um 11:24 Uhr)
|

15-08-2003, 11:18
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Mich vielleicht?
Ich frage den Text aus der MySql - Datenbank ab und es steht alles in einer Zeile.
Das finde ich nicht so spannend und würde die abgesendeten Beiträge schon gerne so abbilden können, wie sie eingegeben wurden.
ist es ein cr oder ein lf oder sogar ein crlf?
umwandeln kann ich es schon alleine!
Danke, David
|

15-08-2003, 11:27
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Danke Tartax für deine Antwort
Ich könnte die Stelle dann quasi mit
PHP-Code:
$Zeilenumbruch = strpos($text,chr(10));
oder
PHP-Code:
$Zeilenumbruch = strpos($text,chr(13));
ausfindig machen?
Gruß, David
|

15-08-2003, 11:32
|
|
Tartax
PHP Senior
|
|
Registriert seit: Oct 2002
Ort: BRD
Beiträge: 1.167
|
|
wie sieht das zeichen denn aus wenn dus im Browser anschaust?? wie wärs wenn du das einfach aus dem Browser rauskopierst, und in den code einfügst:
str_replace("RauskopiertesZeichen","<br>",$string);
oder geht das so nicht??
EDIT:
Kann das mal bitte einer löschen!?
__________________
Die Musikreview Seite
hi, i'm a signature virus. copy me into your signature to help me spread.
Geändert von Tartax (15-08-2003 um 11:38 Uhr)
|

15-08-2003, 11:33
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
das war so böse nicht gemeint.
ich denke nur, dass ein einfacher nl2br() hier reicht, bevor hier wieder große workarounds gebastelt werden.
|

15-08-2003, 11:34
|
|
Tartax
PHP Senior
|
|
Registriert seit: Oct 2002
Ort: BRD
Beiträge: 1.167
|
|
wie sieht das zeichen denn aus wenn dus im Browser anschaust?? wie wärs wenn du das einfach aus dem Browser rauskopierst, und in den code einfügst:
str_replace("RauskopiertesZeichen","<br>",$string);
oder geht das so nicht??
EDIT:
Sicher daß es ein zeilenumbruch mit chr(13) und chr(10) ist bin ich mir nicht, du würdest es daran erkennen wie die stellen im html-quelcode aussehen, wenn es da zeilenumbüche sindt ist es ein zeilenumbruch!!
Aber warum denn strpos()?? ist doch egal wo's ist, benutz doch einfach str_replace()
__________________
Die Musikreview Seite
hi, i'm a signature virus. copy me into your signature to help me spread.
|

15-08-2003, 11:41
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Danke Tartax und TobiaZ Für Eure Hilfe,
ich kann leider keine von Euren Lösungsvorschlägen vor heute Abend implementieren, weil ich im Moment auf der Arbeit bin.
Ich werde es aber heute Abend gleich versuchen.
@Tartax: Danke dafür, daß du oben eingesprungen bist!!
@ TobiaZ: Der Herr hat sich doch herunter gelassen einem Menschen zu helfen, der sich erst seit 2 Wochen mit PhP beschäftigt! WoW!
Was mich ganz ernsthaft interessieren würde ist, was hat dich so sehr gestört an der Aussage?
Gruß, David
|

15-08-2003, 11:47
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Im Browser selber war nur ein Leerzeichen zu sehen und im Quellcode habe ich leider nicht nachgesehen.
Wenn es noch Probleme gibt, werde ich allerdings Morgen hier noch etwas posten.
Gruß, David
|

15-08-2003, 11:47
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
mich hat an keiner aussage etwas gestört.
ich wollte nur verhindern, dass hier schon wieder ein riesen Code für nichts und wieder nichts gebastelt wird. das wäre heute morgen nicht das erste mal gewesen.
|

16-08-2003, 14:42
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Also, es funktioniert jetzt alles!!
Ich habe jetzt nur noch ein weiteres Problem!
Ich möchte gerade meine Datenbank im Internet so einrichten, daß ich das Forum im Netz nutzen kann.
Die Datentypen der Felder habe ich genauso eingestellt, wie lokal und er wirft mir immernoch Feler raus! Woran kann das liegen?
Hier einmal die Insertanweisung
PHP-Code:
CREATE TABLE `pausenraum` (
`index` BIGINT( 8 ) NOT NULL AUTO_INCREMENT ,
`family` BIGINT( 8 ) NOT NULL ,
`f_index` BIGINT( 8 ) NOT NULL ,
`title` VARCHAR( 100 ) ,
`text` VARCHAR( 100 ) NOT NULL ,
`name` VARCHAR( 25 ) NOT NULL ,
`vorname` VARCHAR( 20 ) ,
`email` VARCHAR( 100 ) ,
`page` VARCHAR( 100 ) ,
`creation Date` DATE( 100 ) DEFAULT '0000-00-00' NOT NULL ,
`icq` INT( 9 ) ,
PRIMARY KEY ( `index` )
) TYPE = MYISAM
MySQL meldet:
You have an error in your SQL syntax near '(100) DEFAULT '0000-00-00' NOT NULL, `icq` INT(9), PRIMARY KEY (`index`)) TYPE =' at line 1
Vielen Dank!!
Gruß, David
|

16-08-2003, 15:43
|
TobiaZ
 Moderator
|
|
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.188
|
|
hast du das dump aus deiner offline-tabelle gezogen?
BTW: welche Lösung hast du für das erste Prob genutz?
|

16-08-2003, 18:34
|
|
LinAl
Newbie
|
|
Registriert seit: Aug 2003
Ort: Bochum
Beiträge: 18
|
|
Hmm ich bin ja wie gesagt neuling/noob, deshalb wüßte ich nicht, wie ich einen Dump einspiele.
Für das erste Prob habe ich nl2br benutzt.
Funzt super, danke nochmals an Euch!
Gruß, David
|

16-08-2003, 18:59
|
Wurzel
Master  
|
|
Registriert seit: Jul 2002
Ort: double-u-upper-valley
Beiträge: 7.477
|
|
ich würde vorschlagen,
1.) du vermeidest leerzeichen in feldnamen, wenn du es trennen willst, nimm nen "_".
2.) date(100) => 100 zeichen im datumsfeld => wie weit bist du deiner zeit voraus 
schau mal ins manual http://www.mysql.de/doc/de/Column_types.html
__________________
-
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|