į ON yra rašomos sąlygos, pagal ką sujungiamos lentelės.

Ten galima ir nieko nerašyt arba viską nukelt į WHERE sekciją.

Jeigu nežinai pagal ką sujungti konkrečias lentas, tai kažkur kažką praleidai....

Tai tavo duotoje užklausoje jau yra pavyzdys. (-;

Na aš klausiau koks ryšys, o tu man pasakoji ilgą istorija (-;

įsivaizduoju, kad ryšys yra 1:1, todėl galima prie posts lentos prijungti done lentą per LEFT JOIN. Kaip jau yra padaryta su kitom lentom ir papildomai iš done lentos filtruoti vartotojo_id, kuriam duomenys yra atvaizduojami. O į SELECT laukus nelabai svarbu ką pridėsi. Jeigu tame lauke bus NULL, vadinasi niekas nieko nebalsabo, nesakė ačiū ar dar ko nedarė. O jeigu bus duomenys, vadinasi vartotojas ten jau "apsiformino".

O koks yra ryšys tarp posts lentelės ir tarp done? 1:1, 1:N, N:N?

Nu tai tu prijunk tą done lentelę prie pirmos užklausos ir turėsi tada jau visus reikiamus duomenis viename rezultate.

O kaip tikrinti, tai:

if(<tikrinimo sąlyga>) ...

Nu faktas, kad nesugebi tinkamai paaiškinti. Vadinasi bėda yra gal tame, kad neinai realiai, kaip turi veikti.

Galiu tik spėti, kad dvi užklausos(pakrauti visus įrašus, ir tik tuos kuriuos reikia) gali būti apjungtos per LEFT JOIN į vieną užklausą. Ir tokiu būdu galima turėti visus įrašus plius, tų įrašų, kurių reikia, papildomi duomenys.

Antras dalykas, čia kažkoks neišbaigtas sakinys:

Ir jeigu egzistuoja tokia eulutė kur: user_id 5 post_id 36

Viskas aišku, ir užklausa panaši į teisybę.

Klausimas yra - kas tau neaišku, kas nesigauna?

Violeta wrote:
minde wrote:
Violeta wrote:

Idiegiau LAMP i Ubuntu 12.04.
Ka daryti su file:///var/www/index.html ?

O ką nori daryti?

Noriu kurti puslapi.

Na tai kurkit (-;

Violeta wrote:

Idiegiau LAMP i Ubuntu 12.04.
Ka daryti su file:///var/www/index.html ?

O ką nori daryti?

MySQL'as, kaip beveik visos kitos sistemos, tokių standartinių funkcijų, suskaičiuoti darbo valandas tarp dviejų datų neturi. Taigi šiuo atveju, tu suskaičiuoti kiek darbo valandų turi jau prieš įrašydamas į antrą stulpelį darbo pabaigos datą. Ir darbo valandas reikėtų irgi papildomai užsisaugoti naujame - trečiame stulpelyje.

O kaip skaičiuoti, tai gali pats galvoti. Esu kažkada daręs tą skaičiavimą, kur įvertinamos ir švenčių dienos, bet tai yra ilgas algoritmas ir aš jo dabar neturiu (programuota su C#). Gali internete pasižiūrėti minčių:
http://stackoverflow.com/questions/5274 … -two-dates
http://forums.teradata.com/forum/databa … mp6-fields
http://chandoo.org/wp/2010/09/10/working-hours-formula/

Taip. Tik dėl tikrinimo: pirmo užkrovimo metu, tu į kliento pusę (JS) pasiimi ir užkrovimo (arba naujausio įrašo) timestamp. Tada kai per AJAX užklausinėsi naujų duomenų, tu tą išsisaugotą timestamp irgi perduosi, tada php/mysql pusėje tikrini naujesnių įrašų (didesnis timestamp negu atsiųstas per AJAX).

Nu tai saugok įrašų atnaujinimo timestamp ir kliento pusėje turėk užkrovimo timestamp, tada per ajax'ą paduosi užkrovimo timestamp, serveryje liks paimti tik įrašus, kurie yra atnaujinti vėliau, negu pas klientą įvyko užkrovimas.

Na tai vietoj mysqldump naudok: mysql --execute='SELECT stulpelis_1, stulpelis_2 FROM lentele'

Nu tai cronjob'as kviečia import_script.sh:

#Trinam duomenis:
mysql -u local_user -pslaptazodis lokali_db -e "TRUNCATE lentele"

#1 db
mysqldump --no-create-info -h remote_server_1.lt -u remote_user_1 -pslaptazodis remote_db_1 lentele | mysql -u local_user -pslaptazodis lokali_db

#2 db
mysqldump --no-create-info -h remote_server_2.lt -u remote_user_2 -pslaptazodis remote_db_2 lentele | mysql -u local_user -pslaptazodis lokali_db

Nu čia tik mintis. Sintaksę tiksliai ir kitus niuansus turi pasitikrinti.

Realiai nereikia jokio PHP net. Viską gali padaryt per komandinę eilutę su mysqldump ir mysql programomis.

O dėl "užlaužimo" tai priklausys kiek ten yra duomenų ir kaip dažnai daryti "sinchronizaciją".

36

(6 replies, posted in Visa kita)

enkodinta: nuo angl. žodžio encoded - reiškia, kad duomenys yra pateikti naudojant kažkokias taisykles - koduotę, tai gali būti tiek tekstiniai duomenys (šiuo atveju dažniausiai kalbama apie nelotyniškų raidžių koduotes) tiek media (video / audio).

statinis: nuo angl. žodžio static, dažniausiai vartojamas programose nurodytiklasių atributų(kintamųjų) ir metodų(funkcijų) būsenas. šiuo atveju statinis atributas/metodas reiškia, kad jie gali būti naudojami nesukūrus klasės objekto.

O kuo skiriasi $usr abiem atvejais?

38

(5 replies, posted in PHP)

Sukurti temą ir pačiam rasti atsakymą yra 100 kartų geriau negu laukti kol kas nors kitas padės.

... SET taskai = taskai + 10

žiūrint iš PHP pusės, tai praktiškai visus veiksmus galima nustatyti, ar jie pavyko ar ne, ar buvo kokia klaida ar buvo kažkoks time-out.

Dėl lokalaus serverio problemų, tai yra monitoringas, tiek vidinis, tiek išorinis, bet čia jau nebe PHP reikalas, o serverio administratoriaus ... (-;