PHP.EE FOORUM   
Nimi:   Pass:   Mäleta mind! 
   Teemad | php.ee esilehele | registreeri | Märgi kõik teemad loetuks | #php.ee Skype vestlus | RSS
UUS TEEMA  OTSI  Lehekülgi: 1
phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: om88 2008-04-08 13:48:21
Kuidas phpMyAdmin's lisada uut rida järjekorranumbriga soovitud kohta ehk siis vahele, et selle võrra teistel mis jäävad peale uut rida järjekorranumber muutuks vastavalt suuremaks?

Näide:

id | jrk | asi
1, 1, miilits
2, 2, kgb
3, 3, tuletõrje
4, 4, kiirabi

Et kui ma soovin lisada uue rea järjekorranumbriga 2, et kuidas siis järgnevate "tuletõrje" ja "kiirabi" järjekorranumber vastavalt suureneks?
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: raiko 2008-04-08 13:54:32
TSITEERITUD:
Kuidas phpMyAdmin's lisada uut rida järjekorranumbriga soovitud kohta ehk siis vahele, et selle võrra teistel mis jäävad peale uut rida järjekorranumber muutuks vastavalt suuremaks?

Näide:

id | jrk | asi
1, 1, miilits
2, 2, kgb
3, 3, tuletõrje
4, 4, kiirabi

Et kui ma soovin lisada uue rea järjekorranumbriga 2, et kuidas siis järgnevate "tuletõrje" ja "kiirabi" järjekorranumber vastavalt suureneks?
milleks seda vaja on, sellist asja niisama juba ei tee ja ma ei näe ka vajadust, seleta milleks vaja ja leiame teise lahenduse
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: om88 2008-04-08 14:06:13
Veebilehel järjestatakse kindla järjekorra järgi, ehk siis "jrk" järjestuses. Kui on soov kas siis järjekorda muuta millegil või lisada uus rida andmebaasi mingisse kindlasse kohta järjekorras, siis tahaks seda teha võimalikuylt lihtsalt, et ei peaks käsiti tabelis "jrk" numbreid muutma
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: Keegi_Teine 2008-04-08 14:15:37
Hoia järjekorra number muudest andmetest eraldi tabelis
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: r 2008-04-08 14:19:45
TSITEERITUD:
Hoia järjekorra number muudest andmetest eraldi tabelis

mis see annab? saab veel join'ida?
ma kirjutaks rea id kah eraldi tabelisse.
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: raiko 2008-04-08 14:22:05
TSITEERITUD:
Veebilehel järjestatakse kindla järjekorra järgi, ehk siis "jrk" järjestuses. Kui on soov kas siis järjekorda muuta millegil või lisada uus rida andmebaasi mingisse kindlasse kohta järjekorras, siis tahaks seda teha võimalikuylt lihtsalt, et ei peaks käsiti tabelis "jrk" numbreid muutma
ütle palju sul andmeid tabelis või tuleb, kas kasutajate sisestatud andmed?

RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: om88 2008-04-08 14:24:27
Tegelikult on 2 tabelit, milles ühes on andmed ja teine on menüü jaoks. Minu varasem näide ongi menüü tabel. Ja selles ID on andmete tabeli ID.

Ja mis see annab kui järjekorranumbri jaoks oleks eraldi tabel?

Et siis oleks:

id | jrk
1, 1
2, 2
3, 3
4, 4

Id võib olla ka suurem number kuid jrk väiksem. Seega ma ei ole ikka saanud oma küsimusele vastust, et kuidas lihtsamalt ehk käsureaga teha tabelis järjekorra muudatusi.
RE: phpMyAdmin\'s uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: /me 2008-04-08 14:26:12
Enne uue rea sisestamist käivitad päringu:
UPDATE tabel SET jrk = jrk + 1 WHERE jrk >= $uus_jrk;

$uus_jrk on siis selle uue rea järjekorranumber
RE: phpMyAdmin\\\'s uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: algajaju 2008-04-08 14:35:33
TSITEERITUD:
Enne uue rea sisestamist käivitad päringu:
UPDATE tabel SET jrk = jrk + 1 WHERE jrk >= $uus_jrk;

$uus_jrk on siis selle uue rea järjekorranumber
see on jah hea idee,

