• User

    [PHP]Rubriche con anteprima ultimi post

    Salve,
    dovrei pubblicare nella home page di un sito le rubriche coi relativi ultimi post. Finché il codice prevede di pubblicare semplicemente le rubriche in ordine alfabetico nessun problema:
    foto(hardwarepsiche.altervista.org/immagini/1.png)
    [PHP]
    <?php
    $query="SELECT*FROM indice ORDER BY rubriche";
    $result=$result=mysql_query($query,$conn->conn);
    while($assoc=mysql_fetch_assoc($result)){
    echo'<div class="rubriche">
    <a href=""><h2>'.$assoc["rubriche"].'</h2></a>';
    echo'</div>';
    }
    ?>
    [/PHP]

    Se invece voglio far apparire per ogni rubrica il relativo ultimo post non funziona: mi appare solo la prima rubrica in ordine alfabetico col suo ultimo post; e basta:
    foto (hardwarepsiche.altervista.org/immagini/2.png)
    [PHP]
    <?php
    $query="SELECTFROM indice ORDER BY rubriche";
    $result=$result=mysql_query($query,$conn->conn);
    while($assoc=mysql_fetch_assoc($result)){
    echo'<div class="rubriche">
    <a href=""><h2>'.$assoc["rubriche"].'</h2></a>';
    $rubrica=$assoc['rubriche'];
    $query="SELECT
    FROM articoli,rubriche WHERE rubriche.nome='{$rubrica}' ORDER BY data DESC LIMIT 0,1";
    $result=$result=mysql_query($query,$conn->conn);
    $assoc=mysql_fetch_assoc($result);
    echo'<table width="250px;">
    <tr><td><h3>'.$assoc["titolo"].'</h3></td></tr>
    <tr><td>'.substr($assoc["testo"],0,100).'</td></tr>
    </table>';
    echo'</div>';
    }
    ?>
    [/PHP]

    Come devo fare? grazie.


  • User Attivo

    Ciao giovanni, posso suggerirti di cambiare nome alla variabile $assoc all'interno del while? Non credo che serva a risolvere il tuo problema, ma essendoci già un array $assoc, in quel modo lo rinomini.

    Perdonatemi tutti per il mio linguaggio poco tecnico, ma sono incapace a spiegarmi... vediamo un po'
    [PHP]
    while($assoc=mysql_fetch_assoc($result)){
    // qui hai un array in $assoc
    echo'<div class="rubriche">
    <a href=""><h2>'.$assoc["rubriche"].'</h2></a>';
    $rubrica=$assoc['rubriche'];
    $query="SELECT*FROM articoli,rubriche WHERE rubriche.nome='{$rubrica}' ORDER BY data DESC LIMIT 0,1";
    $result=$result=mysql_query($query,$conn->conn);
    $assoc=mysql_fetch_assoc($result);
    // qui hai fatto un altro $assoc, andando a sovrascrivere l'array
    echo'<table width="250px;">
    <tr><td><h3>'.$assoc["titolo"].'</h3></td></tr>
    <tr><td>'.substr($assoc["testo"],0,100).'</td></tr>
    </table>';
    echo'</div>';
    }
    [/PHP]


  • User

    @meis said:

    Ciao giovanni, posso suggerirti di cambiare nome alla variabile $assoc all'interno del while? Non credo che serva a risolvere il tuo problema, ma essendoci già un array $assoc, in quel modo lo rinomini.

    Perdonatemi tutti per il mio linguaggio poco tecnico, ma sono incapace a spiegarmi... vediamo un po'
    [PHP]
    while($assoc=mysql_fetch_assoc($result)){
    // qui hai un array in $assoc
    echo'<div class="rubriche">
    <a href=""><h2>'.$assoc["rubriche"].'</h2></a>';
    $rubrica=$assoc['rubriche'];
    $query="SELECT*FROM articoli,rubriche WHERE rubriche.nome='{$rubrica}' ORDER BY data DESC LIMIT 0,1";
    $result=$result=mysql_query($query,$conn->conn);
    $assoc=mysql_fetch_assoc($result);
    // qui hai fatto un altro $assoc, andando a sovrascrivere l'array
    echo'<table width="250px;">
    <tr><td><h3>'.$assoc["titolo"].'</h3></td></tr>
    <tr><td>'.substr($assoc["testo"],0,100).'</td></tr>
    </table>';
    echo'</div>';
    }
    [/PHP]

    Ci provo, vi faccio sapere, grazie.


  • User

    Scusa il ritardo, ho avuto un po' di impegni. Comunque ho risolto, non ho ottenuto quel che volevo però alla fine, non mi serviva sul serio, bastava specificare solo alcune rubriche nella home. Grazie lo stesso comunque.