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)
Mehrer Werte in ein Feld der Tabelle? [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mehrer Werte in ein Feld der Tabelle?


 
bastian
26-01-2004, 11:56 
 
Hallo,

habe ein automatisches BenachrichtigungsSystem,
wo Email und Kategorie eingetragen werden,
wenn sich der Benutzer für eine Kategorie angemeldet hat.

Jetzt ist es aber so, das für jede Kategorie in der Datenbanktabelle eine neue Zeile mit email und Kategorie-ID angelegt wird.

Kann mir jemand verraten, ob und wie es möglich ist,
das alle Kategorie-IDs in nur ein Feld (getrennt durch ein Komma o.ä.)
eingetragen werden.

Nochmals zur Veranschaulichung:

So ist es momentan

Emailadresse.......# Kategorie-ID
#############################
email@freemail.de # 2
email@freemail.de # 5
email@freemail.de # 7
usw.

Und so sollte es sein

Emailadresse.......# Kategorie-ID
#############################
email@freemail.de # 2, 5 ,7


Vermute das es mit nem Array zutun haben muss,
bin aber weniger der Crack, ein Tipp oder Beispiel
wäre supi!

Gruss
bassek

 
XGremliN
26-01-2004, 12:02 
 
Ist es wirklich so schwer einen String zusammenzubauen?

Einfach die verschiedenen Kategorien in einen Array laden und diesn mit implode() zu einem String verbasteln.

Dann das ganze in die DB schreiben.

 
bastian
26-01-2004, 12:08 
 
Hi,
danke erstmal für Deinen Tipp - und ja, es ist so schwierig für jemanden
der weniger den Plan hat.
Freut mich aber, das Du es anscheinend kannst.
Gruss
Bassek

 
wahsaga
26-01-2004, 12:40 
 
Original geschrieben von bastian
Jetzt ist es aber so, das für jede Kategorie in der Datenbanktabelle eine neue Zeile mit email und Kategorie-ID angelegt wird.
und das ist auch gut so [tm].

so hast du deine datenstruktur also halbwegs ordentlich normalisiert.

Kann mir jemand verraten, ob und wie es möglich ist,
das alle Kategorie-IDs in nur ein Feld (getrennt durch ein Komma o.ä.)
eingetragen werden.
das ist nicht sinnvoll.

 
bastian
26-01-2004, 14:16 
 
Hallo wahsaga,

wenn Du mir jetzt noch sagst, warum es nicht sinnvoll ist,
mehrere Werte in ein Feld zu schreiben, bin ich halbwegs glücklich.

Dachte ich würde somit Performance sparen, denn was, wenn sich 500 Benutzer für 20 Kategorien anmelden, dann hab ich ganz fix 10.000 Zeilen in der Tabelle...

Bitte um Antwort und danke jetzt schonmal für die Erlauchtung,
Gruss aus Essen,
bassek

 
derHund
26-01-2004, 15:13 
 
wenn Du mir jetzt noch sagst, warum es nicht sinnvoll ist,
mehrere Werte in ein Feld zu schreiben, bin ich halbwegs glücklich.


was spricht dagegen, alle informationen in eine zelle zu schreiben? würde bestimmt enorm speicherplatz und performance bringen ... nicht auf dich bezogen, aber ich krieg jedesmal nackenfell, wenn ich jemanden sehe, der mehrere werte in ein feld packen will ...

der sinn, alles einzeln abzulegen, liegt afaik dadrin, daß du alles mit allem verbinden kannst und somit mit einmal abgelegten daten alle darin enthaltenen strukturen darstellen kannst, ... nur durch ein query ... naja, laß es dir von nem dbms-experten erklären ... wenn du alle in einen zelle packst, kannst du viel schwieriger: löschen, selecten, updaten whatever ....

- -

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