Outra dúvida

Enviada por Eduardo Gomes 
Eduardo Gomes
Outra dúvida
27 de October de 2003 às 05:24PM
Olhem o seguinte código:
NPag=0;

While (condição)
{
Npag++;
echo("<table><tr><td>".$NPag."</td></tr></table>");
}

O erro que dá é o seguinte:
Notice: Undefined variable: NPag

Preciso converter esta váriável? Como faço isso?

Desde já agradeço.
Breno
Re: Outra dúvida
27 de October de 2003 às 06:25PM
Falta o simbolo: $ nas variáveis PHP.
Eduardo Gomes
Re: Outra dúvida
27 de October de 2003 às 06:54PM
Mesmo com os símbolos ocorre o mesmo erro, pois, esqueci de colocar na hora de secrever no fórum, mas no código já existia o $.
Newton Wagner
Re: Outra dúvida
27 de October de 2003 às 07:45PM
<b>$NPag<b>=0;

While (condição)
{
<b>$Npag<b>++;
echo("<table><tr><td>".<b>$NPag<b>."</td></tr></table>");
}


As variaveis no PHP são 'case-sensitive', ou seja, a variavel $A e $a são duas distintas. O que aconteceu é q você setou a variavel $NPag e incrementou a $N<b>p</b>ag.. na hora de imprimir, usou $NPag, que é 0 (ou nulo). :).
Eduardo Gomes
Re: Não deu certo ainda.
27 de October de 2003 às 08:14PM
Troquei o nome da variável de $NPag por $N e continua dando o mesmo erro.
404error
Re: Não deu certo ainda.
27 de October de 2003 às 09:11PM
Tenta deixar só caracteres minúsculos, dá muito menos problema, tenta usando <b>$n_pag</b> em ambos os casos.
==========================================================================================
<b>$n_pag</b> = 0;

while (condição){

<b>$n_pag++</b>;
echo "<table><tr><td>".<b>$n_pag</b>."</td></tr></table>";

}
==========================================================================================

Isso deveria funcionar...




<b>$404error</b>
Eduardo Gomes
Re: Não deu certo ainda.
28 de October de 2003 às 01:08PM
Infelizmente não deu certo ainda, pois, ele identifica e escreve certo o número, mas dá esse erro. estou colocando o código inteiro para facilitar.
Por Favor, Me Ajudem!!
Obrigado
Eduardo

<?php
$dbHost = "localhost";
$dbUsuario = "root";
$dbSenha = "";
$dbDatabase = "dbexemplo";
$n=0;
//Funções de Cabeçalho e rodapé
function Cabecalho()
{
$n++;
echo "<table border=0 width=660 cellspacing=0 cellpadding=0>";
echo "<tr style='font-family: Arial; font-size: 8pt;'><td align=left width=33%>".$n."</td><td align=center width=34%></td><td align=right width=33%></td></tr>";
echo ("</table>");
echo ("<table border=1 width=660 height=970 cellspacing=0 cellpadding=0 >");
echo ("<tr><td valign=top>");
echo ("<table border=1 width=657 cellspacing=0 cellpadding=0>");
echo ("<tr>");
echo ("<td style='font-family: Arial; font-size: 10pt;'><font color=WindowText><br><br></td></tr></table>");
echo ("<table border=1 width=657 cellspacing=0 cellpadding=0 style='font-family: Arial; font-size: 10pt; '><tr>");
echo ("<td><b><font color=WindowText>Cod</b></td><td><b><font color=WindowText>Nome</b></td><td><b><font color=WindowText>Endereco</b></td></tr>");
}

function Rodape()
{
echo ("</td></tr></font></table>");
echo ("</td></tr><tr><td valign=down height=10>");
echo ("<table border=1 width=657 cellspacing=0 cellpadding=0>");
echo ("<td style='font-family: Arial; font-size: 10pt;' ><font color=WindowText><br></td></tr></table>");
echo ("</font></td></tr></table>");
echo ("<table border=0 width=660 cellspacing=0 cellpadding=0>");
echo ("<tr style='font-family: Arial; font-size: 8pt; '><td align=left width=33%></td><td align=center width=34%></td><td align=right width=33%></td></tr>");
echo ("</table>");
echo ("-----------Quebra de Página--------------");
}

// Conectando ao MySQL e selecionando o BD
$con = mysql_connect($dbHost, $dbUsuario, $dbSenha) or die (mysql_error());
mysql_select_db($dbDatabase, $con);
// Executando a consulta
$q = mysql_query("Select cliente.Cod as Cod, cliente.Nome as Nome, cliente.Endereco as Endereco from cliente");
$TotalLinhas = mysql_numrows($q);
Cabecalho();
$contador=0;
$contadorgeral=0;

// Criamos o arquivo do com w+
$cria = fopen("relatorio.txt", "w+");
// Agora escrevemos estes dados no arquivo
fwrite($cria,"Cab1\r\n");
fwrite($cria,"Cab2\r\n");
fwrite($cria,"Cab3\r\n");


while($array = mysql_fetch_array($q))
{
$contador++;
$contadorgeral++;
fwrite($cria,"$array[0];$array[1];$array[2]\r\n");
echo ("<td align=left><font color=WindowText>".$array[0]."</td><td align=left><font color=WindowText>".$array[1]."</td><td align=left><font color=WindowText>".$array[2]."</td></tr>");

if ($contador == 54)
{
Rodape();
if ($contadorgeral < $TotalLinhas)
{
Cabecalho();
$contador=0;
}
}
}
if (($contador != 2) || ($TotalLinhas < 54))
{
Rodape();
}

fclose($cria);

echo("<a href='relatorio.txt'>Texto</a>");
?>
Re: Não deu certo ainda.
28 de October de 2003 às 09:33PM
Seu erro é gerado pelo interpretador.
tente substituir a linha de impressão na função:

DE:
echo "<tr style='font-family: Arial; font-size: 8pt;'><td align=left width=33%>".$n."</td><td align=center width=34%></td><td align=right width=33%></td></tr>";

PARA:
print f('<tr style=\'font-family: Arial; font-size: 8pt;\'><td align=left width=33%>%s</td><td align=center width=34%></td><td align=right width=33%></td></tr>', $n);

São duas as alterações:
1ª Coloquei um wildcard antes das aspas simpres do font famuly
2ª Utilizei o Printf com o delimitador %s. Veja o artigo a este respeito aqui no PHPBrasil
Você precisa estar logado no PHPBrasil.com para poder enviar mensagens para os nossos fóruns.

Faça o login aqui.