mex Posted May 10, 2009 Report Share Posted May 10, 2009 (edited) Tātad man ir neliela problēmiņa. Es taisu MLM (Multi Level Mārketing) sistēmu, kuras mērķis ir taisīt lielu piramīdu no lietotājiem. Es gribu lai ir 3 lietotāji zem lietotāja, kurš tos 3 ir uzaicinājis, respektīvi tie 3 lietotāji zemākajā līmeni, atkal var savākt kats pa 3 lietotājiem utt. Tik tālu viss ir vienkārši. Katrs lietotājs saņem naudu ko ir iemaksājis kāds no lietotājiem kas ir 12 līmeņus zem viņa (piramīdā tas ir 12 rindas zem tā lietotāja) Vēl joprojāms viss ir vienkārši. tagad sākas grūtākais (izdomāt kā veidot piramīdas struktūru) vajadzētu tā, lai būtu viena liela piramīda no lietotājiem, kura nemainītu savu lietotāju atrašānās pozīciju pat pēc tam, kad ir izdzēsts kāds no lietotājiem kkur piramīdas vidū un tā vietā (tajā pašā pozīcijā) ir piereģistrējies jauns lietotājs. Mana ideja: jauna mysql tabula ar nosaukumu "piramīda", kurā ir iekšā tādi stabiņi -------------------------------------- | lietotājs | rinda | kolonna | -------------------------------------- | wormy | 1 | 1 | | heart | 2 | 1 | | kemito | 2 | 2 | | polar | 2 | 3 | | baronz | 3 | 1 | utt, bet tad es izdomāju, ka bremzēs (reģistrācijas) brīdī kad rēķinās un skaitīs kur piramīdā tu atradīsies, ja tur būs vismaz 5 000 lietotāji :/ Tātad jautājums ir tāds: Kā uztaisīt piramīdas struktūru, lai traki nebremzētu un lietotāji nemainītu savu pozīciju piramīdā arī pēc dažu lietotāju dzēšanas un jaunu lietotāju reģistrācijas izdzēsto vietā ? Itkā likās, ka nav nekas grūts, bet reāli iebraucot tēmā, sāku domāt savādāk. Jau 4 dienas domāju kā izveidot šo te piramīdas struktūru, bet vēl joprojām nevaru tikt pie rezultāta :/ Cik tizli, pirmā reize, kad prasu citiem lai palīdz izdomāt izveides ideju, algoritmu. Ceru uz palīdzību P.S. Nevaicājiet, kas tas par projektu vai kko tml, nesakiet kritiku, jo reāli tas nebūs Latvijas projekts Edited May 10, 2009 by mex Link to comment Share on other sites More sharing options...
worm Posted May 10, 2009 Report Share Posted May 10, 2009 php/mysql nav parocīgs, lai apstrādātu datus, kas ir rekursīvi, ja vien tu nekesho iegūtos rezultātus... man darbā priekš viena projekta tika algots speciāls čalis, kas uzkodēja c++ standalone daemonu, kas izveido koka struktūru un apstrādā viņu... sql reāli ir tikai storage un tiek izmantots lai nolasītu datus palaižot daemonu kā arī veicot izmaiņas Link to comment Share on other sites More sharing options...
mex Posted May 10, 2009 Author Report Share Posted May 10, 2009 C++ šajā gadījumā nederēs :/ reāli šitai firmai būs pieejams tikai web hostings un tur tik ar mysq un php, bet domāju, ka ar php ar kkā norm var visu sarēķināt bet kā ? Link to comment Share on other sites More sharing options...
ANALGINS Posted May 11, 2009 Report Share Posted May 11, 2009 moshk der shada ideja (neesmu nekads lielais sapratejs no visa bet ideja radas) piemeram registrejas peteris ar tiem rinas/kolonas cipariem 332 un tu uztaisi ka to ciparu (pedejo kas registrets) noglaba kada vieta, kuru izmantos pie nakamas registracijas, bet tas nekadi neatrisinas to fiichu lai cits ienjemtu dzesto vietu, tur jadoma kas dinamisks butu manuprat.. Link to comment Share on other sites More sharing options...
mex Posted May 11, 2009 Author Report Share Posted May 11, 2009 Vispār ideja nav slikta. Domāju, ka to dzēsto lietotāju aizvietotšanu arī varētu tamlīdzīgi uztaisīt, ka kkur noglabā dzēsto lietotāju pozīcijas ciparus un reģistrējoties vnk tiek izmantoti šie cipari un izdzēsts dzēstā lietotāja pozīcija nu redzēs vai kkas sanāks Link to comment Share on other sites More sharing options...
X ID Posted May 11, 2009 Report Share Posted May 11, 2009 (edited) Tak pieliec vienkārši vēl vienu kolonu, deleted, default 0. Dzēšot lietotāju, nedzēs viņu, bet laukā delete ieliec 1. Nekas, nekur napazudīs. EDIT: Un, protams, attiecīgi nočeko pie ielogošanās, etc vai deleted!=1 Edited May 11, 2009 by X ID Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted May 11, 2009 Report Share Posted May 11, 2009 Katram lietotajam ir norade uz vina parent lietotaju ar indeksu. Tadejadi tu viegli varesi atrast visus kada bernus 1maja limeni. Tad, kad kads kaut ko iemaksa, tad izej pa visu 12limenu koku no lejas uz augsu un katram iedod pa naudinai. Katram glaba vina dzilumu, lai nebutu katreiz jarekina no jauna. Ka kads var ielist vidu cita vieta? Nu lai ari ka tas nav svarigi. Vienkarsi uzmet flagu izdzests, bet reali nedzes lauka. Beefs Link to comment Share on other sites More sharing options...
mex Posted May 11, 2009 Author Report Share Posted May 11, 2009 (edited) Beef, to ko tu iepostoji, es nebīju prasījis jo reāli to jau biju izdomājis, vnk tā piramīda mani samulsināja :/ , bet pēdējais teikums ir tas pats ko X ID rakstīja X ID, paldies Edited May 11, 2009 by mex Link to comment Share on other sites More sharing options...
mex Posted May 14, 2009 Author Report Share Posted May 14, 2009 Man toč laikam kkas iet sviestā, vai arī patiešām šis ir grūts, bet ir jauna problēmiņa :/ damn, nekad nebiju tik tizli čakarējies ;( reku ir neliels fragments no piramīdas (5 līmeņi) tur ir iekrāsots "3:2". pieņemsim, ka no tā 3:2 vajag atrast visus lietotājus kas ir zem viņa vismaz 2 līmeņus zemāk, t.i. vajadzētu lai iekrāsojas automātiski arī apviktie lauciņi, bet vajag tā lai viņš pats to izrēķina, un nomaiot to iekrāsojumu no 3:2 uz piem 3:1, atkal iekrāsotos visi kas ir zem tā 3:1 Nevaru izdomāt kā lai izrēķina tos zemākos lietotājus :/ Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted May 14, 2009 Report Share Posted May 14, 2009 (edited) ko nozime tie divi cipari 1:1? Lieotaja numuri or what? aaaa lol tu esi bots tev tacu teicu ka jataisa bet tev jau viss skaidrs protams muuahhaha tatad tu maki atrast vienam limenim uz augshu, bet ne visiem? PIRMKART - sitas ir svarigi - padoma, vai tev tas VISPAAR ir vajadziigs. un OTRKAART - te ir divi varianti, ka atrast kada lietotaja visus zemlietotajus, bet vienigais atrais veids ir taisit multidimensionalu tabulu - lietotajs - limenis - lietotajs - limenis tabula svers nemera daudz, toties velak meklesana bus atra. Beefs Edited May 14, 2009 by 0xDEAD BEEF Link to comment Share on other sites More sharing options...
mex Posted May 14, 2009 Author Report Share Posted May 14, 2009 ko nozime tie divi cipari 1:1? Lieotaja numuri or what? Tie cipari ir lietotāja vieta rindā un līmenis piramīdā aaaa lol tu esi bots tev tacu teicu ka jataisa bet tev jau viss skaidrs protams muuahhaha nu nez vai tiešām esmu bots, bet es taisīju tā kā biju izdomājis. Ja jau tu esi tik gudrs, tad pasaki kāpēc es vienkārši nenokačāju kādu jau gatavu MLM sistēmu un neizmantoju to, bet taisu pats savu ? tatad tu maki atrast vienam limenim uz augshu, bet ne visiem? Man nevajag meklēt līmeņus uz augšu PIRMKART - sitas ir svarigi - padoma, vai tev tas VISPAAR ir vajadziigs. un OTRKAART - te ir divi varianti, ka atrast kada lietotaja visus zemlietotajus, bet vienigais atrais veids ir taisit multidimensionalu tabulu - lietotajs - limenis - lietotajs - limenis tabula svers nemera daudz, toties velak meklesana bus atra. 1. nē, nemaz man tas nav vajadzīgs (vai tad citādi es būtu prasījis kādus jautājumus ?) 2. patiesībā ir vairāk nekā 2 varianti kā to varētu izdarīt, bet palasi vēlreiz manu pēdējo otrā jautājuma postu (kurā tas jaut. acīmredzot bij šausmīgi apslēpts) un secini, vai esi uz to vispār atbildējis ? Es ar to jautājumu biju domājis, lai kāds palīdz man izdomāt matemātisku izteiksmi. bet nu jau vairs varat necensties atbildēt uz manu super apslēpto jautājumu "kā lai izrēķina tos zemākos lietotājus?", jo izdomāju jau to vienkāršo izteiksmi, kuru es kā muļķis pirmstam nejēdzu izdomāt (dziļumam pieskaita 1 un vietas skaitu reizina ar 3, iegūst "9:3"; no vietas skaita atņem 1, iegūst "8:3"; no vietas skaita atņem 2, iegūst "7:3" utt.) protams saīsinot un nedaudz modificējot šīs darbības, tas nemaz nav gari un ar "while" varēšu automātiski atrast pārējos līmeņus, bet tas viss nenotiks tā, ka visu laiku to pārrēķinās un tāpēc domāju es iegūšu ātrumu bez ļoti lielas čakarēšanās. bet beef [RESPECT] tev, par palīdzēšanu un centies mani lūdzu nenorakt Link to comment Share on other sites More sharing options...
0xDEAD BEEF Posted May 14, 2009 Report Share Posted May 14, 2009 Ja godigi, tad nu es vairak vispar nesaprotu, ko tu gribi izdarit... kada matematika? pricom te? tas tacu ir datubazes... :/ Link to comment Share on other sites More sharing options...
mex Posted May 14, 2009 Author Report Share Posted May 14, 2009 Taisīju postu te, jo pirmais jaut. bija vairāk uz programmēšanas pusi, bet otro vnk iemetu tepat blakus (nezinu kāpēc) To, ko gribēju izdarīt, jau izdarīju Link to comment Share on other sites More sharing options...
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now