Temos pavadinimas: WordPress, Shopify ir PHPFusion programuotojų bendruomenė :: input data+laikas trinti po...

Parašė Donatis07· 2011 Lap. 28 23:11:20
#1

sveiki,

iskilo klausimas del lenteles isvalymo po tam tikros datos ir valandos praejimo.

tarkim i laukeli input=text ivedu data ir laika tokiu formatu: 2011-11-11 11:00 (data, laikas)

duomenu bazeje si informacija yra isaugoma ir tinklapyje atvaizduojama faile vienas.php

iki siol viskas veikia kuo puikiausiai.
---
o dabar klausimas:

tarkim siandien yra 2011-11-11 (data) ir kai sueis 11:00 (laikas) kad sis irasas butu istrintas is duomenu bazes, kokios komandos man reiketu? kaip visa tai igyventinti?

Dekoju uz atsakymus.

Parašė avice· 2011 Lap. 28 23:11:10
#2

cronjob arba lankytoju online budu

Parašė Donatis07· 2011 Lap. 29 00:11:19
#3

lankytojai online pagal last_users_online nemanau, kad iseis, nes ten kazkaip kitaip skaiciuoja...
--
edit: taigi, kiek suzinojau, reikia kazkaip imti duomenis is db su select ir paskui tikrinti ar ta data nepraejo. jeigu koncerto data, laikas jau praejo, tuomet trinti irasa is db lenteles... bet dabar klausimas, kaip visa tai aprasyti...


Uzklausa, is kurios paima ir atvaizduoja visus duomenis:
$result = dbquery("SELECT * FROM ".$db_prefix."koncertai ORDER BY laikas ASC");

lenteleje koncertai yra tokie laukai:
id (int), laikas (varchar), vieta (varchar), bilietai (varchar)

Redagavo Donatis07· 2011 Lap. 29 23:11:28

Parašė Donatis07· 2011 Lap. 29 16:11:57
#4

up.

negi cia visiem taip jau sunku bent ant kelio uzvest? nebesuprantu...

Parašė Donatis07· 2011 Lap. 29 23:11:06
#5

lankytojai online pagal last_users_online nemanau, kad iseis, nes ten kazkaip kitaip skaiciuoja...
--
edit: taigi, kiek suzinojau, reikia kazkaip imti duomenis is db su select ir paskui tikrinti ar ta data nepraejo. jeigu koncerto data, laikas jau praejo, tuomet trinti irasa is db lenteles... bet dabar klausimas, kaip visa tai aprasyti...


Uzklausa, is kurios paima ir atvaizduoja visus duomenis:
$result = dbquery("SELECT * FROM ".$db_prefix."koncertai ORDER BY laikas ASC");

lenteleje koncertai yra tokie laukai:
id (int), laikas (varchar), vieta (varchar), bilietai (varchar)

Parašė avice· 2011 Lap. 29 23:11:38
#6

if(laikas < dabartinis laikas) {
Trina irasa
}else{
Perka bilieta
}
jei nori php tai ryt parasysiu , beto kokiu formatu saugo data

Redagavo avice· 2011 Lap. 29 23:11:55

Parašė Donatis07· 2011 Lap. 29 23:11:02
#7

avice parašė:
if(laikas < dabartinis laikas) {
Trina irasa
}else{
Perka bilieta
}
jei nori php tai ryt parasysiu , beto kokiu formatu saugo data

na su if as suprantu, bet kaip apibrezti ta dabartini laika? kokia funkcija panaudot, kad ji atitiktu toki formata: 2001-01-01 11:00?

Parašė bruzgis· 2011 Lap. 30 00:11:42
#8

date("Y-m-d H:m")

Parašė avice· 2011 Lap. 30 00:11:19
#9

mktime ir time funkcija
ir tikrink pagal stampa

Parašė Donatis07· 2011 Lap. 30 01:11:53
#10


