Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Zeilenumbruch für MySQL Textfeld [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Zeilenumbruch für MySQL Textfeld


 
KriZa
29-03-2007, 16:41 
 
Hallo,

ich habe mehrere Werte, die ich in ein Textfeld bringen möchte. diese Werte sollen dann auf dem Front End jeweils in einer separaten Zeile eines mehrzeiligen Textfeldes stehen. Nur wie bekomme ich diesen Zeilenumbruch in meine MySQL-DB?
Habe folgenden Ausgangspunkt:
$info ist das Feld, welches ich später über ein INSERT INTO in DB einspiele.

$info = "LZ: ".$_POST['lz']." AZ: ".$_POST['az'];

LZ und AZ sollen nun mit einem Zeilenumbruch versehen werden.
Lösungsansätze habe ich mit
'\n'
'<br/>' wahrscheinlich nur für html
'chr(13,10)' das soll irgendwie in access gehen

ich weiß aber nicht wie ich die in den code einbaue, damit das funktioniert. schreibe ich zb \\n zwischen Anführungsstriche um \n zu erzeugen, dann schreibt er einen kleinen schwarzen Strich in meine DB. ist also ein fehler.

Gruß und Dank

 
penizillin
29-03-2007, 16:44 
 
einfach nur "\n" verwenden, ist schon richtig.

 
KriZa
29-03-2007, 16:46 
 
aber wie genau? wie gesagt, nach dem INSERT INTO steht da kein Zeilenumbruch, sondern ein kleiner senkrechter schwarzer Strich...

 
penizillin
29-03-2007, 16:47 
 
von insert into war auch nicht die rede. du wolltest einen zeilenumbruch zwischen die eingaben stellen? so mach das. z.b. vor "AZ". und dann machst du einfach die ausgabe, so wie du sie haben willst. und wie schaust du "in die datenbank"?

 
KriZa
29-03-2007, 16:55 
 
Ich habe ein php-formular, in das daten eingegeben werden. dieses erzeugt dann den eintrag in die datenbank - eben aus den eingegebenen daten. einen wert, den ich aus mehreren eingegebenen werten zusammenstelle (das ist $info) soll zwischen den einzelnen werten ein zeilenumbruch generiert werden. dieser zusammengewürfelte wert wird dann in meine DB mittels INSERT INTO gesteckt. aber das hab ich doch alles schon erklärt. steht doch eindeutig da.

mein problem ist, wie erzeuge ich Mysql-fähige zeilenumbrüche

deine frage: und wie schaust du "in die datenbank"? versteh ich nun wieder nicht ganz. wie schaut man in eine datenbank? mit einer abfrage. oder was meinst du?

 
penizillin
29-03-2007, 17:00 
 
wo gibts du diese abfrage ein? und zeig doch endlich bitte die ausgabe..

des weiteren: zeig mal die query (so, wie sie an die db geht).

 
KriZa
29-03-2007, 17:10 
 
die ausgabe ist an meinem front end (access) aber ich kann die Abfrage auch direkt in meinem phpadmin machen.

das einfügequery:

zuerst wird $info erzeugt:
$info = "LZ: ".$_POST['lz']." AZ: ".$_POST['az'];

dann feldname und feldwerte in arrays gepackt (hier stehen dann noch mehrere von denen, für jedes Feld halt eins:
$field_names_dd[] = "Info";
$field_values_dd[] = $info;

dann werden die strings zu der INSERT INTO verbunden:
$daten_dd="INSERT INTO mydb.dd (".implode(",", $field_names_dd).') VALUES (\''.implode('\',\'', $field_values_dd).'\')';

.implode erzeugt einen string aus allen arraywerten und fügt nur zwischen jeden array wert ein Komma

zum schluss noch die ausführung der abfrage:
mysqli_query($db_link, $daten_dd) OR die(mysqli_error($db_link));

 
penizillin
29-03-2007, 17:12 
 
jetzt setze doch das \n in die query und zeig mir sie (und nicht, wie sie zusammengestellt wird).

 
KriZa
29-03-2007, 17:26 
 
na das ist ja mein problem. wie macht man das richtig?
ich mach mal ein screenshot vom ergebnis

 
penizillin
29-03-2007, 17:28 
 
$daten_dd var_dump()'en, am besten schön mit <pre> tags drum herum.

und access kommt mit den umbrüchen oft nicht klar, wenns keine \r\n sind.
willst du es denn nun in access schön bunt haben, oder gehts dir um die anzeige in einer html seite?

 
KriZa
29-03-2007, 17:37 
 
es geht nur um die anzeige in access. habe jetzt mit \n probiert. in phpmyadmin habe ich einen umbruch, in access interpretiert er ihn scheinbar falsch
dort steht dann:
LZ: 96|AZ: 100
ich weiß nicht, wie ich dir das bild zukommen lassen kann...

dieses chr(13,10) (eigentlich 'chr(13) chr(10)') ist doch ein ascii zeichen. wie kann man in php ascii zeichen darstellen?

 
KriZa
29-03-2007, 17:38 
 
$daten_dd var_dump()'en, am besten schön mit <pre> tags drum herum.

das kenn ich nun noch gar nicht. was macht das und was machen die <pre> tags dort?

 
penizillin
29-03-2007, 17:40 
 
wenns nur um access geht, versuchs mit \r\n statt \n.

 
KriZa
29-03-2007, 17:46 
 
Jetzt sind wir auf der gleichen Wellenlänge gelandet! :D

Ich danke dir vielmals! Es hat geklappt. Sorry für die vielen Antworten und Fragen, aber ich hatte nicht ganz verstanden was du meintest.

DDAANNKKEE!! :p

Close!

- -

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