MYSQL-Tabelle mit PHP Abfrage

  • #1
T

thforster

Mitglied
Themenersteller
Dabei seit
26.03.2002
Beiträge
21
Reaktionspunkte
0
Moin!

Ich sitze hier mit einem Problem (jedenfalls für mich).

Ich habe eine MYSQL Datenbank aus welcher ich mit einer Abfage eine Variable bilden will.
Eigentlich kein Problem, nur sind in der entsprechenden Tabelle verschiedene Werte angegeben welche abhängig von einer bestimmten Anzahl sind.
Das sieht so aus:
.....g_1;g_10;g_20;g_30;g_40;g_50....
Das Bedeutet: das Einzelgewicht abhängig von der Anzahl (nicht proportional und nicht alle Felder mit Inhalt).
Wie kann ich nun das Einzelgewicht bei einer bestimmten Anzahl emitteln?
Sollte die Tablelle vielleicht die Tabelle so ändern dass die Mengen 1, 10, ..., 50 ebenfalls in ein Datenfeld eingetragen werden?
.....m_1;m_2;m_3;m_4;m_5;m_6;g_1;g_2;g_3;g_4;g_5;g_6....
Und wie sollte dann eine zuverlässige Abfrage bezogen auf die in einem Formular eingegebene Anzahl aussehen?

Vielen Dank für Eure Mühe
thforster
 
  • #2
Hi

Wenn ich dich richtig verstanden habe sollte das so aussehen.

Tabelle: abc
Code:
+-----------------------+------------------------+
|  anzahl mediumint(5)  |  gewicht mediumint(5)  |
+-----------------------+------------------------+
|  10                    |   5                     |
|  20                    |  12                    |
|  ..                    |  ..                     |
+-----------------------+------------------------+

SELECT  gewicht FROM abc WHERE anzahl=20

Gruß, Michael
 
  • #3
Nicht ganz mehr oder weniger so:
Code:
#
# Tabellenstruktur für Tabelle `xyz`
#

CREATE TABLE xyz (
  art_id tinyint(4) NOT NULL default '0',
  art_nr tinyint(4) NOT NULL default '0',
  art_text tinyint(4) NOT NULL default '0',
  art_m_1 tinyint(4) NOT NULL default '0',
  art_m_2 tinyint(4) NOT NULL default '0',
  art_g_1 tinyint(4) NOT NULL default '0',
  art_g_2 tinyint(4) NOT NULL default '0',
  PRIMARY KEY  (art_id)
) TYPE=MyISAM;

#
# Daten für Tabelle `xyz`
#

INSERT INTO xyz VALUES ('',127,'',1,10,100,127);
INSERT INTO xyz VALUES (1,127,'',1,50,10,127);

Das wäre dann die zweite Version welche wahrscheinlich die bessere ist da die Staffelungen pro Artikel unterschiedlich sein können.

Gruß, thforster
 
  • #4
Hi

Sehe ich das richtig, dass du pro Artikel zwei Mengen mit zugehörigem Gewicht angeben willst?
Das solltest du dann über eine zweite Tabelle machen:
art_id
menge
gewicht

Dann kannst du pro Artikel beliebig viele Mengen angeben.
Primary index wäre (art_id, menge)

Abfrage erfolgt über SELECT .. FROM xyz LEFT JOIN mengen USING (art_id) WHERE xyz.art_id=xx AND menge=10

Gruß, Michael
 
  • #5
Hi

PS: Bei deiner Spaltendefinition solltest du bei den Numeric Feldern noch unsigned hinzufügen und tinyint(4) gibts nicht, denn bei unsigned geht der nur bis 255, also keine vier stellen.

Gruß, Michael
 
  • #6
Du meinst also ich sollte in der Tabelle nur jeweils eine eine Spalte Menge und Gewicht erstellen und dann die verschiedenen Staffelungen über den Primärschlüssel zuweisen?
Wäre es nicht besser zusätzlich mit der Artikelnummer zu arbeiten?
Ich glaube auf nen Freitag kriege ich das nicht mehr in mein Hirn rein. ???

thforster
 
  • #7
Hi

Doch du benutzt in beiden die art_id.

In der ersten um jede art_id zu beschreiben, also mit nr und text.
in der zweiten um jeder art_id mehrere mengen zuzuordnen.
nur wenn man einer art_id mehrere mengen zuordnet, identifiziert sie den Datensatz ja nicht mehr eindeutig, daher musst du die Menge mit in den Primary Key aufnehmen.

Siehe hier:
http://ffm.junetz.de/members/reeg/DSP/node6.html#SECTION03240000000000000000

Gruß, Michael
 
  • #8
Erst einmal vielen Dank!

Ich werde das ganze mal in Ruhe ausprobieren und mich dann am Montag nochmal melden.
Mal sehen was ich da so über's Wochenende zusammen kriege.

Also denn bis dann, und nochmals vielen Dank!

thforster
 
  • #9
Also die Geschichte mit den Tabellen hat ganz gut geklappt.
Eigentlich nur logisches Denken.

....wem es halt gegeben ist. ???

:)Also dann vielen Dank!!! :)
thforster
 
Thema:

MYSQL-Tabelle mit PHP Abfrage

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.839
Beiträge
707.962
Mitglieder
51.491
Neuestes Mitglied
haraldmuc
Oben