Cerere cod preluare vizitele din ziua anterioara

Aici adaugati Cererile sau Ofertele dv. de script-uri, proiecte website sau Traduceri.
MarPlo
Administratorul site-ului
Mesaje:4343

Cerere cod preluare vizitele din ziua anterioara

Salut
Nu am un astfel de cod facut, si nu exista o astfel de functie. Ci trebuie sa faci un script care inregistreaza intr-o baza de date numarul de vizite de azi; iar cand se trece la ziua urmatore, adauga numarul inregistrat intr-un "ieri" si incepe de la 1 pentru "azi".

MarPlo Mesaje:4343
De unde sa stie cineva sa-ti spuna cum sa faci daca nici nu stie ce script ai?
Daca nu tu ai facut scriptul si nu te pricepi, poti apela la cel care l-a facut.

MarPlo Mesaje:4343
Pune codul pe care l-ai facut pentru inregistrare si preluare vizite, si forma tabelului in care ssalvezi datele (daca e in mysql).

MarPlo Mesaje:4343
Poti sa pui coloana "data" de tip DATE (daca in ea salvezi data si timpul inregistrarii).
Apoi, pt numarul de vizite azi incearca cu acest Select:

Cod: Selectaţi tot

$sql ='SELECT COUNT(*) FROM vizite WHERE site="'.$id.'"' AND data = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 1 DAY)';
Iar pt ieri:

Cod: Selectaţi tot

$sql ='SELECT COUNT(*) FROM vizite WHERE site="'.$id.'"' AND data = DATE_SUB(CONCAT(CURDATE(), ' 00:00:00'), INTERVAL 2 DAY)';
- Informatii si exemple despre asta poti gasi pe internet la cautare: " mysql date yesterday ".

MarPlo Mesaje:4343
Inainte de a inregistra vizita, faci un Select prin care verifici daca acel ip a fost inregistrat in ziua curenta. Daca Select-ul nu returneaza nici un rand, aplici Insert.

Cod: Selectaţi tot

$sql ='SELECT id FROM vizite WHERE ip="'.$ip.'"' AND DATE(data) = DATE(NOW()) LIMIT 1';
$resql = $conn->query($sql);
if($resql->num_rows <1) {
  //Insert..
}

MarPlo Mesaje:4343
In loc de $conn pune obiectul cu numele cum e in acel script, $xyz. Coloana "data" din tabel sa fie de tip DATE.

Cod: Selectaţi tot

$sql ='SELECT id FROM vizite WHERE ip="'.$ip.'"' AND DATE(data) = DATE(NOW()) LIMIT 1';
$resql = $xyz->query($sql);
if($resql->num_rows <1){
  $xyz->query('INSERT INTO vizite SET ip ="'.$ip.'", data = DATE(NOW()),  site ="'.$id.'"');
}

MarPlo Mesaje:4343
Nu stiu cum ai codul si ce format are coloana pentru data din tabelul mysql.
- Ideea e sa faci codul astfel incat, inainte de Insert sa verifici daca mai e vreun rand inregistrat cu acel ip in acea zi.