Cerere cod preluare vizitele din ziua anterioara

Aici adaugati Cererile sau Ofertele dv. de script-uri, proiecte website sau Traduceri.
florin07_fcsb
Mesaje: 7

Cerere cod preluare vizitele din ziua anterioara

Buna Ziua . Aveti o functie sa imi preia vizitele din ziua anterioara ?

MarPlo Mesaje: 4343
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".

florin07_fcsb Mesaje: 7
pai si cum pot face asa ceva ?
am scriptul care inregistreaza pentru azi , dar nu stiu cum sa le trec pentru ieri.

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.

florin07_fcsb Mesaje: 7
Eu l-am facut. Am vrut sa ii fac o copie la un site, totul bine si frumos , dar nu mi-a iesit sa fac sa apara vizitele de ieri .
Vreau sa apara vizitele aici: trafic-wap.info/site.php?id=2 unde scrie Ieri.

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).

florin07_fcsb Mesaje: 7
Acest cod este pentru inregistrare vizite

Cod: Selectaţi tot

$xyz->query('UPDATE`site`SET`afisari_a`="0",`trimise_a`="0",`primite_a`="0"');
acesta este pentru preluare

Cod: Selectaţi tot

$vizite=$xyz->query('SELECT COUNT(*)FROM`vizite` WHERE`site`="'.$id.'"')->fetch_row()[0];
si aceasta este baza unde se salveaza datele. Structura de tabel pentru tabelul `vizite`:

Cod: Selectaţi tot

CREATE TABLE IF NOT EXISTS `vizite` (
  `ip` varchar(1000) NOT NULL,
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `site` int(11) NOT NULL,
  `data` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1685 ;
nu te-am inteles cu forma tabelului in care se salveaza datele. sper ca am pus tot ce iti trebuie.

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 ".

florin07_fcsb Mesaje: 7
Multumesc pentru ajutor , a mers. insa mai am o problema. mie imi baga vizitele pe ip in baza ,si mi se salveaza de la toate zilele, dar daca cineva a intrat ieri pe site si intra si azi nu mai creste vizita aceea. ce trebuie sa fac ca sa mearga totul ok.

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..
}

florin07_fcsb Mesaje: 7
imi da eroare in functia query :

Cod: Selectaţi tot

Fatal error: Call to a member function query() on a non-object in /home/cnrhlnba/public_html/trafic-wap.info/counter.php on line 32
Eu asa am inn baza cu insert

Cod: Selectaţi tot

$xyz->query( INSERT INTO vizite SET ip ="'.$ip.'", data ="'.date(d,time()).'",  site ="'.$id.'"');
si cu select asa

Cod: Selectaţi tot

$exista = $xyz->query(SELECT COUNT(id) FROM vizite WHERE ip ="'.$ip.'" AND  site ="'.$id.'"')->fetch_array();
imi poti face pentru scriptul meu ?

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.'"');
}

Subiecte similare