Avaleht
uus teema   vasta Tarkvara »  WWW »  Mõtlemise abi sql tabelite suhtes märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 16.05.2009 18:55:46 Mõtlemise abi sql tabelite suhtes vasta tsitaadiga

Selline asi mille üle olen pikalt mõelnud ja testinud.
Nimelt kui mul on kategooriate tabel milles on 10 kategooriat ja kasutajanime column'i. Iga kasutaja liitumisel
sisestatakse sinna tema kasutajanimi. Seejärel saab ta neid 10 tabelit kasutada andes neile omalt poolt vajaminevad kategooriate nimed.

Probleem tuleb aga siis kui on vaja sisestada teisse tabelisse väärtused.
Väärtuste tabelis on ka 10 column'i.
Süsteem käib nii, et lehel on input field kuhu kasutaja sisestab väärtuse ja selle kõrval on drop down menu.
Viimasest valib kasutaja enda poolt eelnevalt sisestatud kategooria ja sisestab väärtuse input kasti ja saadab andmed tabelisse.

Tulemus peaks olema kuidagi nii, et

Kasutaja tehtud kategooria1
väärtus 1
väärtus 2
väärtus 3

Kuidas selline asi lahendada? Et pärast saaks seda ka kuvada nii nagu näide on.
Võimalik, et sai natuke keeruline seletus aga üritasin võimalikult lihtsaks teha põhimõtte.
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
troglodyte
Kreisi kasutaja
troglodyte

liitunud: 09.08.2002




sõnum 17.05.2009 03:01:43 vasta tsitaadiga

On segane tõesti, samas aeg siin hiline. Ei saa aru, mida sul täpsemalt 10 on - kategooriaid, veergusi või tabeleid?
Pane alustuseks kirja ka praeguste tabelite täpne struktuur ja seosed nende vahel.

_________________
ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 34
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 17.05.2009 04:11:50 vasta tsitaadiga

Ma ei saanud päris täpselt aru, niiet ma oletan, et asi on selles, et kasutajal on 10 kategooriat, ja neid saab ise nimetada?

Kaks või kolm tabelit, vastavalt sellele palju sul kasutajate infot talletada vaja on. Kolme tabeliga käiks asi nii:

<Kasutajad>

KasutajaID  |  KasutajaNimi  <optional:  | KasutajaParool  |  KasutajaMisiganes>


<Kategooriad>

KasutajaID  |  KategooriaNumber  |  KategooriaNimi  |  KategooriaID


<Väärtused>

KategooriaID  |  Väärtus



Kuidas kasutada?
>Kasutajad>
KasutajaNimi - self-explanatory.
KasutajaID - unique väli, iga kasutaja jaoks

<Kategooriad>
KasutajaID - võetakse <Kasutajad> tabelist
KategooriaNumber - 1-10. Kategooria järjenumber. See kas sa tekitad iga kasutaja lisamisega kohe 10 tühja välja või mudid neid dünaamiliselt on su enda vaba valik.
KategooriaNimi - jällegi self-explanatory, kasutaja poolt määratletud.
KategooriaID - unique väli, et kategooriaid eristada

<Väärtused>
KategooriaID - võetakse <Kategooriad> tabelist
Väärtus - kasutaja poolt sisestatud väärtus


Näide:
Kasutaja Madis. Luuakse automaatselt kümme kategooriat. Madis on ebatark ja kõik kategooriate nimed on "KatX" kus X on 1-10.

<Kasutajad>

KasutajaNimi  |  KasutajaID
Madis         |  1234


<Kategooriad>

KasutajaID  |  KategooriaNumber  |  KategooriaNimi  |  KategooriaID
1234                1                  Kat1          12341
1234                2                  Kat2          12342
1234                3                  Kat3          12343
1234                4                  Kat4          12344
1234                5                  Kat5          12345
1234                6                  Kat6          12346
1234                7                  Kat7          12347
1234                8                  Kat8          12348
1234                9                  Kat9          12349
1234                10                 Kat10         12350


<Väärtused>

KategooriaID  |  Väärtus
12341             Blah1
12342             Blah2
12343             Blah3
12344             Blah4
12345             Blah5
12346             Blah6
12347             Blah7
12348             Blah8
12349             Blah9
12350             Blah10


Ehk sai piisavalt arusaadav... kuigi ma pole kindal et sa päris sellist lahendust soovisid.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 17.05.2009 12:50:12 vasta tsitaadiga

Suured tänud nii põhjaliku vastuse eest.
Kõik on õige peale väärtuste tabeli. Iga kategooria alla tuleb mitu väärtust.
See pole vist tehtav aga põhimõte peaks olema midagi sellist:


Kategooria 1 | Kategooria 2 | Kategooria 3

  Väärtus32      Väärtus 32      Väärtus 36
  Väärtus32      Väärtus 78      Väärtus 34
  Väärtus52      Väärtus 63      Väärtus 34
  Väärtus32      Väärtus 22      Väärtus 38
  Väärtus72      Väärtus 32      Väärtus 32

Et igal kasutajal oleksid oma nimetatud kategooriad. Ja, et sinna alla saaks sisestada palju väärtuseid.

Näiteks siis kasutajal on kategooriad

Õun | Pirn | Tomat

2tk 5tk 1tk
4tk 3tk 6tk

jne, et saaks ka arvutada kokku summa näiteks mitu pirni on.
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
neros
HV Guru
neros

liitunud: 26.11.2003




sõnum 17.05.2009 14:38:47 vasta tsitaadiga

Miks ei ole?

Muudame lihtsalt väärtuste tabelit


VäärtuseID  |  KategooriaID  |  Väärtus


VäärtuseID on unique, kasutamiseks nt hidden lahtrina, et oleks teada millist me muuta tahame pärast.


VäärtuseID  |  KategooriaID  |  Väärtus
580              12342           blah2
581              12342           blah22
582              12342           blah222
583              12343           blah3


Etc etc.

Ja kui vaja vastavad lahtrid tabelist välja saada..

SELECT VäärtuseID, Väärtus FROM Väärtused WHERE KategooriaID = '12342'



VäärtuseID  |  Väärtus
580            blah2
581            blah22
582            blah222


Väga pealiskaudne seletus minu poolt küll, aga kui asjale õieti pihta sain siis peaks nii olema.
Kommentaarid: 48 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 40
tagasi üles
vaata kasutaja infot saada privaatsõnum
redenergy
HV veteran
redenergy

liitunud: 22.03.2004




sõnum 17.05.2009 17:53:32 vasta tsitaadiga

Suured tänud thumbs_up.gif . Eks muudan siis kõik oma senised tabeli aretused ümber ja proovin tööle saada icon_wink.gif

Hetkel selline probleem
Võtan kasutajate tabelist KasutajaID ja sisestan selle Kategooria tabelisse
mysql_query("INSERT INTO kategooria (KasutajaID) SELECT (KasutajaID) FROM (kasutajad) WHERE (kasutajanimi = '$kasutajanimi')")

aga kuidas ma selle käsu sisse saaksin kirjutada rea, et kirjutaks kategooria tabelisse "KategooriaNumber VALUES (1)"

Tegin endal elu keeruliseks, panin selle koodi variable'sse ja korras
Kommentaarid: 30 loe/lisa Kasutajad arvavad:  :: 0 :: 1 :: 9
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  WWW »  Mõtlemise abi sql tabelite suhtes
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.