Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 24-09-2004
alachaise alachaise is offline
Miembro
 
Registrado: ago 2004
Posts: 37
Poder: 0
alachaise Va por buen camino
Unhappy mostrar 15 firmas por paginas

tengo un problema hize un libro de visita pero me gustaria mostrar por 15 firmas por paginas alguien me pudiera ayudar el codigo es el siguiente imaginando ya que tengamos ya la base datos y la pagina mensajes include necesito respuestas


Código:
  
<html>
<head>
 <title>Libro de visitas</title>
 <link rel="STYLESHEET" type="text/css" href="estilo.css">
</head>
<body>
<br>
<table align="center" width="550" cellspacing="2" cellpadding="8" border="0" bgcolor="#ffffff">
<tr>
	<td>
<h1>Libro de visitas PHP</h1>
<?
//conecto con la base de datos
$conn = mysql_connect("localhost","root",""); 
mysql_select_db("basedatosuccm",$conn); 

if (!$HTTP_POST_VARS)
{
 //si no recibo nada por el formulario de firma del libro, muestro las firmas del libro
 //construyo la sentencia SQL
 $ssql = "SELECT * FROM librovisitas_php";
 
 //se mostrarán las últimas fimas, aunque habrá un enlace en la parte de abajo que se podrá pulsar para ver más firmas
 if (isset($_GET["vermas"]))
  $ssql .=  " where id_librovisitas_php<=" . $vermas;
 //ordeno la sentencia y limito el numero de resultados
 $ssql .= " ORDER BY id_librovisitas_php desc limit 11";
 
 //tomo el juego de resultados
 $resultid = mysql_query($ssql,$conn);
 ?>
 
 Aqu&iacute; puedes leer los mensajes de los visitantes y tambi&eacute;n puedes dejar el tuyo utilizando el formulario de abajo.
 <br>
 <br>
 <span class=fuente8><b>Muchas gracias por tu participaci&oacute;n</b></span>
 <br>
 <br>
 <?
 //muestro los datos en un bucle
 $num_filas = 0;
 while (($damefila=mysql_fetch_object($resultid)) && ($num_filas<10))
 {
  ?>
  <table align="center" width="100%" cellspacing="2" cellpadding="0" border="0">
  <tr>
	  <td valign="top" class=fuente8><b>
  <?  //si el visitante no introdujo nombre muestro como nombre "Anónimo"
   if ($damefila->nombre == "-"){
	echo "Anónimo";
   }elseif ($damefila->email != "-") {
	echo '<a href="mailto:' . $damefila->email . '">' . $damefila->nombre . '</a>';
   }else{
	echo $damefila->nombre;
   }
  
  ?></b>:<br>
  </td></tr>
  <tr><td bgcolor=cccccc colspan="2"><img src="images/pixeltrans.gif" width=1 height=1 border="0"></td></tr>
  <td class=fuente8 valign="top">
   <?echo strip_tags($damefila->comentario)?>
   <td valign="top" align="right" nowrap class=fuente8>
   Valoracion: <?echo $damefila->valoracion?> 
  </td>
  </tr>
  </table>
  
  <br>
  
  <?
  $num_filas++;
 } //termina el bucle while
 
 //si quedan más valoraciones en el conjunto de resultados, muestro el enlace de "Ver más"
 if ($damefila)
  echo "<div align=center><b><a href=\"index.php?vermas=$damefila->id_librovisitas_php\">Ver m&aacute;s mensajes</a></b></div><br>";
  
 //libero el conjunto de resultados
 mysql_free_result($resultid);
 
 //incluyo el formulario para firmar
 include ("formul_mensaje.html");
} 
else 
{
 //estoy recibiendo datos del fomulario de firmas
 //Formateamos un poco el formulario, por si acaso los datos son incorrectos
 
 //eliminamos las etiquetas HTML y PHP de las cadenas de texto
 $nombre = strip_tags($_POST["nombre"]);
 $email = strip_tags($_POST["email"]);
 $comentario = strip_tags($_POST["comentario"]);
 
 //Cortamos las cadenas demasiado largas
 $nombre=substr($nombre,0,150);
 $email=substr($email,0,80);
 
 //Comprobamos que el visitante se ha molestado en rellenar algo
 if (strlen($nombre)==0 and strlen($email)==0 and strlen($comentario)==0)
 {
?>
  <div align="center"><b>Gracias por el envío</b>.<br><br>Te agradecer&iacute;amos, no obstante y si no resulta mucho esfuerzo, que rellenases alguno de los campos para dejar constancia de tu visita.</div>
<?
 }else{
  //si alguno de los campos falta prefiero colocar un guión o "sin comentarios"
  if (!$nombre)$nombre="-";
  if (!$email) $email="-";
  if (!$comentario) $comentario="Sin comentarios";
 
  //Generamos la ssql e insertamos el registro
  $ssql = "INSERT INTO librovisitas_php (nombre,email,valoracion,comentario) VALUES ('" . $nombre . "','" . $email . "'," . $_POST["valoracion"] . ",'" . $comentario . "')";
  //echo $ssql . "<p>";
  mysql_query($ssql,$conn);
?>
  <div align="center"><b>Muchas gracias por tu participaci&oacute;n</b></div>
 <?
 }
?>
 <br>
 <br>
 <div align="center"><b><a href=".">Volver al libro de visitas</a></b></div>
<?
}
mysql_close($conn);
?>
 </td>
</tr>
</table>
<br>
</body>
</html>
Responder Con Cita
  #2  
Antiguo 24-09-2004
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
Lo tienes casi hecho, eso sí, un poco embarullado para mi gusto. Sólo te falta darle valor a esa variable $vermas a la cual estás haciéndole incluso un condicional de la siguiente forma...
Código PHP:
if (isset($_GET["vermas"]))
$ssql .= " where id_librovisitas_php<=" $vermas;
//ordeno la sentencia y limito el numero de resultados
$ssql .= " ORDER BY id_librovisitas_php desc limit 11"
Pero claro, $vermas nunca vale nada, deberías cambiar ese código por algo así...
Código PHP:
if ( isset( $_GET["vermas"] ) ) {
    
$ssql .= " ORDER BY id_librovisitas_php DESC LIMIT $vermas , 15";
}
else {
    
$ssql .= " BY id_librovisitas_php DESC LIMIT 0 , 15";

Ahora ya sólo te falta el enlace que llama la página con los siguientes 15 registros...

Código PHP:
<a href="visitas.php?vermas=<? echo $vermas +15?>">siguiente</a><br>
__________________
Saludos
Emilio
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 09:40:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi