Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Furian

[Resolvido] "ceil" apresentando erro.

Recommended Posts

Bom dia galera, to com um pobleminha, creio que não seja algo tão complicado assim, mas não estou identificando onde está o poblema... utilizei a função ceil no meu código mas quando ponho para rodar apresenta o seguinte erro:

 

 

Fatal error: Unsupported operand types in \easyphp1-8\www\new\lista.php on line 7

 

Aqui eu estou colocando o código que está na linha 7 e onde está o problema.

 

$paginas = ceil($lista/$lpp);

 

O que pode estar dando errado, e como eu posso resolver isso?

Desde já agradeço a todos, um grande abraço, um ótimo fim de semana, fiquem com Deus... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que tu tem no $lista e no $lpp? A intenção é dividir estes floats?

 

$paginas = ceil($lista/$lpp);

 

Em $lista eu tenho o resultado de um select no banco de dados, e em $lpp eu estou especificando quantos resultados eu quero por página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tente

$paginas = ceil(($lista/$lpp));

Observe o parenteses

 

 

vlw mangakah, mas não funcionou... acrescentei os parênteses como você disse, mas continua a apresentar o mesmo erro...

Um grande abraço, fique com Deus... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um echo, assim:

echo '' . ($lista/$lpp) . '';
Provavelmente você está aplicando uma função matemática a um tipo não numérico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá um echo, assim:

echo '' . ($lista/$lpp) . '';
Provavelmente você está aplicando uma função matemática a um tipo não numérico.

 

Mas eu teria como jogar esse valor dentro de uma variável? Ou teria que jogá-lo em um array?

Bom... vou colocar o código aqui para que dêem uma olhada, me digam onde posso estar errando... vlw.

Grande abraço a todos fiquem com Deus.... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, verifica se o valor é numérico, não faz sentido realizar esta operação se o valor não for numérico.

 

$valor = $v1/$v2;
$res = ceil($valor);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Aí está o código:

 

CODE
$lista = $ControlaUsuario->listaUsuario();

 

$sql = "SELECT * FROM USUARIOS";

 

$lpp = 4;

 

$total = mysql_num_rows($sql);

 

$paginas = ceil($total/$lpp);

 

if (!isset($paginas)) { $paginas = 0; }

 

$inicio = $paginas * $lpp;

 

$sql = "SELECT * FROM USUARIOS DESC LIMIT $inicio, $lpp";

 

Em $lista eu tenho o resultado de um select e estou querendo exibi-lo de forma que fiquem apenas 4 resultados por página, $total agora está apresentando o seguinte erro: mysql_num_rows(): supplied argument is not a valid MySQL result resource in \easyphp1-8\www\new\lista.php on line 8...

E ele está imprimindo 0, sendo que existem valores cadastrados no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que você fez o que eu disse, imprima a variável valor:

$valor = $v1/$v2;
$res = ceil($valor);
echo $valor;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Supondo que você fez o que eu disse, imprima a variável valor:

$valor = $v1/$v2;
$res = ceil($valor);
echo $valor;

 

Ele também está imprimindo 0 para $valor.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilite a exibição de erros no início do script:

ini_set('display_errors', 'On');
error_reporting(E_ALL);
Posta aó se se houve alguma novidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Habilite a exibição de erros no início do script:

ini_set('display_errors', 'On');
error_reporting(E_ALL);
Posta aó se se houve alguma novidade.

 

Habilitei no php.ini essas opções, estou mudando o código todo pra ver se funciona... mas até agora sem resultados positivos, agradeço pela atenção dedicada, um grande abraço, fique com Deus... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, tem um problema aqui.

 

No primeiro post, você diz assim:

1)
$lista = $ControlaUsuario->listaUsuario();

e que:

2)
$paginas = ceil($total/$lpp);

Depois,você diz:

3)
$paginas = ceil($lista/$lpp);

Dependendo do que $lista do item 1 retornar, vai haver o erro mensionado por você no caso da divisão.

 

Por favor, posta o código atual, e printa isso aqui pra eu ver o que retorna:

