Jump to content
php.lv forumi

legalizeme

Reģistrētie lietotāji
  • Posts

    11
  • Joined

  • Last visited

Posts posted by legalizeme

  1. nu labi. workaround`u atradu.

    tajā brīdī, kad ieraksts tiek veidots, papildus iepriekšējā postā aprakstītai tabulas struktūrai ir vēl pievienotas divas kolonnas - 1) id kā primary key un 2)isLast kā "boolean", kurš ierakstu insertojot būs vienāds ar "1".

    tas nozīmē, ka, pirmoreizi insertojot visus datus, visiem ierakstiem defaultā isLast ir vienāds ar true=1.

    Datuma kolonnu pēc idejas var likvidēt kā tādu (ja nav nepieciešama datuma info saglabāšana un vēlāka attēlošana)

    tātad - pirmo reizi safetchojot datus un insertojot tabulā - visi ir "pēdējie" dati.

    safetchojot datus otro reizi var gadīties, ka kādas vērtības nevajag insertot datubāzē, jo, piemēram, vienādas - (nosacīta optimizācija un space saglabāšana)

    līdz ar to - tās vērtības, kurām otrajā reizē ir jā-inserto jaunas vērtības klāt - vecajām-iepriekšējām vērtībām isLast jānomaina uz false=0 (ar insert on duplicate palīdzību zinot id ar datuma palīdzību), savukārt jaunajām rindām isLast ir true=1, jo tie ir pēdējie safetchotie dati.

    trešo reizi insertojot tabulā tiek atrastas visas unikālas rindiņas ar isLast ir true jeb 1 - ja otrajā reizē netika insertotas, tad tām būs tikai viens ieraksts un to isLast būs vienāds ar true=1, savukārt ja otrajā reizē tika insertotas, tad tām būs divi ieraksti - pirmās reizes ieraksta isLast = 0 (caur iepriekšaprakstīto insert on duplicate), un otrās reizes insertošanas isLast=1.

     

    problem solved. partly.

  2. Struktūra apmēram šāda:

     

    -------------

     

    vecs,A,x

    vecs,A,y

    vecs,A,z

    vecāks,A,x

    vecāks,A,y

    vecāks,A,z

    ļotiJauns,B,x

    vecāks,B,y

    ļotiJauns,B,z

    tikpatvecs,C,x

    šausmīgvecs,C,x

    -------------

     

    un vajag - rezultātā -

    ----------------

    vecs,A,x

    vecs,A,y

    vecs,A,z

    ļotiJauns,B,x

    vecāks,B,y

    ļotiJauns,B,z

    tikpatvecs,C,x

    ----------------

     

     

    select * from table

    where date=(select max(date) from table)

    atgriež tikai "ļotiJauns" ierakstus.

     

    select * from table

    group by LielaisBurts

    neatgriež mazosBurtus

     

     

    kā sagrupēt tā, ka katrs pāris (A,x, A,y, A,z.... C,x, Cy...) parādās distinkti un kā jaunākais pēc vecuma?

  3. pa forumu meklēju pēc keyworda. neatradu.

     

    problēmas apraksts:

    phpinfo(); uzrāda, ka short_open_tags ir off, lai gan php.ini tas ierakstīts kā on. kā tas tā var būt...

     

    moš ar php5.2.1 nava vērts vēl ķēpāties? (vai varbūt man nava vērts ķēpāties ar php.. :D )

  4. Tā. izdomāju savādāku stratēģiju. izveidoju mapi, kurā atradīsies faili no 1.txt līdz 99.txt un ar ciklu (if (file_exists(fails))) varēšu nolasīt vienu failu pēc otra un izveidot kopējo masīvu. Faila nosaukums ir - punktu skaits, ar cik ir uzminēts skaitlis, un iekš tā atradīsies laiks||vārds. Tātad ciklā tiek paņemts fails, nolasīts saturs un sakārtots pēc pirmā elementa - laika (timestamp). Laiks arī strādā kā unikāls id katram vārdam, tā kā laiks man caur formu vislaik līdzi nāk, tad pie haiskoru izvades var hailaitot attiecīgo ierakstu vai sameklēt piešķirto vietu kopējā masīvā. Bet tas tiek izdarīts iekš kopējā masīva, kurš satur no 1 - 99 failu saturu, sakārtotu pēc timestamp.

    Varbūt nesakarīgi, bet nu ja kāds iedziļinājās, moš saprata.

  5. nesapratīšu - kā var uztaisīt lapas ar reģistrācijas lietām un citām fīčām, bet faila lielumu propertijos apskatīties nejēdz... un vēl es nesaprotu - kur komati pazūd... var izklausīties pēc offtopika, bet te ir iepīta daļēja atbilde uz jautājumu!

  6. Doma taisīt highscores skaitļa minēšanas spēlei. Viss ir okidoki, līdz brīdim, kad jānolasa highscores. Spēli beidzot txt doķī ierakstīts tiek lietotāja vārds un laiks, kā arī - reizes, ar cik atminēts skaitlis. Formāts apmēram tāds:

    Kods:

    laiks|vārds|reizes

     

     

    es saprotu, ka varu sakārtot no šādām rindiņām sastāvošu masīvu vai nu pēc laika vai nu pēc reizēm (ar reverse_array). Bet - nevaru izprast - vai ir iespējams sakārtot gan pēc reizēm primāri, gan pēc laika (jaunāks vispirms..) sekundāri..

    Vēlreizīt - praktiskā doma - kas man ir un kā man vajaga: Kods:

     

    ir šitā:

    2435243534|Jānis|4

    2455454545|Elmārs|4

    2454534534|Durnis|2

     

    vajaga:

    2454534534|Durnis|2

    2455454545|Elmārs|4

    2435243534|Jānis|4

×
×
  • Create New...