Foros del Web » Programando para Internet » PHP »

marcando post de un foro como postit o importante

Estas en el tema de marcando post de un foro como postit o importante en el foro de PHP en Foros del Web. Hola amigos del foro, esto es algo ke kiero implementar al foro ke programe en mi web, tengo ya hecho algo ke funiciona bien, si ...
  #1 (permalink)  
Antiguo 16/10/2006, 01:09
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
marcando post de un foro como postit o importante

Hola amigos del foro, esto es algo ke kiero implementar al foro ke programe en mi web, tengo ya hecho algo ke funiciona bien, si marco el tema como importante este se muestra arriba de todos los otros posts ke no lo son, dichos posts los ordeno en una tabla pero sucede un pekeño problema ke cuando no hay ningun tema importante me muestra la tabla con sus cabeseras o sea los nombres de las columnas pero si ningun post, aki pongo el script ke uso para mostrar los posts importantes:

Código PHP:
<table style="width: 720px; border: 0;" cellpadding="0" cellspacing="0">
  <tr>
    <td style="width: 35px;" class="cabeza3">I</td>
    <td style="width: 315px;" class="cabeza">Temas</td>
    <td style="width: 130px;" class="cabeza">Autor</td>
    <td style="width: 80px;" class="cabeza2">Respuestas</td>
    <td style="width: 80px;" class="cabeza2">Fecha</td>
    <td style="width: 80px;" class="cabeza2">Lecturas</td>
  </tr>
  <?
    $ct 
strtr($_GET['categoria'], '-'' ');
    
$ct trim($ct);
    include (
"config.php");
    
$query mysql_query("SELECT * FROM foros WHERE categoria='$ct' AND importante='si' ORDER BY fecha DESC");
    while(
$datos mysql_fetch_array ($query)) {
    if (
$colorfila==0) {
      
$color"#F7F7F7";
      
$colorfila=1;
    }else {
      
$color="#FFFFFF";
      
$colorfila=0;
    }
    
$fecha date("d/m/Y",$datos[fecha]);
    
$codigo $datos['id_foro'];
    
$idquien $datos[idautor];
    
$quien $datos[nick];
    
$descri $datos[descripcion];
    
$cate strtr($datos['categoria'], ' ''-');
    
$num $datos[visitas];
    
$close $datos[cerrado];
    if(
$close == "si") {
  
?>
  <tr style="background: #F1FAE1;">
    <td style="width: 35px; border-bottom: 1px solid #63A915;" class="postit">
        <img src="images/postit.gif" alt="Post importante" width="25" height="24" title="Post importante" />                    </td>
    <td style="width: 305px; padding-left: 5px; padding-right: 5px; border-bottom: 1px solid #63A915;" class="memb">
        <span style="float: right; margin-right: 15px;"><img src="images/cerrado.gif" alt="Tema cerrado" /></span>
        <a class="link" href="foros/<?=$cate?>/<?=$codigo?>/"><?=$datos['titulo']?></a>
    </td>
    <td style="width: 130px; border-bottom: 1px solid #63A915;" class="memb">
        <a class="vinculo" title="Entrar al perfil de <?=$quien?>" href="perfiles/<?=$quien?>/"><?=$quien?></a>
    </td>
    <td style="width: 80px; border-bottom: 1px solid #63A915;" class="memb2">
        <?=$datos['comentarios']?>
    </td>
    <td style="width: 80px; border-bottom: 1px solid #63A915;" class="memb2"><?=$fecha?></td>
    <td style="width: 80px; border-bottom: 1px solid #63A915;" class="memb2"><?=$datos['visitas']?></td>
  </tr>
  <?
    
}else {
  
?>
  <tr>
    <td style="width: 35px; background: <?=$color?>" class="postit">
        <img src="images/postit.gif" alt="Post importante" width="25" height="24" title="Post importante" />                    </td>
    <td style="width: 305px; padding-left: 5px; padding-right: 5px; background: <?=$color?>" class="memb">
        <a class="link" href="foros/<?=$cate?>/<?=$codigo?>/"><?=$datos['titulo']?></a>
    </td>
    <td style="width: 130px; background: <?=$color?>" class="memb">
        <a class="vinculo" title="Entrar al perfil de <?=$quien?>" href="perfiles/<?=$quien?>/"><?=$quien?></a>
    </td>
    <td style="width: 80px; background: <?=$color?>" class="memb2">
        <?=$datos['comentarios']?>
    </td>
    <td style="width: 80px; background: <?=$color?>" class="memb2"><?=$fecha?></td>
    <td style="width: 80px; background: <?=$color?>" class="memb2"><?=$datos['visitas']?></td>
  </tr>
  <?
    
}
    }
  
