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
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.
kiara
Profil *
r0me0

díki....
kiara
Profil *
//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
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 *
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 *
problem vyriesený--- dakujem

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: