Jump to content
Fórum Script Brasil
  • 0

Ajuda Para Interpretar Um Erro


McBlade

Question

Tenho o Seguinte Código:

<?php
  $userip = $REMOTE_ADDR;
  $votou = 1; // 1 para não 2 para sim
  $querypoll = mysql_query("select psq_ip from pesquisa");
  while ($retornopoll = mysql_fetch_array($querypoll)) {
    if ($retornopoll[0]==$userip) {
   $votou = 2;
	}
  }
  if ($votou==1) {
    echo "<form name='poll' action='pollsend.php' onSubmit='return poll();'>";
    echo "<table width='150' border='0'><tr><td>..:: Electronics Quer Saber ::..</td></tr>";
    echo "<tr><td>Qual sua ocupação?</td></tr>";
    echo "<tr><td><p><input type='radio' name='opcao' id='1'>Estudante (Eletrônica)<br>";
    echo "<input type='radio' name='opcao' id='2'>Professor (Eletrônica)<br>";
    echo "<input type='radio' name='opcao' id='3'>Pratico Eletrônica como Hobby<br>";
    echo "<input type='radio' name='opcao' id='4'>Outro...</p></td></tr>";
    echo "<tr><td><input type='submit' value=' Votar '></td></tr></table></form>";
  }
  else
  {
    // Pega o total de votos que a pesquisa teve
	$querypoll = mysql_query("select count(psq_opcao) from pesquisa where psq_codigo = 1");
    $retornopoll = mysql_fetch_array($querypoll);
	$totalvotos = $retornopoll[0];
	// Pega os resultados de cada opçao
    for ($ni=1;$ni<5;$ni++) {
   $querypoll = mysql_query("select psq_opcao from pesquisa where psq_codigo = 1 and psq_opcao = $ni");
   $retornopoll = mysql_fetch_array($querypoll);
      if ($ni==1) {
     $opcao1 = $retornopoll[0];
   }
   elseif ($ni==2) {
     $opcao2 = $retornopoll[0];
   }
   elseif ($ni==3) {
     $opcao3 = $retornopoll[0];
   }
   elseif ($ni==4) {
     $opcao4 = $retornopoll[0];
   }
	}
	// Monta a tabela de resultados
    echo "<table width='150' border='0'><tr><td>..:: Electronics Quer Saber ::..</td></tr>";
    echo "<tr><td>Qual sua ocupação?</td></tr>";
	// Resultados opção 1
	if ($totalvotos > 0) {
      echo "<tr><td>Estudante (Eletrônica): ",($opcao1*100/$totalvotos)," %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/poll.gif' width='",($opcao1*150/$totalvotos),"' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";
	}
	else
	{
      echo "<tr><td>Estudante (Eletrônica): 0 %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";	
	}
	if ($totalvotos > 0) {
      echo "<tr><td>Professor (Eletrônica): ",($opcao2*100/$totalvotos)," %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/poll.gif' width='",($opcao2*150/$totalvotos),"' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";
	}
	else
	{
      echo "<tr><td>Professor (Eletrônica): 0 %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";	
	}
	if ($totalvotos > 0) {
      echo "<tr><td>Pratico Eletrônica como Hobby: ",($opcao3*100/$totalvotos)," %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/poll.gif' width='",($opcao3*150/$totalvotos),"' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";
	}
	else
	{
      echo "<tr><td>Pratico Eletrônica como Hobby: 0 %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";	
	}
	if ($totalvotos > 0) {
      echo "<tr><td>Outro: ",($opcao4*100/$totalvotos)," %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/poll.gif' width='",($opcao4*150/$totalvotos),"' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";
	}
	else
	{
      echo "<tr><td>Outro: 0 %<br><img src='img/pollleft.gif' width='5' height='10'><img src='img/pollright.gif' width='5' height='10'></td></tr>";	
	}
  }
?>

Com ele obtendo os seguintes erros:

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 5

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 25

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 30

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 30

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 30

Warning: Supplied argument is not a valid MySQL result resource in c:\apache\htdocs\electronics\poll.php on line 30

..:: Electronics Quer Saber ::..

Qual sua ocupação?

Estudante (Eletrônica): 0 %

(imagem)

Professor (Eletrônica): 0 %

(imagem)

Pratico Eletrônica como Hobby: 0 %

(imagem)

Outro: 0 %

(imagem)

Eu pergunto, o que estou fazendo de errado? Tendo em vista que eu não fiz curso entaum eu só muito aspirante em PHP. tongue.gif

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

ach oque achei...

parece-me que o erro tá aki

 $querypoll = mysql_query("select psq_opcao from pesquisa where psq_codigo = 1 and psq_opcao = $ni");

coloca entre aspas o $ni... e tenta ae.. se o valor dela não for numerico pode ser issoq ue tá dando pau...

falow..

qualquer coisa postae..

Link to comment
Share on other sites

  • 0

oi, marca qual é a linha 30 pra ajudar..

outra coisa, faz assim nas querys

$sql = mysql_query( "..." ) or die ( "Erro de Sql: ".mysql_error() );

dessa forma, se tiver erro na query ele mostra....

Maluco c num vai acredita!!

osei o seu código e sabe qual a mensagem q a query deu??

Erro de Sql: No Database Selected

Desse geito nunca ia funciona mesmo!!! tongue.gif

Do resto está funcionando perfeitamente, agora aproveitando o tópico:

Pelos cálculos das minhas funções a porcentagem de digamos 16% está vindo assim: 16,66666667

Como eu faço pra arredondar esse valor sem que isso interfira na soma dos resultados ultrapassando 100 %.

porque eu to usando round() aí dependendo dos valores a soma ultrapassa ou não chega a 100 %.

Link to comment
Share on other sites

  • 0

pow.. na verdade soma é exata.. não pode estourar o resultado.. a não ser que seja esse tipo ai.. (Esqueci o nome de quando fica 3,33333333333 infinatamente...)

mas o round deve ajeitar isso.. porque ele arredonda pro mais perto.. sefor maior que ,5 pra cima se for menos pra baixo.. saca?? seilá...

Link to comment
Share on other sites

  • 0

Sim mas no caso do 16,6666667 ele arredonda pra 16,7 e a soma dos outros resultados fica em 101 %.

Eu fui ao superdownloads.com.br e a enquete deles tem 2 casas decimais: 84,02 % e a soma de todos os resultados dá 100 % certinho!!!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      651.8k
×
×
  • Create New...