?>
</table>
trate haciendo una consulta a la tabla foros antes de la etiketa <table> ala ke solo consultaba el campo importante y luego hacia un if en el ke decia ke si el campo es = a si pues me muestre la tabla con todo su contenido de lo contrario no muestre nada, pero me sigue mostrando la tabla con los nombres de las columas y vacia, alguno de ustedes, sabe como puedo solucionar esto?, se agradece de antemano

Saludos
  #2 (permalink)  
Antiguo 16/10/2006, 03:43
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Creo que la consulta a la BD no es correcta. Si quieres que te salgan los posts de una categoria ordenador por importantes y fecha, tendrías que ponerlo así:
Código PHP:
$query mysql_query("SELECT * FROM foros WHERE categoria='$ct' ORDER BY importante, fecha DESC"); 
  #3 (permalink)  
Antiguo 16/10/2006, 07:34
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
hola jerkan, esa consulta ke yo hago arriba es para mostrar solo los post ke son importantes o postit, para los no importantes hago otra, o sea ordeno los postit en una tabla y los ke no lo son en otra debajo de los postit por eso solo puse esa consulta pero cuando no hay postit me muestra la tabla vacia con sus columnas y lo ke kisiera es ke no muestre nada si no hay postits. espero haberme dejado entender

Saludos
  #4 (permalink)  
Antiguo 16/10/2006, 07:53
 
Fecha de Ingreso: abril-2005
Mensajes: 100
Antigüedad: 19 años
Puntos: 0
mmm lo que he entendido es que no quieres que salga la tabla si no hay temas importantes... bueno primero decirte que lo suyo seria usar solo un query como ha dicho jerkan. Y para lo de no mostrar la tablas, prueba a poner de esta forma:

Código PHP:
<?php

Aqui el codigo del query
....

// compruebas si hay resultados
if(mysql_num_rows($query) > 0){
?>

y aqui tabla.
y enmedio de la tabla el while

<table>
  <tr> 
    <td style="width: 35px;" class="cabeza3">I</td> 
    <td style="width: 315px;" class="cabeza">Temas</td> 
    <td style="width: 130px;" class="cabeza">Autor</td> 
    <td style="width: 80px;" class="cabeza2">Respuestas</td> 
    <td style="width: 80px;" class="cabeza2">Fecha</td> 
    <td style="width: 80px;" class="cabeza2">Lecturas</td> 
  </tr> 
  <? while( ... ){ ?>
  <tr>
    <td><? echo $datos['.....']; ?></td>
    <td><? echo $datos['.....']; ?></td>
    <td><? echo $datos['.....']; ?></td>
    <td></td>
    <td></td>
    <td></td>
  </tr>
  <? ?>
</table>

<? ?>
asi si no hay ningun registro importante no se muestra la tabla, espero que hayas entendio el ejemplo

Última edición por finikini; 16/10/2006 a las 08:03
  #5 (permalink)  
Antiguo 16/10/2006, 08:05
Avatar de ZydRick  
Fecha de Ingreso: febrero-2005
Ubicación: Lima
Mensajes: 750
Antigüedad: 19 años, 2 meses
Puntos: 4
Hey!! gracias finikini, no habia tomado en cuenta lo de la funcion mysql_num_rows, ahora si ya va perfecto

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 11:25.