Jump to content
php.lv forumi

black

Reģistrētie lietotāji
  • Posts

    421
  • Joined

  • Last visited

Posts posted by black

  1. Kavacky, pārnumurēt nemāku (piemēram, orderu tabula tiek sakārtota pēc kaut kāda preču daudzuma, nevis pēc datuma - kā izdomāt, kuram orderim jāraksta kurš nr pēc kārtas?)

     

    Grey_Wolf, kārtošana pēc timestamp derētu, ja man nebūtu jākārto arī pēc citām kolonām (orderu kārtas skaitlim jāsaglabājas arī šādā gadījumā)

    Par otro variantu - ja neizmanto locking, ir reālas izredzes, ka tiek ievietoti orderi ar vienādiem numuriem.

  2. Tas, ka viņš nav katram klientam atsevišķi. Piemēram, man orderu tabulā glabāsies divi orderi diviem klientiem:

     

    order_id order_nr client_id

    1 1 1

    2 2 1

    3 1 2

    4 2 2

     

    Klients grib redzēt ordera kārtas numuru SAVIEM orderiem, nevis orderu tabulai vispār. (Es patiesībā neglabāšu orderus, bet labāku piemēru nevarēju izdomāt)

  3. Pieņemsim, klients vēlas zināt pasūtījuma (order) kārtas numuru. Tā kā ir vēl citi klienti, tad MySQL auto_increment izmantot nesanāks. Kādi vēl varianti?

     

    Pašlaik doma ir aptuveni šāda:

    LOCK TABLE orders;
    SELECT COUNT(*)+1 FROM orders WHERE client_id=x;
    INSERT INTO orders (id, data) VALUES ($id, $something);
    UNLOCK TABLE orders;

  4. Javaskripā ir iespēja ik pēc noteikta laika izsaukt kādu funkciju (skat. setInterval()). Tajā funkcijā vienkārši ieliec AJAX POST requestu, kas saglabā to textarea vērtību. Man jau nu liekas, ka baigi elementāri.

  5. Man viss strādā ar šādu kodu. Ņem vērā, ka Tavā kodā tiek paslēpta visa forma, un pēc tam tiek parādīts formā esošais attēls (kas arī paliks paslēpts, jo forma nav redzama). Un, kā jau mefisto pareizi teica, forma tiek veiksmīgi nosubmitota, tāpēc vispār nekas var nerādīties.

     

    <head>
    <style>
    .hidden {display: none;}
    </style>
    </head>
    <body>
    <script language="javascript" type="text/javascript">
    
    <!--
    
    function startUpload(){
     document.getElementById('loader').className = '';	
      return false;
    }
    
    //-->
    
    </script>
    
    <form id='upload_form' enctype='multipart/form-data' action='#' method='POST' onsubmit='return startUpload();'>
    <img id='loader' class='hidden' src="http://www.google.lv/intl/en_com/images/logo_plain.png" />
    <input type="submit" value="Submit"/>
    </form>
    </body>

  6. ID nozīmē requesta numuru. Pirmkārt, Tu viņu meklē sesijas datos (vajag skatīties iekš $_GET), otrkārt, mainīgā nosaukums ir "_cba_request_id", nevis "id".

     

    Vispār jau iesaku neizmantot šo skriptu. Man vajadzēja viņu izlasīt 3 reizes, lai apmēram saprastu, kas notiek. Kods nav objektorientēts, tiek izmantoti kaut kādi stulbi prefiksi ("_"), švaka dokumentācija pašā kodā, bet mājaslapā dokumentācijas (gandrīz) vispār nav. Turies pa gabalu no tāda koda.

  7. Negribi taisīt otrādi - nevis lietotāju tabulā glabāt nākotnes laiku, bet gan lietotāju saraksta kverijā prasīt par pagātni?

     

    1) Lietotāju tabulā lauku nosauc par last_seen, tur pie katra requesta glabā time() (ja vispār gribi PHP laiku izmantot, nevis MySQL iebūvētos datumu tipus)

    2) SELECT kverijā ievelc visus tos lietotājus, kur last_seen > $tenMinutesAgo, kur $tenMinutesAgo ir time()-60*10

     

    Vienkārši būs mazliet vieglāk sekot līdzi lietotāju tabulai.

  8. andrisp apgalvoja, ka ar display: block "tiks sačakārēts renderings". Tāpēc norādīju, ka quirks modē (kuru visi bija spiesti izmantot, pirms popularitāti ieguva strict mode) img elementi jau bija block režīmā.

     

    Varbūt paskaidro, tieši kuru daļu no manis sacītā nesaprati. Man dažreiz ir problēmas ar izteikšanos, mēģināšu uzrakstīt saprotamāk.

  9. Quirks režīmā (ti, režīmā, kad HTML nav strict), lielākā daļa pārlūku parādīs attēlu kā block pēc noklusējuma [1]. Tātad, nekādu renderingu viņš nebojā. Ja inline elementā ievietosi block attēlu, tad viņš izstiepsies tikai attēla platumā (izmēģini!). Man nav iebildumu arī pret mefisto variantu, taču tas strādās tikai tad, ja attēla augstums ir lielāks par line-height [2]

     

    [1] http://www.quirksmode.org/css/quirksmode.html

    [2] http://www.brunildo.org/test/IMGinDIV.html

     

    Edit: izlaboju linku

  10. Tas ir normāli. Attēli pēc noklusējuma tiek attēloti kā inline elementi (teksts). Zem teksta parasti ir nedaudz vietas, kur attēlot speciālās zīmes (mīkstinājuma zīmes, piemēram, ļķņ, utt.). Īsumā - ja gribi, lai zem attēla nav 3px tukšums - rādi visus attēlus kā block elementus. Savā CSS failā norādi "img {display: block;}"

  11. Ja katram tekstam ir savs ID (lai arī vērtības dažās valodās vienādas), tad tādus tekstus var dot tulkot lietotājiem. Savukārt, ja ir tikai viens 'Login' un cipars, tad būtu sarežģītāk uztaisīt lietotāja interfeisu, kurā lietotājs varētu norādīt, ka, piemēram, submit pogai vajag atšķirīgu 'Login' tulkojumu. Un tad pēc tam būtu jāmaina arī kods (no __('Login') uz __('Login', 1)). Es jau iepriekš nevaru paredzēt, kurās valodās kādam tekstam būs vajadzīgi vairāki varianti, nekā angļu val.

  12. Tas jau ir mazliet sarežģītāk - tas, vai izmantot 1. vai 2. variantu ir atkarīgs no tulkojamās valodas. Tā kā laikam tomēr kaut kā nāksies pāriet uz STRING_034454. Tikai baigi negribas visus stringus tagad ar roku pārrakstīt.

×
×
  • Create New...