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)
einzelne Textfelder eines Datensatzes erweitern-ist das möglich? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
einzelne Textfelder eines Datensatzes erweitern-ist das möglich?


 
Ralf
09-01-2002, 00:08 
 
Hallo,

kann man eigentlich einzelne Textfelder eines Datensatzes durch Hinzufügen von Informationen erweitern? z.B. ich habe in einem Textfeld 'Beschreibung' den Text 'alles wird gut' stehen. Nun möchte ich zu diesem Text noch weiteren Text z.B. 'kommt darauf an hinzufügen'. Ist das Möglich? Mit dem Befehl update wird ja der ganze Text des Feldes ersetzt.

Gruß Ralf

 
KinNeko
09-01-2002, 02:51 
 
laut manual geht folgendes :
UPDATE table SET spaltenname=spaltenname+1
oder
UPDATE table SET spaltenname=spaltenname*2

ob das auch für Texte geht ist da nicht erwähnt..

 
Titus
09-01-2002, 20:07 
 
mysql_query ("insert into Tabelle (ID, Beschreibung) values (1, 'alles wird gut')");
mysql_query ("update Tabelle set Beschreibung=concat(Beschreibung, 'kommt darauf an') where ID=1");

s.a. mySQL-manual 6.3.2 String Functions (http://www.mysql.com/doc/S/t/String_functions.html)

 
Ralf
10-01-2002, 09:17 
 
Hallo ,

das funktioniert einwandfrei, aber ich glaube ich hab mein Problem etwas unpräzise formuliert: ich habe eine zentrale Datenbank (Mysql) in einem Intranet. Mehrere User können auf ein und diesselbe Tabelle 'Objekte' zugreifen. Die Tabelle hat u.a. das Feld 'Beschreibung', in welches die User über ein Formular und Input-Textfelder Text reinschreiben können. Schreibt z.B. User1 den Text 'alles wird gut' in das Feld 'Beschreibung'der zentralen DB und User2 den Text 'kommt darauf an', dann sollen beide Einträge in dem Feld 'Beschreibung' stehen. Das klappt auch alles mit dem concat - Befehl. Nun fügt User1 seinem Text 'alles wird gut' weiteren Text hinzu, z.B. 'ich hatte Glück' (denn der gesamte Text wird kumuliert ausgelesen aus einer anderen DB) und speichert dies in der zentralen Datenbank ab, dann wird mit concat alles wieder in die zentrale Datenbank gespeichert, also auch der erste Text 'alles wird gut' und dieser ist dann doppelt und bei weiteren Hinzufügen 3xfach, 4xfach usw. Dasselbe gilt für user 2. Ich hoffe ich habe mein Problem nun präzise genug formuliert. Gibt es hierfür eine Lösung? Mit dem Befehl update gehts nicht, da dann z.B. user2 die Einträge von user1 in der zentralen DB überschreibt im Feld Beschreibung.

 
Titus
15-01-2002, 22:55 
 
wenn du den Text schon per PHP anhängst, kannst du Dir das concat im mySQL natürlich sparen.

also

$q = mysql_query ('select Beschreibung from Tabelle where ...');
list ($textalt) = mysql_fetch_row($q);
$text=$textalt.$textneu;
mysql_query ("update Tabelle set Beschreibung=concat(Beschreibung, '$text')");

hängt natürlich mehrfach an.

Entweder du machst es per PHP:

$q = mysql_query ('select Beschreibung from Tabelle where ...');
list ($textalt) = mysql_fetch_row($q);
$text=$textalt.$textneu;
mysql_query ("update Tabelle set Beschreibung='$text');

oder per mySQL:

mysql_query ("update Tabelle set Beschreibung=concat(Beschreibung, '$textneu')");

und jetzt rat mal, welche Version nicht nur kürzer sondern auch schneller ist.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:24 Uhr.