Olá, Visitante. Por favor Entre ou Registe-se se ainda não for membro.
20 de Novembro de 2008, 21:50:16
Início Ajuda Pesquisa Entrar Registe-se
Notícias: Já somos mais de 600 MEMBROS!


+  Redcodestudio
|-+  Programação Web
| |-+  PHP
| | |-+  Duvida php
« anterior seguinte »
Páginas: [1] Ir para o fundo Imprimir
Autor Tópico: Duvida php  (Lida 446 vezes)
Goncalo_smc
Iniciado
*
Offline Offline

Mensagens: 1


Ver Perfil
« em: 17 de Junho de 2008, 12:21:25 »

Boas eu estou fazendo uma loja de produtos com flash e php e sql..
O que acontece e que quando vai para listar os produtos no flash da me este erro em varias linhas
"Notice:  Undefined variable: i in C:\Programas\EasyPHP 2.0b1\www\loja.php on line 22"

O codigo php e este

Código:
<?PHP
   $DBhost = "localhost";   // Database Server
   $DBuser = "root";            // Database User
   $DBpass = "";            // Database Pass
   $DBName = "loja";            // Database Name
   $table = "produtos";             // Database Table
   $numprodutos = 10;       // Number of Comments per page
   $DBConn = mysql_connect($DBhost,$DBuser);
   mysql_select_db($DBName, $DBConn);
$sql = "select * from produtos";
$allComments = mysql_query($sql, $DBConn);
$numallprodutos = mysql_num_rows($allComments);
$numfewComments = mysql_num_rows($fewComments);
print '&totalprodutos=' . $numallprodutos . '&';
print "<br>&entries=";
if($numallprodutos == 0) {
    print "No entries in the guestbook, as yet..";
} else {
    while ($array = mysql_fetch_array($allComments)) {
   $Nome = mysql_result($allComments,$i,'Nome');
   $Preco = mysql_result($allComments,$i,  'Preco');
   $Descricao = mysql_result($allComments,$i, 'Descricao');
   $Id = mysql_result($allComments,$i, 'id');
   print '<b>Nome: </b>' . $Nome . '<br><b>Preco: </b>' . $Preco . '<br><b>Descricao: </b>' . $Descricao . '<br><i>Id: ' . $Id . '</i><br><br>';
   $i++;
    }
}

?>

Alguem me pode ajudar? Undecided
Registado
gimbras
Emblema de Prata
****
Offline Offline

Mensagens: 1101



Ver Perfil WWW
« Responder #1 em: 19 de Junho de 2008, 11:07:47 »

Bom, em primeiro lugar bem-vindo ao fórum.

Em segundo lugar um conselho, não convem colocar as variáveis de acesso à BD na mesma página do script. Opta por chamares um ficheiro de ligação à BD com um include, e coloca esse ficheiro numa pasta fora do acesso via http. Mas como estás a trabalhar localmente e em fase de construção isso n deve ser mto importante, por enquanto.

Dá-te esse erro, como deves saber pq n existe nenhuma definição da variável $i. As variáveis no PHP tem sempre de ser criadas antes de serem chamadas.

Nesse caso, como está a ser chamada a função mysql_result, o PHP está à espera de um número inteiro (integer) na posição onde está a variável $i.

Código:
mysql_result  ( resource $result  , int $row  [, mixed $field  ] )

Esse inteiro seria correspondente ao número da linha da tabela em questão.

Eu não faço assim. É certo que não tens password, mas...

Código:
$DBConn = mysql_connect  ($BDhost, $DBuser, $DBpass);
mysql_select_db($DBname, $BDConn);

... pode ser necessária mais tarde e assim fica já tudo pronto.

Explica aí o que queres fazer. Será mais fácil explicar como resolver isso.
Se é para listares todos os produtos há maneiras mais engraçadas de o fazer.

Ou então experimenta atribuir um valor de 1 à variável $i, antes de entrar no while. Se ela não tem valor nenhum (é null), não pode ser usada.

Cumps.
« Última modificação: 19 de Junho de 2008, 11:09:33 por gimbras » Registado

Páginas: [1] Ir para o topo Imprimir 
« anterior seguinte »
Ir para:  


Entrar com nome de utilizador, password e duração da sessão


Powered by MySQL Powered by PHP Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC
Seo4Smf v0.2 © Webmaster's Talks
XHTML 1.0 válido! CSS válido!
Página criada em 0.055 segundos com 19 procedimentos.