ise sai kunagi menüü jaoks tehtud: panin järjekorranumbri 10,20,30
et siis 10 tagant ja kui tahtsin teiseks panna midagi juurde tulid jrk numbrid
10,11,20,30 igavesti lihtne, ma mudugi olin kindel et vahest 10 aitab, niipalju menusi vahele ei tule juurde
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: Keegi_Teine 2008-04-08 14:39:23
TSITEERITUD:

Ja mis see annab kui järjekorranumbri jaoks oleks eraldi tabel?


Midagi, ei mõtlend oma soovitust korralikult läbi. sry
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: ptr 2008-04-08 14:42:57
unikaalne id ja järjekorra määraja peaks juba põhimõtte pärast eraldi olema. kui tabeli järgi menüü tehakse siis seda enam, id-sid muutes muutuvad ju urlid ja näiteks otsimootoritest tulevad lingid lähevad valeks
RE: phpMyAdmin\'s uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: om88 2008-04-08 14:51:32
TSITEERITUD:
Enne uue rea sisestamist käivitad päringu:
UPDATE tabel SET jrk = jrk + 1 WHERE jrk >= $uus_jrk;

$uus_jrk on siis selle uue rea järjekorranumber


see on tõesti lahe võte :) töötas kõik väga hästi
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: /me 2008-04-08 14:52:20
TSITEERITUD:
unikaalne id ja järjekorra määraja peaks juba põhimõtte pärast eraldi olema. kui tabeli järgi menüü tehakse siis seda enam, id-sid muutes muutuvad ju urlid ja näiteks otsimootoritest tulevad lingid lähevad valeks
Kes id-de muutmisest rääkis?

Ja milline põhimõte nõuab, et järjekord oleks eraldi tabelis?
Kui üks punkt võib olla menüüs mitmes kohas korraga, siis on jah eraldi tabelit vaja, aga muidu pole sel mingit mõtet.
RE: phpMyAdmin\\\'s uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: zeratul 2008-04-08 15:31:08
TSITEERITUD:
see on jah hea idee,

ise sai kunagi menüü jaoks tehtud: panin järjekorranumbri 10,20,30
et siis 10 tagant ja kui tahtsin teiseks panna midagi juurde tulid jrk numbrid
10,11,20,30 igavesti lihtne, ma mudugi olin kindel et vahest 10 aitab, niipalju menusi vahele ei tule juurde


Sellised eeldamised (antud juhul siis see eeldus, et üle kümne elemendi kunagi vahele ei topita) kipuvad alati kurjasti kätte maksma.
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: Keegi_Teine 2008-04-08 16:36:31
Jah, selle asemel, et öleda "eeldasime", peaks kasutama formaalsemat väljendust: "analüüs näitas, et" ja asi korras :oP
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: rtfm 2008-04-08 20:09:34
alati peaks numeratsioon kulgema 1-n isegi kui teil on tegu menüüstruktuuriga siis iga astme järjestus võika alata 1-n ja uuendamine käiks lihtsalt eelmise või järgmise elemendi järjekorranumbri vahetamisega, uue lisamisega viimaseks maksimaalse järjekorranumbri suurendamisega , kuskile vahele või algusesse lisamisel järgmiste järjekorranumbrite suurendamisega ja kui tõsta üle õhe sammu, siis järgnevate positsioonid uuesti arvutada

seda saab teha ysqli variabletega , kolm queryt peaks max vaja olema kõikide tingimuste katmiseks
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: axelpaan_ 2008-04-08 20:36:16
menüüde struktuuri kirjeldamiseks soovitan uurida ka "Nested Set" meetodit. Ta pole küll nii lihtne kui tavaline id/parent, aga enamus tegevusi saab teha ühe kiire päringuga.
RE: phpMyAdmin's uue rea lisamisel vahele, teiste järjekorranumbrid muutuvad
Postitaja: juula julge 2008-04-08 21:28:54
TSITEERITUD:

mis see annab? saab veel join'ida?
ma kirjutaks rea id kah eraldi tabelisse.

joinida saab ka sama tabeli aliasena

Leheküljed: 1

©2002-2013 Martin Rebane & PHP.ee kaasautorid
  0.090313911438