Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Saudações a todos!
eu montei uma interface de consulta, por onde o usuário faz tambem alteração e exclusão dos registros na mesma página. Montei um formuário com botões para pesquisa, modificar e exclusão, usando Switch. E os resultados são paginados.
Até ai tudo bem.
Só que a paginação não funciona, só vem o resultado da primeira página. Se manda exibir o da página seguinte, os registros vem em branco.
Fiz os testes e descobri duas coisas:
1 - Se uso a Query "SELECT * FROM cliente WHERE name LIKE '%$name%'", dá pau. Mas se eu uso "=" no lugar do 'LIKE', funciona. Porém eu perco o uso do "%" nas consultas, que pra mim é essencial.
2 - Se essa query fica dentro de uma "SWITCH", os resultados da página seguinte vem em branco tbm. Se tira o "SWITCH" fora e deixa o formulário como se tivesse apenas um comando "Pesquisar", ai funciona.
Alguem sabe como posso reescrever meu código para que a paginação funcione legal, sendo que eu possa usar vários comandos no formulário e as pesquisas usando o caractere "%"!?
Qualquer ajuda é bem vinda!
Abraço a todos!!!
$db = mysql_select_db($database);//Variáveis$name=$_POST['name'];$currentPage = $_SERVER["PHP_SELF"];function get_post_action($name){ $params = func_get_args(); foreach ($params as $name) { if (isset($_POST[$name])) { return $name; } }}$maxRows = 5;$pageNum = 0;if (isset($_GET['pageNum'])) { $pageNum_Recordset1 = $_GET['pageNum'];}$startRow = $pageNum * $maxRows;switch (get_post_action ('pesquisa', 'alterar', 'excluir')) {case 'pesquisa':$search = mysql_query("SELECT * FROM cliente WHERE name LIKE '%$name%'" LIMIT $startRow, $maxRows");$total = mysql_num_rows($search);$l = mysql_fetch_assoc($search);if (isset($_GET['totalRows'])) { $totalRows_Recordset1 = $_GET['totalRows'];} else { $all = $search; $totalRows = mysql_num_rows($all);}$totalPages = ceil($totalRows/$maxRows)-1;$queryString = "";if (!empty($_SERVER['QUERY_STRING'])) { $params = explode("&", $_SERVER['QUERY_STRING']); $newParams = array(); foreach ($params as $param) { if (stristr($param, "pageNum") == false && stristr($param, "totalRows") == false) { array_push($newParams, $param); } } if (count($newParams) != 0) { $queryString = "&" . htmlentities(implode("&", $newParams)); }}$queryString = sprintf("&totalRows=%d%s", $totalRows, $queryString);//mysql_free_result($search);break;case 'alterar':$update = mysql_query("UPDATE cliente SET name = '$name', id = '$id', cnpj = '$cnpj', ie = '$ie', adress = '$adress', bairro = '$bairro', city = '$city', cep = '$cep', tel = '$tel', fantasia = '$fantasia', data = '$data', obs = '$obs' WHERE id = '$id'");echo 'Alterado!!!';break;case 'excluir':$update = mysql_query("DELETE FROM cliente WHERE id = '$id'");echo 'Excluido!!!';break;default:echo 'nada!!!';}?><form id="form1" name="form1" method="post" action="<?php $currentPage ?>"> <input name="name" type="text" class="form" id="name" size="62" value="<?php echo $l['name']; ?>"/> <input name="id" type="text" class="form" id="id" size="5" value="<?php echo $l['id']; ?>"/> <input name="cnpj" type="text" class="form" id="cnpj" value="<?php echo $l['cnpj']; ?>" size="28" maxlength="18" /> <input name="ie" type="text" class="form" id="ie" size="25" maxlength="15" value="<?php echo $l['ie']; ?>"/> <input name="adress" type="text" class="form_2" id="adress" size="50" value="<?php echo $l['adress']; ?>"/> <input name="bairro" type="text" class="form_2" id="bairro" size="25" value="<?php echo $l['bairro']; ?>"/> <input name="city" type="text" class="form_2" id="city" size="20" value="<?php echo $l['city']; ?>"/> <input name="cep" type="text" class="form_2" id="cep" size="15" maxlength="10" value="<?php echo $l['cep']; ?>"/> <input name="tel" type="text" class="form_2" id="tel" size="25" value="<?php echo $l['tel']; ?>"/> <input name="fantasia" type="text" class="form_2" id="fantasia" size="47" value="<?php echo $l['fantasia']; ?>"/> <input name="data" type="text" class="form_2" id="data" size="25" value="<?php echo $l['data']; ?>"/> Item <?php echo ($startRow + 1) ?> de <?php echo $totalRows ?> <br /> <?php if ($pageNum > 0) { // Show if not first page ?> <a href="<?php printf("%s?pageNum=%d%s", $currentPage, 0, $queryString); ?>"><< </a> <?php } // Show if not first page ?><?php if ($pageNum > 0) { // Show if not first page ?> <a href="<?php printf("%s?pageNum=%d%s", $currentPage, max(0, $pageNum - 1), $queryString); ?>">Anterior</a> <?php } // Show if not first page ?><?php if ($pageNum < $totalPages) { // Show if not last page ?> <a href="<?php printf("%s?pageNum=%d%s", $currentPage, min($totalPages, $pageNum + 1), $queryString); ?>">Próximo</a> <?php } // Show if not last page ?><?php if ($pageNum < $totalPages) { // Show if not last page ?> <a href="<?php printf("%s?pageNum=%d%s", $currentPage, $totalPages, $queryString); ?>"> >></a> <?php } // Show if not last page ?> <input name="pesquisa" type="submit" class="botao" id="pesquisa" value="Pesquisar Empresa" /> <input name="Limpar" type="reset" class="botao" id="reset" value="Limpar Campos" /> <input name="alterar" type="submit" class="botao" id="alterar" value="Alterar Empresa" /> <input name="excluir" type="submit" class="botao" id="excluir" value="Excluir Empresa" /></form>Carregando comentários...