Ir para conteúdo

POWERED BY:

Arquivado

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

Marcos Barbosa

[Resolvido] Erro na paginação

Recommended Posts

Pessoal, estou com uma rotina de paginação e testei inicialmente no servidor local (wampserver) e funciona perfeitamente, então mandei para o servidor web e apresenta o seguinte erro:

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/telediag/public_html/Nav/lista_apac_laudada.php on line 127

A rotina está assim

if ($usuario_nivel == "Administrador") {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' ORDER BY data_hora_apac DESC");
} else {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' AND id_unidade = $id_unidade");
}
 $total = mysql_num_rows($sql_res);  // ESSA É A LINHA 127

Alguém pode me avisar o motivo desse erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Substitua:

 

if ($usuario_nivel == "Administrador") {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' ORDER BY data_hora_apac DESC");
} else {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' AND id_unidade = $id_unidade");
}
 $total = mysql_num_rows($sql_res);  // ESSA É A LINHA 127

 

Por:

 

if ($usuario_nivel == "Administrador") {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' ORDER BY data_hora_apac DESC") or die (mysql_error());
} else {
 $sql_res = mysql_query("SELECT * FROM pacientes WHERE status <>'S' AND id_unidade = $id_unidade") or die (mysql_error());
}
 $total = mysql_num_rows($sql_res);  // ESSA É A LINHA 127

 

E poste o erro aê !

Compartilhar este post


Link para o post
Compartilhar em outros sites

seguinte:

 

if ($usuario_nivel == "Administrador") {
 $sql_res = "SELECT * FROM pacientes WHERE status <>'S' ORDER BY data_hora_apac DESC";
} else {
 $sql_res = "SELECT * FROM pacientes WHERE status <>'S' AND id_unidade = $id_unidade";
}
 $query = mysql_query( $sql_res )or die( mysql_error() );

 $total = mysql_num_rows( $query );  // ESSA É A LINHA 127

analise o erro que o mysql_error() te retornar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro q aparece é esse: No database selected . O q ñ entendo é que eu coloco o direcionamento para fazer a conexão com o banco. Vou colocar a rotina completa:

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<!--	<meta HTTP-EQUIV="refresh" CONTENT="300">  -->
	<title>Consulta Pacientes</title>
	<?php include_once("sistema/validar_usuario.php");?>
