Botones de desplazamiento

Deseo realizar 4 botones de desplazamiento por la base de datos registro siguiente, registro anterior, registro primero y registro ultimo sera que me puedes decir como realizarlo es decir si le doy al botón registro siguiente se valla a otro registro de la base de datos plis

3 Respuestas

Respuesta
Si tus registros tienen un ID único, puedes utilizarlo para buscar el registro anterior, siguiente, primero sólo cambiando el WHERE, el ORDER BY y el LIMIT = 1.
Luego la página en la que muestres los registros tiene que aceptar qué registro quieres mostrar, y los botones lo único que tienen que hacer es llevar a la misma página en la que estás $_SERVER['PHP_SELF'], pero cambiando los IDs del registro por los que has calculado en el paso anterior.
Respuesta
1
Con Dreamweaver, lo puedes hacer sin escribir una sola linea de código, Pruebalo, y si no te aclaras, te pego el código que genera el propio Dreamweaver aqui.
disculpa pero pegalo y yo lo acomodo no se trabar con ese programa y disculpa la molestia
Aqui tienes el ejemplo:
<?php require_once('Connections/conexion.php'); ?>
<?php
$currentPage = $_SERVER["PHP_SELF"];
$maxRows_Recordset1 = 1;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
  $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
mysql_select_db($database_conexion, $conexion);
$query_limit_Recordset1 = "SELECT * FROM tblaudio";
$Recordset1 = mysql_query($query_limit_Recordset1, $conexion) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
  $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
  $all_Recordset1 = mysql_query($query_Recordset1);
  $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
$queryString_Recordset1 = "";
if (!empty($_SERVER['QUERY_STRING'])) {
  $params = explode("&", $_SERVER['QUERY_STRING']);
  $newParams = array();
  foreach ($params as $param) {
    if (stristr($param, "pageNum_Recordset1") == false &&
        stristr($param, "totalRows_Recordset1") == false) {
      array_push($newParams, $param);
    }
  }
  if (count($newParams) != 0) {
    $queryString_Recordset1 = "&" . htmlentities(implode("&", $newParams));
  }
}
$queryString_Recordset1 = sprintf("&totalRows_Recordset1=%d%s", $totalRows_Recordset1, $queryString_Recordset1);
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<title>TABLA CON CSS.</title>
</head>
<body>
<table border="0">
<tr>
<td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, 0, $queryString_Recordset1); ?>">Primero</a>
          <?php } // Show if not first page ?>
    </td>
<td><?php if ($pageNum_Recordset1 > 0) { // Show if not first page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, max(0, $pageNum_Recordset1 - 1), $queryString_Recordset1); ?>">Anterior</a>
          <?php } // Show if not first page ?>
    </td>
<td><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, min($totalPages_Recordset1, $pageNum_Recordset1 + 1), $queryString_Recordset1); ?>">Siguiente</a>
          <?php } // Show if not last page ?>
    </td>
<td><?php if ($pageNum_Recordset1 < $totalPages_Recordset1) { // Show if not last page ?>
          <a href="<?php printf("%s?pageNum_Recordset1=%d%s", $currentPage, $totalPages_Recordset1, $queryString_Recordset1); ?>">&Uacute;ltimo</a>
          <?php } // Show if not last page ?>
    </td>
</tr>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Respuesta
-1
Supongo que tendas las entradas de la base de datos con un identificador (id, código..)
Si es numérico es fácil hacerlo:
Ir al primero: es sacar el mínimo id = select min (id) from tabla
Ir al último: es sacar el máximo id = select max(id) from tabla
Ir al anterior: puedes sacar todos los ids menores que el actual y ordernarlos descendientemente : Select id from tabla where id < IDACTUAL order by id DESC y el primero de esa consulta será el mas grande de los anteriores a IDACTUAL, y por lo tanto el anterior.
Ir al siguiente: lo mismo que el anterior, pero al revés, sacas todos los ids mayores al actual y los ordenas ascendentemente : select id from trabla where id>IDACTUAL order by id ASC. Así el primer registro que saca esa consulta es el menor de todos los mayores, y por lo tanto el siguiente al actual.
Si no es numérico, es más complicado. Si es así dímelo y lo vemos.
Exactamente no son numéricos van tres campos codigopa, nombrepa y capitalpa tabla países bases de datos tesis con mysql y php
Entonces tienes que definir un orden, es decir, "¿x" porque va delante de "y"? ¿Por qué "a" es el primero y porque "z" es el ultimo?,
Según entiendo es una base de datos de países con sus capitales, y por ejemplo:
Codigopa nombrepa capitalpa
ES España Madrid
FR Francia Paris
PT Portugal Lisboa
GB Inglaterra Londres
lo que se suele usar para los países es ordenarlos por su código país alfabéticamente
En este caso, ES seria el primero, y PT el ultimo (por orden alfabético)
La secuencia ordenada (Select * from paises Order By CODIGOPA ASC) seria:
ES FR GB PT
Si usas ese orden, puedes hacer lo mismo que te he explicado arriba con los números ya que las bases de datos suelen poder comparar cadenas: ES < FR = true (ES es menor que FR)
No entendiste bien quiero 4 botiones donde me pueda desplazar por todos los iotones de la base de datos ejm. con el mismo
codigopa nombrepa capitalpa
ES España Madrid
FR                   Francia            Paris
PT                   Portugal          Lisboa
GB Inglaterra Londres
estoy parada en francia y le doy al botón siguiente y me muestr el de portugal, en cambuio si le doy al anterior me muestr otra vez el de francia si le doy al primero me muestr el primer registro que en este caso es españa y se le doy al botón ultimio me muestr el ultimo registro que en este caso es inglaterra
Si quieres ese orden especifico, tendrás que añadir un campo orden (numérico) y ponerles orden:
Codigopa nombrepa capitalpa orden
ES España Madrid 1
FR Francia Paris 2
PT Portugal Lisboa 3
GB Inglaterra Londres 4
y hacer lo que te he comentado antes para sacar el siguiente, pero en vez de con id con ORDEN.
Es la forma más fácil para hacerlo.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas