Foros del Web » Programando para Internet » PHP »

Como

Estas en el tema de Como en el foro de PHP en Foros del Web. Haber si me ayudan lo que quiero hacer es que estando en un tema en la esquina inferior me salga tema anterior y tema siguiente. ...
  #1 (permalink)  
Antiguo 05/06/2004, 13:57
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Como

Haber si me ayudan lo que quiero hacer es que estando en un tema en la esquina inferior me salga tema anterior y tema siguiente. Tengo todo lo necesario para formar mi consulta pues en la URL tengo la categoria de los foro, el foro y el topico que estoy visitando pero lo que pasa es que no se como ponerla. Pueden ver el ejemplo en mi sitio web en la seccion de los Foros y la otra duda que tengo es como mostrar las respuestas de ese post que también tengo todos los datos necesarios pero no se como hacerlo pues lo que hago para mostrar el post es esto:
Código PHP:
if(isset($_GET['action']) && $_GET['action']!="newpost" && !isset($_GET['topic']) && !isset($_GET['what'])){
   
# Obtenemos el título del Foro actual
   
$query "SELECT * FROM foros WHERE idcat='".$_GET['catforo']."' AND idforo='".$idforo."'";
   
$result mysql_query($query) or die("No se ha podido ejecutar la consulta ".$query.". Error: ".mysql_error());
   
$fetch mysql_fetch_assoc($result);
   echo 
"<table width='100%'  border='0' cellpadding='0' cellspacing='1' class='table'>
         <tr><td colspan='6' class='forotema' style='padding-right:3px; padding-left:5px; padding-top:1px; padding-bottom:1px'><a href='foros.php?action=show&foro=all&"
.SID."'>Foro</a> :: <a href='foros.php?action=show&catforo=".$fetch['idcat']."&foro=".$fetch['idforo']."&".SID."'>".$fetch['title']." </td>
         </tr><tr>
         <td colspan='2'><div align='center' class='forotema left' style='padding-right:3px; padding-left:3px; padding-top:1px; padding-bottom:1px'>Temas</div></td>
         <td width='11%' class='forotema center'>Respuestas</td><td width='11%' class='forotema center'>Autor</td>
         <td width='10%' class='forotema center'>Lecturas</td><td width='19%' class='forotema center'>Última respuesta</td>
         </tr>"
;
   
# Obtenemos los datos de la tabla
   
$query_00 "SELECT * FROM post WHERE idcat='".$_GET['catforo']."' AND idforo=".$_GET['foro']."";
   
$result_00 mysql_query($query_00) or die("No se ha podido ejecutar la consulta ".$query_00.". Error: ".mysql_error());
   if(
mysql_num_rows($result_00)!=0){
      while(
$fr mysql_fetch_assoc($result_00)){
      
# Consulta que me devuelve la cantidad de respuestas  de ese post, así como la fecha de la última respuesta
      
$query_01 "SELECT count(idreply) as replycant,date,DAYOFMONTH(date) AS dia, DAYOFWEEK(date) AS semana, MONTH(date) AS mes, YEAR(date) AS year, DATE_FORMAT(date,'%h:%i %p') AS hora from reply where idpost='".$fr['idpost']."' group by idpost order by date ASC";
      
$result_01 mysql_query($query_01) or die("No se ha podido ejecutar la consulta ".$query_01.". Error: ".mysql_error());
      
$fr_01 mysql_fetch_assoc($result_01);
      
# Consulta que me devuelve el usuario que posteo el mensaje
      
$query_02 "SELECT us.iduser, us.login, ps.iduser, ps.idpost FROM users us, post ps WHERE ps.idpost=".$fr['idpost']." AND ps.iduser=us.iduser";
      
$result_02 mysql_query($query_02) or die("No se ha podido ejecutar la consulta ".$query_02.". Error: ".mysql_error());
      
$fr_02 mysql_fetch_assoc($result_02);

      echo 
"<tr>
            <td width='5%' class='td txtcn'>
            <img src='images/forum/newtopics.gif' width='27' height='27'>
            </td>
            <td width='41%' class='td txt'><a href='foros.php?action=show&catforo="
.$_GET['catforo']."&foro=".$_GET['foro']."&topic=".$fr['idpost']."&".SID."'><span class='info' title='".$fr['text']."'>".$fr['subject']."</span></a></td>
            <td class='td txtcn'>"
.$fr_01['replycant']."</td><td class='td txtcn'>".$fr_02['login']."</td>
            <td class='td txtcn'>"
.$fr['hits']."</td><td class='td txtcn'>";
            
MakeDate($fr_01['dia'], $fr_01['semana'], $fr_01['mes'], $fr_01['year'], $fr_01['hora']);
      echo 
"</td>
            </tr>"
;
    }
   }else{
    echo 
"<tr><td class='td txt' colspan='6' style='padding-right:3px; padding-left:5px; padding-top:1px; padding-bottom:1px'>No hay mensajes en este Foro</td></tr>";
   }
   echo 
"<tr>
         <td colspan='6' class='td txtcn'><div align='left' style='padding-right:3px; padding-left:5px; padding-top:1px; padding-bottom:1px'>
         <form action='foros.php?action=newpost&catforo="
.$fetch['idcat']."&foro=".$fetch['idforo']."&".SID."' method='post' name='form' id='form'>
         <input name='newpost' type='submit' class='btn' id='newpost' value='Nuevo tema ...'>
         </form></div></td></tr><tr>
         <td colspan='6' class='td txtcn' style='padding-right:3px; padding-left:5px; padding-top:1px; padding-bottom:1px'><table width='200'  border='0' align='left' cellpadding='0' cellspacing='2'>
         <tr>
         <td width='27'><div align='center'><img src='images/forum/announce.gif' width='27' height='27'></div></td>
         <td width='62' class='txt'>Anuncio</td>
         <td width='29'><div align='center'><img src='images/forum/oldtopics.gif' width='27' height='27'></div></td>
         <td width='72' class='txt'>Tema viejo </td>
         </tr><tr>
         <td><div align='center'><img src='images/forum/postit.gif' width='27' height='27'></div></td>
         <td class='txt'>PostIt</td>
         <td><div align='center'><img src='images/forum/closetopics.gif' width='27' height='27'></div></td>
         <td class='txt'>Tema cerrado </td>
         </tr><tr>
         <td><div align='center'><img src='images/forum/newtopics.gif' width='27' height='27'></div></td>
         <td class='txt'>Tema nuevo </td>
         <td><div align='center'></div></td>
         <td>&nbsp;</td></tr></table></td></tr></table>"
;
  }elseif(
$_GET['action']=="show" && (isset($_GET['topic']))){
   
PostDetails($_GET['topic']);
  }elseif(
$_GET['action']=="newpost"){
   
FormReply();
  }elseif(
$_GET['action']=="show" && isset($_GET['what']) && $_GET['what']=="aboutforos"){
   
AboutForo();
  } 
