Ir para conteúdo

Arquivado

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

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

×

Informação importante

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