</head>
<body>
	<div id="pagina">
		<form action="" method="post" name="consulta_paciente" enctype="multipart/form-data">
               <label>
               <span>Localize o Paciente:</span>
               <input type="text" name="paciente" />
               </label>    

               <label>
               <input type="submit" name="enviar" value="Enviar"  class="btn"/>
               <div class="caminho">Onde estou: Telediagnóstico » Lista de APAC`S</div><!--class="caminho -->

               <img src="imagens/menu_ln_horizontal.png" title="" alt="" />
               </label> 
		</form>      
		<div id="tabela">
			<table width="100%" border="0">
				<tr>
					<td width="55%" class="titulo1">Pacientes</td>
					<td width="22%" class="titulo">Especialidade</td>
					<td width="18%" class="titulo">Data APAC</td>
					<td width="5%" class="titulo">APAC</td>
					<!--						<td width="10%" class="titulo">Laudo</td> -->
				</tr>

				<?php
					/* SCRIPT PARA PAGINAÇÃO */
					$pag = "$_GET[pag]";
					if($pag >= '1'){
						$pag = $pag;
					}else{
						$pag = '1';
					}
					$maximo = '2'; //RESULTADOS POR PÁGINA
					$inicio = ($pag * $maximo) - $maximo;
					$status = "S";

					if (isset($_POST["enviar"])){
						$paciente = $_POST["paciente"];
						$data_ini = $_POST["data_ini"];
						$data_fim = $_POST["data_fim"];

						if ($usuario_nivel <> "Usuario") {
							$sql = "SELECT * FROM pacientes WHERE status <> :status AND paciente LIKE '$paciente%' ORDER BY data_hora_apac DESC LIMIT ".$inicio.",".$maximo; // AND (data_hora_apac BETWENN :data_ini AND :data_fim)
							try{
							$query = $conecta->prepare($sql);
							$query -> bindValue(':status',$status,PDO::PARAM_STR);
							//$query -> bindValue(':data_ini',$data_ini,PDO::PARAM_STR);
							//$query -> bindValue(':data_fim',$data_fim,PDO::PARAM_STR);
							$query->execute();
							$resultado = $query->fetchAll(PDO::FETCH_ASSOC);

							}catch (PDOexception $error_select){
							echo 'Erro ao selecionar dados... '.$error_select->getMessage();
							}
						} else {
							$sql = "SELECT * FROM pacientes WHERE status <> :status AND id_unidade = :id_unidade AND paciente LIKE '$paciente%' ORDER BY data_hora_apac DESC LIMIT ".$inicio.",".$maximo; // AND (data_hora_apac BETWEEN :data_ini AND :data_fim) 
							try{
								$query = $conecta->prepare($sql);
								$query -> bindValue(':status',$status,PDO::PARAM_STR);
								$query -> bindValue(':id_unidade',$id_unidade,PDO::PARAM_STR);
								//$query -> bindValue(':data_ini',$data_ini,PDO::PARAM_STR);
								//$query -> bindValue(':data_fim',$data_fim,PDO::PARAM_STR);
								$query->execute();
								$resultado = $query->fetchAll(PDO::FETCH_ASSOC);
							}catch (PDOexception $error_select){
								echo 'Erro ao selecionar dados... '.$error_select->getMessage();
							}
						}
					}

					foreach ($resultado as $res){
						$id  = $res['id'];
						$idapac = $re['idapac'];
						$paciente  = $res['paciente'];
						$dta_nascimento = $res['dta_nascimento'];
						$sexo = $res['sexo'];
						$data_hora_apac = $res['data_hora_apac'];
						$modalidade = $res['modalidade'];
						$especialidade = $res['especialidade'];
						$apac = $res['apac'];

						$data_hora_apac =date("d/m/Y H:i:s", strtotime($data_hora_apac)); // Converto a data para nosso formato. 

				?>
				<tr <?php echo $cor;?>>
					<td><a href="painel.php?pg=cadastro_laudos&id=<?php echo $res['id'] ?>"><?php echo $res['paciente']; ?> </a></td>
					<td><?php echo $res['especialidade']; ?> </td>
					<td class="meio"><?php echo $data_hora_apac; ?></td>
					<td colspan="2" class="img"><a href="Nav/abrir_arquivo.php?id=<?php echo $res['id'] ?>" target="_blank"><img src="imagens/jpeg.png" alt="" title="" /></a></td>
				</tr>
				<?php } // Fecha o foreach ?>    
			</table>

			<div class="paginador">

			<?php 
				/* PAGINAÇÃO */

				include("Connections/painel_config.php");

				if ($usuario_nivel <> "Usuario") {
					$sql_res = mysql_query("SELECT * FROM pacientes WHERE status <> 'S' ORDER BY data_hora_apac DESC");
				} else {
					$sql_res = mysql_query("SELECT * FROM pacientes WHERE status <> 'S' AND id_unidade = $id_unidade ORDER BY data_hora_apac DESC");
				}
				$total = mysql_num_rows($sql_res) or die (mysql_error());

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

				$links = '5'; //QUANTIDADE DE LINKS NO PAGINATOR

				echo "<a href=\"painel.php?lista_laudos&pag=1\">Primeira Página</a> ";

				for ($i = $pag-$links; $i <= $pag-1; $i++){
					if ($i <= 0){
					}else{
						echo"<a href=\"painel.php?lista_laudos&pag=$i\">$i</a> ";
					}
				}echo "$pag  ";

				for($i = $pag +1; $i <= $pag+$links; $i++){
					if($i > $paginas){
					}else{
						echo "<a href=\"painel.php?lista_laudos&pag=$i\">$i</a> ";
					}
				}
				echo "<a href=\"painel.php?Nav/lista_laudos&pag=$paginas\">Última página</a> ";
			?>
			</div><!--div class="paginador" -->
		</div> <!--div id="tabela" -->
	</div> <!--Div pagina -->
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Confira se batem os dados, do arquivo config com o banco de dados ...

 

Obs: feche a tag [/code]

Compartilhar este post


Link para o post
Compartilhar em outros sites

se você ta usando PDO:

$query = $conecta->prepare($sql);

 

então é a extensão PDO que está conectada, e não a mysql_

 

use ou uma ou outra, e não as 2 assim, ao mesmo tempo.

senão você teria que abrir uma conexão para cada extensão, oq não faz nenhum sentido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

RomanMG, os dados estão corretos.

Willian, então o conflito pode ser esse, entendo.

Mas se for possível tirar mais uma dúvida fico agradecido.

o painel_config está assim:

# FileName="Connection_php_mysql.htm"
# Type="MYSQL"
# HTTP="true"
$hostname_painel_config = "localhost";  
$database_painel_config = "rislaudos";  
$username_painel_config = "root";       
$password_painel_config = "";           
$painel_config = mysql_pconnect($hostname_painel_config, $username_painel_config, $password_painel_config) or trigger_error(mysql_error(),E_USER_ERROR); 

 

Para fazer teste, fiz uma outra forma de conexão, assim:

$conexao=mysql_connect("localhost","root","") or die ("Erro na Conexão. Verifique a Conexão." .mysql_error());  
$selecao=mysql_select_db("rislaudos") or die ("Erro na Seleção");

 

Colocando essa segunda opção de conexão, funciona, com a primeira não.

 

Tudo bem, farei o q você indica em termos de conexão, já q estou usando o PDO, farei a paginação voltada ao PDO, mas gostaria de entender isso.

 

Vlw e obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

tava com o mesmo problema.. interessante é q não consegui fazer com o pdo.. como tenho urgencia pra entregar o projeto fiz no manual mesmo..

 

queria aprender a fazer com o pdo.. se alguém puder nos dar uma forcinha..

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.