$lista = $ControlaUsuario->listaUsuario();

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala aew Marcio valeu pela atenção, está funcioando, porém quando clico nos links para mudança de páginas ele está me levando para a página inicial, vou coloca o código aqui, se der dê uma olhada aí e me diz onde pode estar o problema e como poderia alterá-lo para que funcione 100% valeu...

Vou comentar a parte em que acho que pode estar o problema...

Desculpe colocar o código sem o codebox, é que deu problema... rs

Um grande abraço, fique com Deus.... até...

 

$sql = "SELECT * FROM usuarios ORDER BY usu_nome ASC";

$registros_pagina = "2";

$lista = (int)$_GET["page"]; //Aqui é onde acho que está o problema...

if (!$lista) {

$pc = "1";

}

else {

$pc = $lista;

}

$inicio = $pc - 1;

$inicio = $inicio * $registros_pagina;

$resultado = mysql_query("$sql LIMIT $inicio, $registros_pagina");

$todos = mysql_query("$sql");

$tr = mysql_num_rows($todos);

$tp = $tr / $registros_pagina;

if(mysql_num_rows($resultado) < 1) {

echo "Nenhum registro encontrado";

}

else {

print "<table width='750px' border=1 align='center' bordercolor='#0099FF' bordercolordark='#0099FF' bordercolorlight='#0099FF'>";

print "<tr><td align='center'>" . 'CPF' . "</td>";

print "<td align='center'>" . 'NOME' . "</td>";

print "<td align='center'>" . 'TELEFONE' . "</td>";

print "<td align='center'>" . 'E-MAIL' . "</td>";

print "<td align='center'>" . 'SENHA' . "</td>";

print "<td align='center'>" . 'DELETAR' . "</td>";

while($linha = mysql_fetch_array($resultado)) {

print "<tr><td align='center'>" . $linha['CPF'] . "</td>";

print "<td align='center'>" . $linha['USU_NOME'] . "</td>";

print "<td align='center'>" . $linha['USU_TELE'] . "</td>";

print "<td align='center'>" . $linha['USU_EMAIL'] . "</td>";

print "<td align='center'>" . $linha['SENHA'] . "</td>";

print "<td align='center'>" . "<a href='index.php?page=deletausuario.php&id=" . $linha['CPF'] . "'>" . 'DELETAR' . "</a></td></tr>";

}

print "</table><br>";

$tp = ceil($tp);

if($pc>1) {

$anterior = $pc - 1;

echo "<a href=\"?listausuario.php=$anterior\"><<Anterior</a> ";

}

for($i=$pc-5;$i<$pc;$i++) {

if($i<=0) {

}

else {

echo "<a href=\"?listausuario.php=$i\">";

if($i=="$pc") {

echo "<b>[$i]</b>";

}

else {

echo "[$i]";

}

echo "</a> ";

}

}

for($i=$pc;$i<=$pc+5;$i++) {

if($i==$tp) {

echo "<a href=\"?listausuario.php=$i\">";

if($i=="$pc") {

echo "<b>[$i]</b>";

}

else {

echo "[$i]";

}

echo "</a> ";

break;

}

else {

echo "<a href=\"?listausuario.php=$i\">";

if($i=="$pc") {

echo "<b>[$i]</b>";

}

else {

echo "[$i]";

}

echo "</a> ";

if($i==$pc+5 && $tp>$pc+5) {

echo " ... <a href=\"?listausuario.php=$tp\">[$tp]</a>";

}

}

}

if($pc<$tp) {

$proxima = $pc + 1;

echo " <a href=\"?listausuario.php=$proxima\">Próxima>></a>";

}

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Alguem aew poderia me ajudar a resolver essa pendência... ainda não consegui dar um jeito por aqui... e só tá faltando isso pra terminar... vlw...

Um grande abraço a todos, fiquem com Deus... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom... como o problema original deste tópico já foi resolvido vou postar esse novo problema em um novo tópico, podem dar este aqui como resolvido... obrigado a todos, um grande abraço, fiquem com Deus... até...

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.