| 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: 17 let
|
|||
0