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)
Abfrage mit LIKE (Ist das Blödsinn was ich mache oder doch ok?) [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
brauche Webseite ideal für Vereine und Firmen
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Abfrage mit LIKE (Ist das Blödsinn was ich mache oder doch ok?)


 
Thommy
19-01-2002, 00:02 
 
Hallo,

um euch mein Problem zu verdeutlichen erkläre ich es am besten mal an einem Beispiel:

User können verschiedene Angaben zu Ihrer Person - so zum Beispiel Fremdsprachenkenntnisse:
Die Fremdsprachenkenntnisse sind wählbar in einem select-menu (und es könne mehrere angeklickt werden)
Das dabei entstehende array $sprache wandele ich in eine Zeichenkette um, welche so aussieht:

-1-,-4-,-7-

Die Zeichenkette schreibe ich nun in das Feld sprache meine user-Tabelle
Die Zahlen bezeichnen dabei jedesmal ein Fremdsprache

Abfragen welcher user, welche Sprache kann mache ich per LIKE - Operator

z.B. WHERE sprache LIKE '-1-' OR sprache LIKE '-5-'

Meine Frage nun ist:

Sollte ich die Sprachkenntnisse lieber in eine extra Tabelle schreiben um somit nicht mit like arbeiten zu müssen und Zeit bei derAbfrage zu sparen (Die Tabelle könnte relativ gross und gut besucht werden)?

oder habt Ihr noch ne andere Idee?

Dánke und Gruss


Thommy

 
JoelH
19-01-2002, 00:25 
 
naja ich würde eine tabelle mit den Sprachen als Tabellen Name nehen, soviele Sprachen gibts ja nicht, dort würde ich dann die User_ID's eintragen. das ist wohl sinnvoller denke ich.

 
hand
19-01-2002, 09:11 
 
Ich stimme JoelH absolut zu. Durch Verlagerung in eine eigene Tabelle als Relation zwischen Fremdsprache und Person hat mehrere Vorteile.

Applikationen haben es ansich, daß ihre Funktionalität setig weiterentwickelt wird, durch ein relationales Konzept stellt baut man sich nicht unnötige Hürden.

Durch eine Sprachen_Member Relation ist es auf einfache Weise Möglich mit SQL-Mitteln erweiterte Auswertungen beispiel betreffend Anzahl x-sprachiger Member zu ermitteln. Wieviel Member können mehr als eine Sprache und wenn wieviele, etc.

Wird eine neue Sprache hinzugefügt, muß keine Source geändert werden.

Die Datenstruktur wird leichter administrierbar.

: Durch eine Tabelle


language
+--------+---------+--------------------+
| langid | langs | langl |
+--------+---------+--------------------+
| 0 | de | deutsch |
| 1 | en | englisch |
| 2 | fr | französisch |
| 3 | es | spanisch |
| 4 | po | portugiesisch |
| 5 | pl | polnisch |
+--------+---------+--------------------+

language_member
+--------+----------+-------+
| langid | memberid | deflt |
+--------+----------+-------+
| 0 | 1 | Y |
| 1 | 1 | N |
| 2 | 1 | N |
| 0 | 2 | Y |
| 0 | 3 | N |
| 1 | 3 | Y |
+--------+----------+-------+


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:51 Uhr.