Jump to content
php.lv forumi

Devs

Reģistrētie lietotāji
  • Posts

    53
  • Joined

  • Last visited

Posts posted by Devs

  1. Tā kā php par nožēlu nav case sensitive sintakse ar striktiem noteikumiem, tad nākas izdomāt šos noteikumus pašiem - tā saukto coding style, ievērojot visus upper case, lowercase, camelcase un noteikumus, kā veido mainīgo, konstanšu, funkciju, klašu un failu vārdus.

    Manuprāt, labi būtu izmanto ZendFramework ieteikumus šai sakarā - vismaz cik tas attiecas tieši uz koda vispārīgo pareizrakstību:

    http://framework.zend.com/manual/en/coding-standard.html

     

    Tā kā php ir valoda, ko vēlas un izmanto arī iesācēji, lai taisītu te jau daudzkārt pieminētās weblapas par 200-300 Ls, tad loģiski, ka daudzi uzdevumi, tai skaitā sintakse un koda pareizrakstība tajā ir ievērojami atviegloti, taču tas netraucē arī php programmēt ļoti augstā līmenī ar striktu pareizrakstību, kā jau tas augsta līmeņa programmēšanas valodai piedienas! :)

  2. Vēl gribēju atzīmēt, ka tās īpašības var pierakstīt klāt cik vien vajag un kādas vajag, piemēram, tabulai spēle var pievienot vēl vienu lauku spēles rezultāts vai arī, ja runa iet par savāktiem, punktiem, tad SpelesUzvaretajaRezultats un SpelesZaudetajaRezultats. Arī turnīrus var saistīt ar sezonām, gadiem un arī līgām, izveidojot, ja nepieciešāms attiecīgas tabulas un pievienojot attiecīgos FK tabulai Turniri, vai arī papildus lauku.

     

    Pāris piemēra selekti priekš manis aprakstītā modeļa:

     

    1. dabūt turnīra ar ID=8 uzvarētāja vārdu un uzvārdu:

     

    SELECT s.Vards, s.Uzvards FROM Speletaji s, Speles sp INNER JOIN SpeluSpeletaji ss ON ss.SpelesID=sp.SpelesID AND sp.NakamasSpelesID=0 AND ss.SpeletajaID=s.SpeletajaID WHERE sp.TurniraID=8

     

    2. dabūt visas spēles no turnīra ar ID=8, kuras ir uzvarējis spēlētājs ar ID=21. (piemērā, tabula Speles ir izveidots lauks Nosaukums, kas satur spēles nosaukumu):

     

    SELECT sp.Nosaukums FROM Speles sp WHERE sp.UzvaretajaID=21 AND sp.TurniraID=8

     

     

    Ja ievēro db teoriju, principā visu var izdarīt! :)

  3. Triviāls uzdevums!

     

    Pieņemu, ka Tev ir:

    * spēlētāji

    * spēles

    * turnīri

     

    Spēlētāji - tabula Speletaji ar, piemēram sekojošiem laukiem:

     

    SpeletajaID - PK

    Vards

    Uzvards

    Vecums

    ... citas īpašības

     

     

    Turnīri - tabula, kur saglabāt turnīrus

     

    TurniraID - PK

    Nosaukums

    Limenis

    ... citas īpašības

     

     

    Spēlētāju un turnīru saisttabula (pieņemot, ka viens spēlētājs var būt vairākos turnīros un otrādi):

     

    TurniraSpeletaji

     

    ID - PK

    TurniraID

    SpeletajaID

     

     

    Spēļu tabula - katra spēle var piederēt tikai vienam turnīram, savādāk nespēju iedomāties, kas tā būtu par spēli, kas attiektos uz diviem turnīriem:

     

    Speles

     

    SpelesID - PK

    TurniraID - FK

    UzvaretajaID - tā kā princips ir uzvarētājs viens vai neizšķirts, tad šeit ievada tā spēlētāja ID, kurš uzvarēja. Ja bija neizšķirts, var ievadīt šeit 0

    NakamasSpelesID - ja notiek play-off, tad no divām spēlēm izriet viena - šeit var ievadīt nākamās spēles ID - ja šī spēle būs 1/4 fināls, tad nākamās spēles ID būs izrietošā pusfināla spēle. Satiksies UzvaretajaID.

    NorisesVieta

    Laiks

    ... citas īpašības

     

     

    Spēļu un spēlētāju saisttabula - viens spēlētājs var spēlēt vairākas spēles, savukārt, vienā spēlē var spēlēt vairāki spēlētāji - šī tabula būs nemitīgi atjaunojama un papildināma:

     

    SpeluSpeletaji

     

    ID - PK

    SpelesID

    SpeletajaID

     

     

    P.S. Ja nepieciešamas komandas, var uztaisit tabulu Komandas, uz kuru ID būs tabulai Speletaji lauks KomandasID - FK. Viens spēlētājs, tak nevar piederēt vairākām komandām. Attiecīgi pēc tam ar spēļu un turnīru tabulām saistas nevis spēlētāju tabulas ieraksti, bet komandu tabulas ieraksti.

     

    FK - foreign key

    PK - primary key

     

    Viss!!! Visa māksla! Atliek tikai pareizi sarakstīt pieprasījumus un viss kārtībā! :)

×
×
  • Create New...