Autor | Zpráva | ||
---|---|---|---|
kiara Profil * |
ahojte.
mam kód na vytvorenie tabulky pre počítadlo <? $spojeni=mysql_connect ("mm", "xxx", "heslo") or die ("Nepodarilo sa vytvoriť počítadlo."); mysql_select_db ("xxx") or die ("Databáze pravděpodobně neexistuje."); $sql="create table celkem_$tmpname(id integer primary key auto_increment,celkem int)"; mysql_query ($sql); echo mysql_error()."<br />"; $sql="create table den_$tmpname(id integer primary key auto_increment,ip varchar(15),doba int)"; mysql_query ($sql); echo mysql_error()."<br />"; $sql="create table mesic_$tmpname(id integer primary key auto_increment,ip varchar(15),doba int)"; mysql_query ($sql); echo mysql_error()."<br />"; $sql="create table online_$tmpname(id integer primary key auto_increment,ip varchar(15),doba int)"; mysql_query ($sql); echo mysql_error()."<br />"; $sql="insert into celkem (celkem) values ('0');"; mysql_query ($sql); echo mysql_error(); ?> potrebovala by som pomocť s touto castou: $spojeni=mysql_connect ("mm", "xxx", "heslo") or die ("Nepodařilo se připojit k DB."); mysql_select_db ("xxx") or die ("Databáze pravděpodobně neexistuje."); //deklarace funkci function spocti_lidi ($tabulka){ $sql="select count(*) from $tabulka"; @$r=mysql_query ($sql); if (@mysql_num_rows($r)){ $zaznam=mysql_fetch_row($r); $pocet_lidi=$zaznam[0]; } return $pocet_lidi; } function zapis_lidi ($tabulka, $cas, $limit, $ip){ $sql="select ip from $tabulka where doba=($cas-$limit) or doba>$cas"; @$r=mysql_query ($sql); if (mysql_num_rows($r)){ $sql="delete from $tabulka"; mysql_query ($sql); } $cas_dny=date ("j"); $sql="select id from den where ip like '$ip' AND doba=$cas_dny"; @$r=mysql_query ($sql); if (!mysql_num_rows($r)){ $sql2="insert into $tabulka (ip, doba) values ('$ip', '$cas')"; mysql_query ($sql2); } } //celkem lidi $ip=$REMOTE_ADDR; $cas_dny=date ("j"); $sql="select celkem from celkem"; @$r=mysql_query ($sql); if (@mysql_num_rows($r)){ $zaznam=mysql_fetch_row($r); $celkem=$zaznam[0]; } $sql="select id from den where ip like '$ip' AND doba=$cas_dny"; @$r=mysql_query ($sql); if (!mysql_num_rows($r)){ $celkem++; $sql2="update celkem set celkem=$celkem_$soubor[0] where id=1"; mysql_query ($sql2); } //lidi online $cas_minuty=date ("i"); $limit=10; //minut $sql="delete from online where doba<($cas_minuty-$limit) OR doba>$cas_minuty"; mysql_query ($sql); $sql="select ip from online where ip like '$ip'"; @$r=mysql_query ($sql); if (@mysql_num_rows($r)){ $sql1="update online set doba='$cas_minuty' where ip like '$ip'"; mysql_query ($sql1); }else{ $sql2="insert into online (ip, doba) values ('$ip','$cas_minuty')"; mysql_query ($sql2); } //volani funkci pro zapsani novych navstev do databaze $cas_mesic=date ("n"); $limit=1;//mesic zapis_lidi ("mesic", $cas_mesic, $limit, $ip); $cas_dny=date ("j"); $limit=1;//den zapis_lidi ("den", $cas_dny, $limit, $ip); //vypis lidi $den=spocti_lidi ("den"); $online=spocti_lidi ("online"); $mesic=spocti_lidi ("mesic"); ?> potrebovala by som tam vsunúť pomennú $tmpname aby mi vyhladávalo v tej danej tabulke, skúšam, skušam ale neviem. prosim poradte mi... |
||
r0me0 Profil |
#2 · Zasláno: 3. 8. 2009, 09:37:46
musíš změnit všechny sql dotazy na tabulky, u kterých se v tom kódu pro vytvoření několika tabulek pro počítadlo vyskytuje proměnná $tmpname a ještě před to přidat to podtržítko
Takže $sql="select id from den where ip like '$ip' AND doba=$cas_dny"; změnit na $sql="select id from den_$tmpname where ip like '$ip' AND doba=$cas_dny"; $sql="select celkem from celkem"; změnit na $sql="select celkem_$tmpname from celkem"; atd. |
||
Časová prodleva: 4 dny
|
|||
kiara Profil * |
#3 · Zasláno: 6. 8. 2009, 23:24:58
r0me0
díki.... |
||
kiara Profil * |
#4 · Zasláno: 7. 8. 2009, 00:31:55
//celkem lidi $ip=$REMOTE_ADDR; $cas_dny=date ("j"); $sql="select celkem_$tmpname from celkem"; @$r=mysql_query ($sql); if (@mysql_num_rows($r)){ $zaznam=mysql_fetch_row($r); $celkem=$zaznam[0]; } $sql="select id from den_$tmpname where ip like '$ip' AND doba=$cas_dny"; @$r=mysql_query ($sql); if (!mysql_num_rows($r)){ $celkem++; $sql2="update celkem_$tmpname set celkem=$celkem_$tmpname where id=1"; mysql_query ($sql2); } všetko ok, len tu mám neaku chybu a neviem na to prísť, pomoc, prosim |
||
Alphard Profil |
#5 · Zasláno: 7. 8. 2009, 00:35:56 · Upravil/a: Alphard
kiara:
„len tu mám neaku chybu“ A jak se to pozná? Kdyby bylo více informací, tak by se snáze hledala příčina... A bez těch @ by vám tu chybu možná vypsalo samotné PHP. |
||
kiara Profil * |
#6 · Zasláno: 7. 8. 2009, 00:55:09
Alphard
@ - odstranené, nechala som si vypísať mysql_error a nechápem co je časť "field list" Unknown column 'celkem_pocitadlo' in 'field list' |
||
kiara Profil * |
#7 · Zasláno: 7. 8. 2009, 01:02:51
problem vyriesený--- dakujem
|
||
Časová prodleva: 15 let
|
0