Avatar Image
Usuario habitual
Usuario habitual

Buenas, veran me surgio un problema:

tengo esto:

Imagen 1

codigo:

<?php
$noticia_lateral = mysql_query("SELECT titulo,fecha,dia FROM noticias ORDER BY fecha DESC, hora DESC LIMIT 0,20");
while ($noticias = mysql_fetch_array($noticia_lateral))
{
    switch ($noticias[2]!="")
    {
        case ($noticias[2]==1):
        $noticias[2]='Monday';
        break;
        case ($noticias[2]==2):
        $noticias[2]='Tuesday';
        break;
        case ($noticias[2]==3):
        $noticias[2]='Wednesday';
        break;
        case ($noticias[2]==4):
        $noticias[2]='Thursday';
        break;
        case ($noticias[2]==5):
        $noticias[2]='Friday';
        break;
        case ($noticias[2]==6):
        $noticias[2]='Saturday';
        break;
        case ($noticias[2]==7):
        $noticias[2]='Sunday';
        break;
    }
    echo'<tr>
        <td align="center"><span class="dia"><strong>'.$noticias[2].'</strong></span></td>
    </tr>
    <tr>
        <td align="left"><span class="lateral">&raquo; '.stripslashes(htmlentities($noticias[0])).'</span></td>
    </tr>
    <tr>
        <td align="right"><span class="mini">'.$noticias[1].'</span></td>
    </tr>';
}
?>

Pero lo que quier es que los dias que son repetidos, se me agrupe lo demas, es decir, algo asi:
Imagen 2

Si alguien me pudiera dar una respuesta, estaria muy agradecido, ya que me he asado un dia entero y no he conseguido encontrar la solucion.

saludos!!!!

Avatar Image
Usuario habitual
Usuario habitual

Solucionado^^

Si querreis pongo aqui la solucion, para posibles dudas de otros usuarios.

Saludos!

Avatar Image
Moderador
Moderador

mala idea no es.

De interés Público
NO AGREGARME COMO AMIGO, gracias
Asuntos claros en los temas
Consultas en temas no afines serán borradas
Tratemos de expresarnos bien, que así da gusto leer


Avatar Image
Usuario habitual
Usuario habitual

buenas, aqui pego mi solucion 100% casera... jajaja:

Spoiler:

<?php
            $noticia_lateral = mysql_query("SELECT titulo,fecha,dia FROM noticias GROUP BY dia ORDER BY fecha DESC, hora DESC LIMIT 0,7");
            while ($noticias = mysql_fetch_array($noticia_lateral))
            {
                $data_fecha=$noticias[2];
                switch ($noticias[2])
                {
                    case (1):
                    $noticias[2]='Lunes';
                    break;
                    case (2):
                    $noticias[2]='Martes';
                    break;
                    case (3):
                    $noticias[2]='Miercoles';
                    break;
                    case (4):
                    $noticias[2]='Jueves';
                    break;
                    case (5):
                    $noticias[2]='Viernes';
                    break;
                    case (6):
                    $noticias[2]='Sabado';
                    break;
                    case (7):
                    $noticias[2]='Domingo';
                    break;
                }
                echo '<tr>
                        <td align="center"><span class="dia"><strong>'.$noticias[2].'</strong></span></td>
                      </tr>';
                        $noticia_fecha = mysql_query("SELECT DISTINCT titulo,fecha FROM noticias WHERE dia = ".$data_fecha." ORDER BY fecha DESC, hora DESC");
                        while ($not_por_dia = mysql_fetch_array($noticia_fecha))
                        {
                          echo '<tr>
                                    <td align="left"><span class="lateral">&raquo; '.stripslashes(htmlentities($not_por_dia[0])).'</span></td>
                                </tr>
                                <tr>
                                    <td align="right"><span class="mini">'.$not_por_dia[1].'</span></td>
                                </tr>';
                        }
                echo '<tr>
                        <td align="center" height="10"></td>
                      </tr>';
            }
            ?>

1 - En la BD la tabla "noticias" columna "dia" tengo escrito del 1 al 7 dependiendo del dia de la publicacion. esto es facil. En ves de poner un campo "dia" como date o datetime etc, lo puse int. en el insert para la publicacion de la noticia cuando llego a "dia" en values ponemos "date(N)" que nos devuelve en numero el dia de la semana en el que estamos. 1 lunes, 2 martes, 3 miercoles.... 7 domingo.

con la funcio "switch" analizamos la variable. Si el campo dia = 1, me guardas en variable "Lunes", etc...

luego ponemos un while que seleccione el dia por ejemplo 2 (martes). dentro de ese while, ponemos otro que coja los registros con la condicion WHERE dia = $data_fecha (antes guardada para no modificar etc...). Y bueno, cogera los registros, etc. con lo qu obtenemos esto:

http://s3.subirimagenes.com:81/imagen/previo/thump_5531998afse.png

PD: espero que se entienda. De no ser asi ya lo explicaria con mas detalles etc...

ATENCIÓN: Este tema no tiene actividad desde hace más de 6 MESES,
te recomendamos abrir un nuevo tema en lugar de responder al actual
Opciones:
Ir al subforo:
Permisos:
TU NO PUEDES Escribir nuevos temas
TU NO PUEDES Responder a los temas
TU NO PUEDES Editar tus propios mensajes
TU NO PUEDES Borrar tus propios mensajes
Temas similares
No se han encontrado temas similares