reGative Posted February 24, 2010 Report Share Posted February 24, 2010 Visur pie ziņām un rakstiem norāda gan autoru, gan datumu un laiku, kad raksts/ziņa ir tapusi. Man tāds jautājums - kā ziņai līdzi pielikt arī datmu ar laiku, kad uzrakstīts šis raksts? Quote Link to comment Share on other sites More sharing options...
briedis Posted February 24, 2010 Report Share Posted February 24, 2010 Nu a kur glabājas tas datums un laiks? No turienes arī izvelc un attēlo... Quote Link to comment Share on other sites More sharing options...
reGative Posted February 24, 2010 Author Report Share Posted February 24, 2010 nekur. :D Formai nav nekādas datuma funkcijas. Quote Link to comment Share on other sites More sharing options...
briedis Posted February 24, 2010 Report Share Posted February 24, 2010 (edited) nekur. :D Formai nav nekādas datuma funkcijas. Par kādām formām tu te runā? Par pievienošanas? Nu i nafig, tad kad raksti kvēriju, kas liek datubāze ziņu, tur saglabā laika kolonnā time() vērtību un tas arī būs pievienošanas datums. Ja nav kolonnas, kur glabāt laiku, tad izveido to... Un vispār, kā es varu no tevis teiktā izsecināt, kas tev jau ir uztaisīts un kas nav. Rādi kodu un tabulu definīcijas. Edited February 24, 2010 by briedis Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted February 24, 2010 Report Share Posted February 24, 2010 Tie raksti kaut kur glabājas. Visticamāk MySQL datubāzē. Precīzāk sakot datu bāzes tabulā. Šai tabulai (ja nav) jāpievieno papildu lauks, kuru var nosaukt, teiksim, "datums". Lauka tips jānorāda kā DATETIME. Pie raksta ievietošanas norādīt, lai automātiski uzstāda šo vērtību vienādu ar NOW(). INSERT INTO tabula (lauks1, lauks2, datums) VALUES ('vertiba1', 'vertiba2', NOW()); Attiecīgi pie rakstu izvadīšanas vaicājumā, kas sadabū datus jānorāda, lai izsniedz arī lauka datums vērtību (vai ja esi uzrakstījis SELECT *... tad automātiski tiek izsniegtas visu lauku vērtības): SELECT lauks1, lauks2, datums FROM tabula WHERE...; un attiecīgi ar php līdzekļiem jāizvada šī vērtība: <?php echo 'Ievietots: ' . $rinda['datums']; ?> Quote Link to comment Share on other sites More sharing options...
reGative Posted February 24, 2010 Author Report Share Posted February 24, 2010 o, paldies tev. Un vajadzētu arī autoru, saprotu, ka tā pat kaut kā arī jātaisa, bet man useri ir vienā tabulā. Kā tad to izdarīt? Quote Link to comment Share on other sites More sharing options...
briedis Posted February 24, 2010 Report Share Posted February 24, 2010 Aleksej, domā viņam nebūtu vieglāt tikt galā ar int (kā unixtimestamp), nevis datetime? Es piem nekad nevaru īsti atcerēties to sasodīto sintaksi, kā uzrakstīt normāli datumu kvērija atalses nosacījumam... Quote Link to comment Share on other sites More sharing options...
Maris-S Posted February 24, 2010 Report Share Posted February 24, 2010 Viens no variantiem autoram arī izmantot papildus lauku, kurā insertojot ziņu liec klāt autora vārdu uzvārdu, vai arī lietotāja vārdu. Kā dabūsi pašu vārdu uzvārdu tur jau atkarīgs no kopējās sistēmas, iespējams ielogojoties lietotājam šī informācija ievietojas sesijā, tad var izmantot to. Vēl viens variants papildus laukā glabāt nevis vārdu uzvārdu, bet gan lietotāja identifikatoru, bet selectēt nāksies izmantojot joinus. Briedis, es pārsvarā neglabāju datumu kā timestampu, labāk saglabāt viņu ar now() datetime laukā un ja vajag dabūt ārā kā int, tad to izdaru atbilstoši vaicājumā un tad php pusē formātu var izveidot kādu vien php ļauj, parasti to daru izveidojot vienu funkciju, kas ļauj formātu nomainīt visai lapai vienlaicīgi. Quote Link to comment Share on other sites More sharing options...
Kemito Posted February 24, 2010 Report Share Posted February 24, 2010 Es nesapratu vai sapratu, mans teikums būtū šāds! Definēts mainīgais: $laiks = date("Y/m/d H:i:s",time()); Un tā arī attiecīgi kverijā iemetam "ēēēkšāā" to mainīgo vērtību! Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.