php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Steuerzeichen aus MySqlDatenbank in <br> umwandeln


 
LinAl
15-08-2003, 12:12 
 
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

 
TobiaZ
15-08-2003, 12:14 
 
Das ist doch nicht wirklich wichtig für nen Umbruch. Dafür gibts doch ne fertige Funktion.

Bitteschön!

 
Tartax
15-08-2003, 12:15 
 
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)


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 (http://www.php-resource.de/forum/showthread.php?s=&threadid=21658)

und du kannst wirklich nicht sagen das die Fragestellung hier durch suchen etc. hätte gelöst werden können!

 
LinAl
15-08-2003, 12: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

 
LinAl
15-08-2003, 12:27 
 
Danke Tartax für deine Antwort

Ich könnte die Stelle dann quasi mit

$Zeilenumbruch = strpos($text,chr(10));
oder
$Zeilenumbruch = strpos($text,chr(13));

ausfindig machen?

Gruß, David

 
Tartax
15-08-2003, 12:32 
 
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??



Kann das mal bitte einer löschen!?

 
TobiaZ
15-08-2003, 12:33 
 
das war so böse nicht gemeint.

ich denke nur, dass ein einfacher nl2br() hier reicht, bevor hier wieder große workarounds gebastelt werden.

 
Tartax
15-08-2003, 12:34 
 
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??



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()

 
LinAl
15-08-2003, 12:41 
 
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

 
LinAl
15-08-2003, 12:47 
 
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

 
TobiaZ
15-08-2003, 12:47 
 
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.

 
LinAl
16-08-2003, 15:42 
 
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

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

 
TobiaZ
16-08-2003, 16:43 
 
hast du das dump aus deiner offline-tabelle gezogen?

BTW: welche Lösung hast du für das erste Prob genutz?

 
LinAl
16-08-2003, 19:34 
 
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

 
Wurzel
16-08-2003, 19:59 
 
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 :confused:
schau mal ins manual http://www.mysql.de/doc/de/Column_types.html ;)

 
TobiaZ
16-08-2003, 20:27 
 
@tartax: Für das erste Prob habe ich nl2br benutzt.Ich sag dann mal nichts!

Nutzt du phpMyAdmin?

 
LinAl
17-08-2003, 23:48 
 
@ TobiaZ, ja ich nutze phpMyAdmin, ist auch fast die einzige Quelle für meinen Code.

Bei der Tabelle schaue ich mal, was PhPMyAdmin dazu sagt ...

Gruß, David

 
TobiaZ
18-08-2003, 00:07 
 
Also das "fast" stört mich!

versuche mal, ob myadmin den code einliest, was ich nicht hoffe. ;)

erstelle dump aus myadmin.

 
LinAl
18-08-2003, 11:58 
 
ich bin ja auch eine Pappnase, oder viel zu Müde gewesen, habe die ganze N8 bei einem Kollegen durchgezoggt und dann den Beitrag geschrieben :-/

Ich habe als Quelle für meine Informationen nicht PhPMyAdmin sondern selfPhP.....

Und PhPMyAdmin ist das einzige graphische Interface für meine Online Datenbank!... D.H. eigentlich könnte ich mysqlcc auch auf die Datenbank im Internet einrichten ... oder sollte es da Probleme geben? Hmm ich versuche es mal!

Gruß, David


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:14 Uhr.