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)
Select über Spalten und Zeilen [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Select über Spalten und Zeilen


 
fabs23
22-08-2004, 16:46 
 
Hallo zusammen ....

mein Problem: Ich habe zwei Tabellen. Die eine hat den Namen "ids" und die andere "eigenschaften".

Die Tabelle "ids" enthält die Spalte "kundennummer" sowie weitere 210 durchnummerierte Spalten. In einer Zeile steht dann die kundennummer und für jede nummerierte Spalte eine 1 oder eine 0.

Die Tabelle "eigenschaften" enthält eine Spalte "id", in der diese 210 ids eingetragen sind und eine Spalte "Eigenschaften". Die Tabelle hat also 210 Zeilen.

Nun würde ich mir gerne alle Eigenschaften von den ids ausgeben lassen, bei denen in der Tablelle "ids" eine 1 steht.

Ist sowas möglich?

Viele Dank für Eure Hilfe
fabs

 
Abraxax
22-08-2004, 16:53 
 
sowie weitere 210 durchnummerierte Spalten das ist aber nicht dein ernst. oder?

 
fabs23
22-08-2004, 16:58 
 
Doch, warum nicht?

 
wahsaga
22-08-2004, 17:17 
 
Original geschrieben von fabs23
Doch, warum nicht?
weil das verdammt stark nach einem verkorksten datendesign klingt.

beschäftige dich mal mit dem stichwort "normalisieren".

 
fabs23
22-08-2004, 17:23 
 
Nein, tut es nicht. ;) Das hat schon alles seine Richtigkeit, ist ja aber eigentlich auch unabhängig von meiner eigentlichen Frage.

 
Quickborner
22-08-2004, 17:45 
 
doch, tut es wohl.

fabs23, was du da beschreibst sind EXCEL-Arbeitsblätter, aber
sicher keine relationalen Tabellen in der 3. Normalform.

Glaub' uns das bitte.

Erst wenn du dazu bereit bist, kann ich dir weiterhelfen.

Du solltest bemerkt haben, daß hier auch Profis sitzen, die sich
kostenlos Zeit nehmen, Probleme zu analysieren.
Selten werden da jedoch Lösungen für jedes noch so verkorkste
Problem an den Latz geknallt, sondern vielmehr zum Nachdenken
animiert.


nice day
Quickborner
__________
Das 'S' in SQL steht für strukturiert.

 
fabs23
22-08-2004, 18:00 
 
Ich habe nur versucht, die Tabellenstruktur vereinfacht darzustellen, damit mein Problem ersichtlich wird. Aber wenn ich hier den Leuten nur unnötig die Zeit stehle, dann entschuldigt bitte meine Frage.

 
em-!x
22-08-2004, 18:50 
 
Warum sträubst du dich gegen ein einfacheres Datenbankkonzept?

Meinst du nicht dass eine Verlinkungstabelle sinnvoll wäre?
table usertoeigenschaft mit den Spalten id_nr und eigenschaft_id, in der abgespeichert wird, welche eigenschaften zu welcher ID gehören?

So wie du deine Tabelle geschrieben hast, ist das viel zu umständlich.

 
harakiri
22-08-2004, 18:51 
 
Oder lasst doch erstmal fabs23 erklären, warum/wofür er so ein Datenbank"konzept" gewählt hat ;).

Schieß los!

Gruß,
Chris

 
fabs23
22-08-2004, 19:15 
 
OK, dann erklär ichs jetzt mal, wie ichs hab.

Es geht um ein Kartenspiel.
Die eine Tabelle beinhaltet Karteninformationen (kartennummer, name der karte, werte, etc.).
Die andere Tabelle enthält als Spalten die Kartennummern (1-210) und als Zeilen die user, mit der jeweiligen Anzahl der Karten.

Was ich jetzt will ist, dass ich mir die Kartennamen, werte, etc. ausgeben lassen kann, bei denen die anzahl 0 ist.

Ich hoffe, dass es einigermaßen verständlich ist.

Danke.

 
fabs23
22-08-2004, 19:17 
 
PS: Ich bin für besser Konzeptvorschläge gerne offen.

 
harakiri
22-08-2004, 19:19 
 
Besser:

table cards (speichert die Karteninformationen)
================================================
card_id - Nummer der Karte
name - Name der Karte
value - Wert der Karte
property1 - Eigenschaft 1
property2 - Eigenschaft 2
propertyX - Eigenschaft X

table user (speichert die Besitzverhältnisse)
==============================================
username - Name des Users
card_id - Id der Karte die ein User besitzt
card_amount - Anzahl der Karten

 
fabs23
22-08-2004, 19:27 
 
Aber dann habe ich ja für jeden User im schlimmsten Fall 210 Zeilen. Bei einer großen Skalierung wird das unübersichtlich, oder nicht?

 
harakiri
22-08-2004, 19:29 
 
Nein, das ist doch der Sinn einer Tabelle...

man hat Spalten und Zeilen... Zeilen können gerne ins unzählbare gehen, aber Spalten sollten es nicht.

Simples Beispiel: Gästebuch-Einträge (Spalten: Id, Poster, Text, Überschrift; Zeilen: pro Eintrag wird eine Zeile angelegt...)

Gruß,
Chris

- -

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