Jump to content
php.lv forumi

Problēmas ar datiem...


reiniger

Recommended Posts

Sveiki.

 

Vajadzigs padoms priekš labākā risinājuma. Nu tā.

Noliktava A vajag pārkraut kastes uz noliktavu C preces. Ar datu bāzēm ir tā ir tabula_A, tabula_B un tabula_C.

 

Tabulā A ir kā noliktavas tabula. No tabulas A es starptabulā B varu izveidot listu kādas preces un cik daudz bus jāpārvieto uz tabulu C.

 

Vienlaicīgi skatoties uz pārvietotajiem datiem ir redzems ja tabula_A ir 10 vienības es starptabula B pārvietoju 3 vienības, tad man View popup logā preču daudzums radas (ar select) tabula_A.10 - tabula_B.3 un radas ka ir atlikuši 7 vienības. Ja pogu nospiež pārvietot tad tiek no tabulas_B ieraksti pārvietoti uz tabulu_C.

 

saucamais view vietā man ira ka vienību skaits rādas tabula_a.vien-tabulas_b.vien-tabulas_c.vien, lai view logā redzetu cik vienības man noliktavā ir pieejams.

 

Problēma rodas tad ja kāds preci ievieto starptabulā bet to nepārvieto uz tabulu_c. tad View varianta visu laiku ņemas nost starptabulas B vērtiba.

 

Varētu jau pie katras View popup loga atveršanas taisit truncate tabula_B, bet to nevaru darit jo sistēmu var lietot vairāki cilvēki vienlaicigi. tad kādam var pazust dati no tabulas_b ko pārvietot.

 

Kāds varetu būt ieteiktais risinājums!

 

varetu uztaisit pogu close kuras laika vienalga visi pievienotie ieraksti tabula_b tiktu izdzēsti kaut vai pēc lietotaja ID lai nepazustu citiem dati, bet tā kā view man ir kā popup tad es domāju ka vienalga standartā nospiedies loga close nevis manejo pogu close. ta ka neliekas labs risinajums.

Link to comment
Share on other sites

Izklausās pēc tādas kā preču rezervācijas. Nu arī dabā lielākoties rezervācija strādā zināmu laiku - stundu, dienu vai vairāk, pēc tam resurss nonāk atpakaļ kopējā čupā un ir atkal visiem pieejams. Tātad viena no iespējām varētu būt šai tabulā B pielikt klāt laiku, kad prece rezervēta un kurš to izdarījis (lietotājs vai sesija - atkarībā no nepieciešamības un iespējām). Ja lietotājs ir to logu vienkārši aizsitis ciet, aizgājis dzert kafiju vai viņam nokāries kompis, tad viņš šo rezervēšanas laiku neatjaunos un attiecīgi jāpieliek klāt periodisks procesiņš, kas ik pa kādam brīdim (piem reizi stundā, vai biežāk, cik nu vajag) dzēš no tabulas B pārāk vecos ierakstus.

 

Gints Plivna

http://datubazes.wordpress.com

Link to comment
Share on other sites

šāds variants man ar bija ienācis prāta ar saistībā ar laiku.

Bet pēc šāda scenārija.

 

Klients paņem pievienot preci no 10 paņem visus 10, vienvārdu sakot izdomajis ka kaut ko ir sajaucis un aizver logu. uzreiz atverot View logu viņam vairs šī prece nepārādās ja tikai datu bāze tie iztīrīta ik pa 10 min.

 

Jo man nerāda ierakstut kur vienību skaits ir 0.

 

šādā scenārijā katru reizi lietotajam nāksies gaidit 10 min un man liekas ka tas nava smuki ja dienā tā piemēram 3x jadara tad darbs uz 30 min vizmas iekavējas. Laiks ir nauda :)

 

Kā butu ar variantu ka starptabulā_B tiktu vel saglabats lauks ar lietotaja ID un tad katru reizi kad vēlas atvert View logu lai pārvietotu preci butu ta ka vispirms atveras logs View_del (kura izdzēstu visus ierakstus uz user ID) un tad redirect uz View lapu.

Link to comment
Share on other sites

Nu te es redzu 2 variantus:

1) ja lietotājam nejauši aizsitas logs un viņš pats pēc tam to ver vaļā atkal - tad progza pārbauda, kas ir rezervējis un ja tas ir viņš pats, tad rāda viņa esošo rezervāciju skaitu un stāvokli.

2) ja lietotājam nejauši aizsitas logs un kāds cits pēc tam uzreiz grib dabūt to preci, tad ir apmēram tā kā senos laikos, kad uz preces uzlikta lapiņa "rezervēts" un citi to kādu laiku neņem nost. Vēl labāk būtu, ja uz lapiņas būtu uzrakstīts arī kurš rezervējis - tad citi varētu akūtas nepieciešamības gadījumā viņam zvanīt un prasīt - vai tev tiešām vajag? To varētu arī tikpat labi nosimulēt šādā sistēmā, kur Jānim pie iespējām rezervēt piena pakas parāda, ka var dabūt 5 gab, bet 3 jau ir rezervējis Andris un 5 Anna. Attiecīgi, ja Jānim traki vajag vairāk nekā 5, tad viņš zvana Andrim un/vai Annai un prasa vai tev tiešām to vajag?

 

Var protams arī ielādējot lapu sākumā rezervācijas dzēst, bet tad to relatīvi droši var darīt tikai tekošajam lietotājam, jo citu lietotāju rezervācijas (vismaz jaunās) dzēst ārā būtu galīgi nekorekti. Pie tam tādā gadījumā, ja nejauši kaut kas aizsitas ciet, visas rezervācijas atkal jāsāk no sākuma.

 

>Jo man nerāda ierakstut kur vienību skaits ir 0.

Nu pieņemu, ka to var koriģēt un ja visas preces ir tikai rezervētas, bet nav pārvietotas, tad to kaut kā speciāli arī rādīt, ar piemēram, to augšminēto info, kurš rezervējis.

Edited by Gints Plivna
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...