Autor Zpráva
milde
Profil
Dobrý večer, zase otravuju.
Chtěl bych Vás poprosit o radu kde mám chybu.
Jde tento script takto použít? Zapisuje mi data do DB ale nemůžu hnout s update pocet = pocet+1.
Nehlásí mi žádnou chybu ale v poli pocet se nic neděje.

Moc díky všem.

<?
$db="neco";
$tb="statistiky";
$ip = $REMOTE_ADDR;
$login = "neco";
$password = "neco";
$heslo = "neco";
$unikatni = $_SERVER["HTTP_HOST"].$_SERVER["REQUEST_URI"];
$strana = basename( $unikatni );
$datum = Date("Y-m-j H:i:s" );
$spojeni=mysql_connect("localhost","root","");
mysql_select_db($db, $spojeni);
mysql_query("INSERT INTO $tb values ('$id', '$ip', '$login', '$heslo', '$password', '$strana', '$datum', '$pocet' )", $spojeni);
MySQL_Query("update statistiky set pocet = pocet+1, ip, login, password, heslo, strana, datum WHERE (login = '$login') AND (password = '$heslo') AND (strana = '$strana')");
echo "data byla úspěšně vložena do databháze"
?>
nightfish
Profil
update statistiky set pocet = pocet+1 WHERE (login = '$login') AND (password = '$heslo') AND (strana = '$strana')

jinak pro účely diagnostiky je vhodné za každý mysql_query dát

if (!mysql_errNo()) echo mysql_error();
nightfish
Profil
a pro jistotu ještě místo $REMOTE_ADDR používat $_SERVER['REMOTE_ADDR']
milde
Profil
nightfish
Děkuju za odpověď, takto jsem to měl, znovu jsem to upravil a přidal jsem tam if (!mysql_errNo()) echo mysql_error();
A ve sloupci pocet pořád nic.
Nemůže být zakopaný pes v DB? sloupec pocet mam varchar (20) a jinak nic.
Ještě jednou díky za odpovědi.
Milan
nightfish
Profil
jee, sorry, sem to napsal blbě - má to být if (mysql_errNo()) ...

jinak inkrementace o 1 kupodivu v mysql projde i nad polem typu varchar
pavel prochazka.zde.cz
Profil *
pokud ma nekdo zajem o sctipt ktery dela pocitadlo, tak mohu poskytnout... Pracuje se soubory a ne databazi... staci mi mapsat na muj email.... email najdete ma mem webu....
milde
Profil
nightfish
Tak jsem to opravil a hází mi to tuto chybu.
Parse error: parse error, expecting `'('' in c:\apache\htdocs\data\soubor\cesta\statistika\pocitadlo.php on line 14
Díky Milan
milde
Profil
nightfish
Omlouvam se, po opravě žádná chybová hláška není - měl jem tam chybu.
V DB jsem pocet nastavil na INT (20) výchozí 0 a pořád nic.
Pomůžete?
pavel prochazka.zde.cz
Děkuju, ale potřebuju to vyřešit přes DB.
S pozdravem Milan
Tomik
Profil
milde
Na řádku 14 (nebo nad ním) ti chybí závorka "("...

// EDIT
Tak pozdě... :)
nightfish
Profil
milde

tak si ještě pod ten mysql_query s updatem dej
echo mysql_affected_rows();

jestli vypíše 0, tak s největší pravděpodobností bude problém v tom samotném dotazu - konkrétně v podmínce WHERE - jedna z těch tří závorek není pravdivá pro žádný řádek tabulky... ale to už pak záleží na struktuře tabulky
milde
Profil
nightfish
Díky, byl jste rychlejší. Chyba byla opravdu v podmínce. Zkoušel jsem si jednu po druhé odmazávat a přišel jsem na to.
Správně to má být AND (password = '$password') .
Jsem asi už z toho bl..... . Vyskytl se ještě jeden problém potřeboval bych jeste poradit.
Jak mám formulovat dotaz na DB. Potřeboval bych vypsat největší zjištěný počet a nejnovější datum. Ten má ale pocet 1. Příklad: (toto mám v DB)

id: 1
ip: 012.20. 222
login: neco
heslo: neco
password: neco
strana: mujveb
pocet: 2
datum 17.05.2006 14.52.21

id: 2
ip: 012.20. 222
login: neco
heslo: neco
password: neco
strana: mujveb
pocet: 1
datum 31.07.2006 14.52.21


Potřeboval bych na základě výše jmenovaných podmínek login, password a strana,
vypsat takto. (jde mi o vypsání nejvyššího počtu a posledního datumu.)

pocet: 2
datum 31.07.2006 14.52.21
Toto téma je uzamčeno. Odpověď nelze zaslat.

0