Ir para conteúdo

Arquivado

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

Giihh

Ordem de cadastro e pesquisa

Recommended Posts

Como faço para quando houver um novo cadastro no BD ai na tabela do meu index.php todo novo cadastro não aparecer na última linha e sim na primeira?

<table class="table table-hover">

<thead>
<tr>
<th>#</th>
<th>Cód:</th>
<th>Nome</th>
<th>e-mail</th>
</tr>
</thead>

<tbody>
<?php
$sqlRead = 'SELECT * FROM cadastro';
try {
$read = $db->prepare($sqlRead);
$read->execute();
} catch (PDOException $e) {
echo $e->getMessage();
}
while ($rs = $read->fetch(PDO::FETCH_OBJ)) {
?>
<tr>
<td><?php echo $rs->id; ?></td>
<td><?php echo $rs->cod; ?></td>
<td><?php echo $rs->nome; ?></td>
<td><?php echo $rs->email; ?></td>
<td>
<a href="index.php?action=update&id=<?php echo $rs->id; ?>" data-toggle="modal"><span class="glyphicon glyphicon-refresh" style="color: #00578a;"></span></a>
<a href="index.php?action=delete&id=<?php echo $rs->id; ?>" onclick="return confirm('Deseja deletar?');"><span class="glyphicon glyphicon-remove-sign" style="color: #F21;"></span></a>
</td>
</tr>
<?php } ?>
</tbody>

</table> 

E como faço para o formulário de pesquisa retornar no mesmo lugar da tabela acima apenas as linhas que contiver um dos termos (palavras, numeros) pesquisados?

 

A conexão esta sendo feita com PDO

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, pro cadastro aparecer na primeira linha é simples, ali na sua query: 'SELECT * FROM cadastro'

vc só precisa informar que vc deseja ordenar pelo campo ID (chave primária) e que vc deseja que seja ordenado de maneira crescente

 

Ou seja:

 

'SELECT * FROM cadastro ORDER BY id ASC';

 

Sendo ASC = Crescente e DESC = Decrescente

 

Agora a parte da pesquisa eu não entendi muito bem a sua dúvida, pode explicar um pouco melhor??

 

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Era isso mesmo :D obrigada Marcello!

 

Em relação a pesquisa, conforme for muito grande a quantidade de cadastros para facilitar atualização ou exclusão, quero colocar na página um campo de pesquisa. caso seja utilizado o campo de pesquisa, a mesma tabela acima retornaria linhas (ids) que contem o conteúdo exato ou aproximado do que foi pesquisado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ai seria algo do tipo:

 

$search = $_GET['search']; //tratar essa variavel com um sanitize

if ( isset($_GET['search']) ) {
    $sqlRead = 'SELECT * FROM cadastro WHERE nome LIKE "%'.$search.'%" ORDER BY id ASC';
} else {
    $sqlRead = 'SELECT * FROM cadastro ORDER BY id ASC';
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

@WilliamBruno

Agradeço contribuição!
é novo pra mim, como seria um tratamento da variável com sanitize?

if ( isset($_GET['search']) ) {
    $sqlRead = 'SELECT * FROM cadastro WHERE nome LIKE "'.$search.'" ORDER BY id ASC';
//aqui esta selecionando todos os campos da tabela? 

} else {
    $sqlRead = 'SELECT * FROM cadastro ORDER BY id ASC';

}

o que faz: nome LIKE "'.$search.'"?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então o LIKE traduzido significa IGUAL ou PARECIDO

 

Funciona assim, se vc colocar nome LIKE "'.$search.'" vc ira retornar apenas resultados onde o texto buscado for idêntico ao texto do banco de dados, para fazer uma busca aproximada, por exemplo, digamos buscar todos os registros que tenham a mesma sequência de caracteres vc utiliza o % ficaria assim:

 

nome LIKE "%'.$serach.'%"

 

neste caso digamos que o usuário busque pelo termo "oi" ele ira retornar todos os registros que tenham esta sequencia, por exemplo "Foi", "Boi", etc

 

Sem o % ele irá retornar apenas se existir algum dado no banco escrito "oi" senão ele não retorna nada.

 

Agora o quanto ao sanitize eu não sabia q isso existe, kkk, então vou ficar te devendo essa, mas eu dei uma pesquisada rápida e vi que parece ser algo bem útil vo estudar isso ai tbm kk

 

Qualquer dúvida da um grito aê ;)

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.