Ir para conteúdo
Entre para seguir isso  
Gavaldão

Navegar registros da tabela mysql com botão prev next

Recommended Posts

Olá Amigos.

No meu post anterior dei como selecionado o sistema next prev de registros, mas funcionou plenamento com todos os registros da tabela,
más se algum dos registros forem excluídos, não funciona direito, como é meu cado.
Minha tabela tem 56 linhas ( 0 a 55) e registros, do 1 ao 29 e do 31 ao 57 - o registro 30 foi excluído.

coloquei $fim - 1 para que seja mostrado o código correto enviado via POST, no campo cod do formulário.

 

Se enviado POST até o cod. 29, funciona direito más se enviar POST com código acima do 29 (porque o 30 foi excluído, já não funciona.

 

Tem alguma forma de resolver isso.

 

Tem alguma forma de selecionar pelo contador de linhas ( 0 a 55) ao invés do código.

 

Esse código, foi adaptado de um exemplo do Beraldo em uma resposta a usuário, más lá ele já procurava solução para isso de excluir regisros.

 

Alguém tem alguma idéia.


<?php
include "php/funcoes.php";
$sql = connect();
$sql = "select * from pacientes";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);

$fim = $rows-1;
echo $fim;
echo "fim dos registros";
echo "<br>";
if(isset($_POST['cod'])){
	$id = $_POST["cod"]-1;
}else
if(isset($_GET['idprev'])){
	$id = $_GET['idprev'];
}
else
	if(isset($_GET['idnext'])){
	$id = $_GET['idnext'];
	
	}
echo $id;
echo "ide de controle";
echo "<br>";

$query = connect();
$query = mysql_query("SELECT cod,nome FROM clientes LIMIT $id,1");
while($mostrar = mysql_fetch_array($query))
{
    $pac = $mostrar['cod'];
	 $nome = $mostrar['nome'];	 
}

?>
<input type="text" name="cod" id="cod" value="<?=$pac?>" size="10" /><br />
<input type="text" name="nome" id="nome" value="<?=$nome?>" size="10" />

<a href="?idprev=<?=($id==0)?0:$id-1;?>">Prev</a> | <a href="?idnext=<?=($id==$fim)?$fim:$id+1;?>">Next</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

ops

A internet caiu ontem e não enviou

Segue o código.


<?php
include "php/funcoes.php";
$sql = connect();
$sql = "select * from clientes";
$res = mysql_query($sql);
$rows = mysql_num_rows($res);
//Aqui conta as linhas da tabela//
$arr = array();
while ($linha = mysql_fetch_assoc($res)) {
	 $arr[] = $linha["cod"];
}
//Cria-se um array com as linhas da tabela//
$fim = $rows-1;
//$rows-1 para limitar o next ao ultimo indice//

//print_r ($arr);Para ver a array//
if(isset($_GET["idprev"])){
	$id = $_GET["idprev"];
//Vem do botao prev//
}else
if(isset($_GET["idnext"])){
	$id = $_GET["idnext"];
	//vem do botao next//
}else
if(isset($_POST["cod"])){
	$indice = $_POST["cod"];
	//vem do formulario de busca via POST//
	$id = array_search($indice, $arr);
	//busca na array a posicao em que se encontra o valor de $_POST//
	//echo $id;Posicao encontrada na array//
}
    

$cod = $arr[$id];//$cod e o valor que se encontra na posicao $id do array//

$query = connect();
$query = mysql_query("SELECT cod,nome FROM clientes WHERE cod = $cod");
while($mostrar = mysql_fetch_array($query)
{
    $pac = $mostrar['cod'];
	 $nome = $mostrar['nome'];	 
}
?>
<input type="text" name="cod" id="cod" value="<?=$pac?>" size="10" /><br />
<input type="text" name="nome" id="nome" value="<?=$nome?>" size="10" />
<a href="?idprev=<?=($id==0)?0:$id-1;?>">Prev</a> | <a href="?idnext=<?=($id==$fim)?$fim:$id+1;//$id=fim para limitar incremento ao total de linhas?>">Next</a>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,

Estava a procura deste código faz tempo, poderia me passar mais informações do mesmo, se puder postar a parte do html também, preciso entender como funciona, estou querendo aplicar aqui.

Agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
Entre para seguir isso  

×

Informação importante

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