$pasenes= $data['laikas'] < date("Y-m-d H:m");
if ($pasenes) {
 
} else {
  echo"<tr>
    <td class='tbl1' width='25%'>".$data['laikas']."</td>
    <td class='tbl1' width='25%'>".$data['vieta']."</td>
	<td class='tbl1' width='25%'>".$data['bilietai']."</td>
    <td class='tbl1' width='25%'><a href='".$PHP_SELF."?func=del&delid=".$data['id']."'>".$locale['ctbs024']."</a> | <a href='".$PHP_SELF."?func=edit&editid=".$data['id']."'>".$locale['ctbs023']."</a></td>
  </tr>";
}

cia lyg ir viskas veikia, praejusio laiko nerodo.
o kaip dabar parasyt uzklausa kuri istrintu pasenusi irasa is db?
bandziau daryt su sita:

$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas='$pasenes'");
bet niekas nesigauna... ;/

Redagavo Donatis07· 2011 Lap. 30 01:11:41

Parašė bruzgis· 2011 Lap. 30 01:11:24
#11

$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < 'NOW()'");
jei nesuveiks

$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < '".date("Y-m-d H:m")."'");

Redagavo bruzgis· 2011 Lap. 30 01:11:59

Parašė Donatis07· 2011 Lap. 30 01:11:37
#12


$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < 'NOW()'");
su situo neveikia



$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < '".date("Y-m-d H:m")."'");
su situo istryne visus irasus :D net ir tuos kurie buvo ivesti gruodzio men :D


----
edit:

pagaliau isejo padaryt :) parasiau tiesiog viena eilute pacioj pradzioj ir nereikejo jokiu if.

$istrinam_pasenusius = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < '".date("Y-m-d H:i")."'");


o dabar prie to paties dar vienas klausimas...
pastebejau, kad iejus i puslapi kur yra talpinama visa informacija is db lenteles koncertai (cia pat ir trynima idejau), kol puslapio neperauni informacija nera istrinama. nors... ji yra istrinama, bet kol neperkrauni puslapio ji vistiek rodoma...
tai gal butu galima dar kaip nors nesunkiai padaryti toki dalyka, kad nereiketu puslapio perkrauti, o tiesiog iskart butu matoma informacija jau be pasenusiu irasu?

P.S. dekui chipass uz uzvedima ant kelio (buvo beda su date funkcija - minutes apsiraso i raide, o ne m (m - menesis)) http://php.net/manual/en/functio... :)
P.S.S. dekui avice uz bandyma pagelbeti.
abiem +11 ;]

up ^ dar apie ta viena klausima noreciau isgirsti jusu pasisakymus.

Redagavo Donatis07· 2011 Lap. 30 03:11:55

Parašė Donatis07· 2011 Lap. 30 02:11:33
#13

krc niekas man ten nesigauna... ;/ jau uz** pradejo...

galit kas nors padaryt? prasau...

Parašė Donatis07· 2011 Lap. 30 03:11:10
#14


$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < 'NOW()'");
su situo neveikia



$result = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < '".date("Y-m-d H:m")."'");
su situo istryne visus irasus :D net ir tuos kurie buvo ivesti gruodzio men :D


----
edit:

pagaliau isejo padaryt :) parasiau tiesiog viena eilute pacioj pradzioj ir nereikejo jokiu if.

$istrinam_pasenusius = dbquery("DELETE FROM ".$db_prefix."koncertai WHERE laikas < '".date("Y-m-d H:i")."'");


o dabar prie to paties dar vienas klausimas...
pastebejau, kad iejus i puslapi kur yra talpinama visa informacija is db lenteles koncertai (cia pat ir trynima idejau), kol puslapio neperauni informacija nera istrinama. nors... ji yra istrinama, bet kol neperkrauni puslapio ji vistiek rodoma...
tai gal butu galima dar kaip nors nesunkiai padaryti toki dalyka, kad nereiketu puslapio perkrauti, o tiesiog iskart butu matoma informacija jau be pasenusiu irasu?

P.S. dekui chipass uz uzvedima ant kelio (buvo beda su date funkcija - minutes apsiraso i raide, o ne m (m - menesis)) http://php.net/manual/en/functio... :)
P.S.S. dekui avice uz bandyma pagelbeti.
abiem +11 ;]

up ^ dar apie ta viena klausima noreciau isgirsti jusu pasisakymus.

----
edit2:

viskas veikia. dekui dar karta.

Redagavo Donatis07· 2011 Lap. 30 18:11:14