Salu2
__________________
Ing. Reynier Pérez Mira
  #2 (permalink)  
Antiguo 06/06/2004, 02:38
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
mmm demasiado código, que weba leerlo... pero todo debe llevar lógica. trata de ser mas concreto sobre tus dudas.

Tratare de responde "a ciegas"

para tema anterior y tema siguiente, al haber entrado al tema, una posible solución es que al entrar, hagas la misma consulta (ordenada por fecha y hora normalmente) y veas que registro queda después y cual antes del tema actual, en base a eso generas tus links.

para las respuestas, pues se supone debes tener una tabla de "respuestas" simplemente seleccionas las respuestas que tengan el IdTema del tema que estas consultando, y las ordenas por fecha y hora también..

un saludo
  #3 (permalink)  
Antiguo 06/06/2004, 10:54
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 21 años, 4 meses
Puntos: 1
Ese es el problema

La consulta ya la tengo hecha pero no se como poner el puntero interno del MySQL a apuntar a la fila anterior en caso de que exista o a la siguiente en caso de que exista tambien. Esa es mi duda. Ya lo de la consulta lo resolví.

Salu2 y gracias
__________________
Ing. Reynier Pérez Mira
  #4 (permalink)  
Antiguo 06/06/2004, 11:36
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
una función útil puede ser

http://mx2.php.net/manual/es/functio...-data-seek.php


saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:27.