(flash) como adicionar um contador de visitas?

tenho mas o k quero nao é o valor no id, quero o valor ip.
estou a criar uma daquelas questoes de escolha multipla co 4 hipoteses de resposta. tenho k armazenar as opcoes em 4 tabelas diferentes? a forma de armazenamento pode ser id auto increment, pois quero criar um grafico com as percentagens de cada resposta... ao fim é so ir buscar o total de cada resposta.

tentei usar o seguinte:
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$ip=last_insert_id(mysql_query("SELECT * FROM visitas");
echo "o ip é $ip";

e tentei tb com $ip=mysql_query(last_insert_id("SELECT * FROM visitas"));

mas da erro na linha do $ip
 
Última edição:
faz desta maneira:


fazes um primeiro select á base de dados para saber o número total de registos usando a sentença "select max(id) from tabela;"guardas este resultado numa variável($v) e fazes uma nova query para ir buscar o ultimo ip da base de dados :"select ip from tabela where (id=$v);"...espero que tenhas percebido:)
 
eu penso k percebi mas n deu.
eu puz assim:
PHP:
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir); 
$v=mysql_query("select max(id) from visitas");
$ip=mysql_query("select (ip) from visitas where (id=$v)");
echo "o id é $v e o ip é $ip";
o k aparece é "o id é Resource id #2 e o ip é "
em $v era suposto aparecer prai 150, no ip nao aparece nada.

e diz-me se este codigo esta certo:
PHP:
<?php
$ip=getenv("REMOTE_ADDR");
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir); 
$ip2= ---------------------------------------------------
mysql_select_db(visitas,$fechar);
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(questao,$abrir); 
if ($ip != $ip2) {
switch (opcao) {
case 1:
mysql_query('INSERT INTO 1 (id) values("")');
print "questao=Votaste com sucesso."
case 2:
mysql_query('INSERT INTO 2 (id) values("")');
print "questao=Votaste com sucesso."
case 3:
mysql_query('INSERT INTO 3 (id) values("")');
print "questao=Votaste com sucesso."
case 4:
mysql_query('INSERT INTO 4 (id) values("")');
print "questao=Votaste com sucesso."
otherwise print "questao=Só podes votar uma vez em cada secção."
}
}
$total1=mysql_num_rows(mysql_query("SELECT * FROM 1")); 
$total2=mysql_num_rows(mysql_query("SELECT * FROM 2")); 
$total3=mysql_num_rows(mysql_query("SELECT * FROM 3")); 
$total4=mysql_num_rows(mysql_query("SELECT * FROM 4")); 
$total=$total1+$total2+$total3+$total4
$op1=$total1/$total*100
$op2=$total2/$total*100
$op3=$total3/$total*100
$op4=$total4/$total*100
print "op1=$op1&op2=$op2&op3=$op3&op4=$op4"
ao executar da erro na $op1
é feito em flash e é enviado para o php um valor opcao que pode tomar valores de 1 a 4.
depois é enviado de volta ao flash uma mensagem e as variaveis op1,op2,op3,op4.
tenho uma base de dados com nome 'questao' com 4 tabelas
e ja agora '!=' é 'diferente' certo?
 
Última edição:
Boas!

Começa a usar as tags [code] CÓDIGO [/code] ou [php] CÓDIGO [/php] quando quiseres meter código, ajuda e muito quem te quer ajudar..., eu perco-me no meio de tanta linha :X

abraços, HecKel
 
mas eu preciso do valor da 2ª coluna. e esse comando nao vai dar o ultimo valor...
esse comando da um valor prai 120 e o id da ultima é prai 160
 
Última edição:
é k eu apaguei uns valores porque aquilo estava a contar a mais ao inicio mas ja consigo ter o ultimo valor. mas no ip não aparece o k devia.
o codigo esta assim:
PHP:
 <?php
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir); 
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
$id = $total + 76;
$ip=mysql_query("SELECT ip  FROM `visitas` WHERE `id` = $id");
echo "id é $id e o ip é $ip";
?>

o k aparece é "id é 200 e o ip é Resource id #3 "

na base de dados o comando da mas por php aparece "Resource id #3"
 
Última edição:
faz antes assim:



<?php
$abrir
=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados"
);
mysql_select_db(visitas,$abrir
);
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"
));
$id = $total + 76
;
$ip = $_SERVER['REMOTE_ADDR'];

echo
"id é $id e o ip é $ip"
;
?>
 
fill ,tu és um mestre ,
quem me dera estar ja no teu nivel ,mas temo q o caminho seja longo ainda
por mais que desbrave livros e livros parece q so aprendo a mexer o rato :-D uma piada seca

acho que quando tiver duvidas ,vou te chatear um buca

ja agora ,vives onde ?
pa te cravar umas explicaçoes..

cumprimentos
 
faz antes assim:



<?php
$abrir=mysql_connect("localhost","root","") or die ("impossivel ligar á base de dados");
mysql_select_db(visitas,$abrir);
$total=mysql_num_rows(mysql_query("SELECT * FROM visitas"));
$id = $total + 76;
$ip = $_SERVER['REMOTE_ADDR'];

echo "id é $id e o ip é $ip";
?>

quero comparar o ip k esta a aceder no momento com o ultimo k acedeu...
para ir buscar o ip do k esta a aceder é mt facil mas preciso do ultimo tb
é que quero fazer uma daquelas questoes tipo se esta a gostar do site mas quero impedir que votem 2 vezes seguidas...

colocando:
$total1=mysql_num_rows(mysql_query("SELECT * FROM `questao`.`1`"));
$total=$total1+$total2+$total3+$total4; estando todas as variaveis definidas
$op = $total1 / $total porque da erro isto? (Parse error)
a minha ideia aqui é colocar em percentagem, por isso ainda é preciso multiplicar por 100
 
mas se fizeres assim o mesmo IP pode votar mais do que uma vez...apenas estás a comparar com o último ip visitado...podes fazer assim: crias uma nova tabela na bd (votos) onde guardas os IP's que votaram...ao chegar um novo utilizador para votar fazes uma busca á tabela votos e comparas com o ip do utilizador...se esse ip existir na tabela não deixa votar, caso contrário pode votar...para cada ip um voto...espero que tenhas percebido
 
mas se fizeres assim o mesmo IP pode votar mais do que uma vez...apenas estás a comparar com o último ip visitado...podes fazer assim: crias uma nova tabela na bd (votos) onde guardas os IP's que votaram...ao chegar um novo utilizador para votar fazes uma busca á tabela votos e comparas com o ip do utilizador...se esse ip existir na tabela não deixa votar, caso contrário pode votar...para cada ip um voto...espero que tenhas percebido

penso k percebi.
mas como faço para comparar com todos os valores da tabela?

colocando:
$total1=mysql_num_rows(mysql_query("SELECT * FROM `questao`.`1`"));
$total=$total1+$total2+$total3+$total4; estando todas as variaveis definidas
$op = $total1 / $total porque da erro isto? (Parse error)
a minha ideia aqui é colocar em percentagem, por isso ainda é preciso multiplicar por 100
 
penso k percebi.
mas como faço para comparar com todos os valores da tabela?

ex:
PHP:
$ip = $_SERVER['REMOTE_ADDR'];
 
$query=mysql_query("select ip from votos where ip='$ip'");
$verifica=mysql_num_rows($query);
 
if($verifica=="0"){
//pode votar
 
 
 
}else{
 
 
//não pode votar
 
 
?>

em relação ao erro que dá, o raciocinio parece-me correcto....já verificaste se tem o ;?
 
Back
Topo