• User •

    tabella dinamica ripetuta in orizzontale anziche in verticale

    con il codice sottostante sto creando una tabella dove mi vengono prelevati solo gli ultimi due consigli inseriti in mysql.
    il problema è che i due record prelevati vengono visualizzati uno sotto l'altro e invece io vorrei metterli uno di fianco all'altro....
    ossia
    foto descrizione foto descrizione
    e non
    foto descrizione
    foto descrizione

    dove sbaglio?

    <?php do { ?>
    <table width="50%" cellpadding="0" cellspacing="2">
    <tr>
    <td width="124" height="163"><img src="_blank.gif" width="12" height="1"><img src="<?php echo $row_consigli['foto']; ?>" width="120" height="120" border="0" class="Bordered"></td>
    <td width="541" valign="middle" class="Indented1"><p><strong><?php echo $row_consigli['titolo']; ?></strong><br>
    <br>
    <?php echo $row_consigli['descrizionebreve']; ?><br>
    <br>
    </p></td>
    </tr>
    </table>
    <?php } while ($row_consigli = mysql_fetch_assoc($consigli)); ?><br>


  • User Attivo •

    :ciauz:Ciao thenax,
    all'interno del loop do-while tu fai aprire e chiudere una tabella ogni volta, pertanto ogni risultato appare sotto quello precedente.

    Per ottenere l'effetto che desideri devi ingegnarti un po'...

    Metti all'inizio del loop un variabile a zero e subito dopo l'istruzione do la incrementi di un'unità, successivamente ti calcoli il resto della divisione per 2, in modo che a loop alterni ti dia 1 o 0:

    $i=0;
    ***<?php do { ***
    ***$i++; ***
    $resto=$i%2;
    ?>

    In questo modo $resto varrà alternativamente 1 o 0 partendo da 1. Fatto ciò, devi formattare l'output in modo che la tabella e la riga vengano aperte solo quando $resto==1 e vengano chiuse solo quando $resto==0: con il conseguente risultato di affiancare per ogni riga non 2 ma 4 celle, esattamente come hai chiesto tu.

    Ovviamente devi dimezzare la larghezza di ogni cella.

    Tienici aggiornato sugli sviluppi!
    :ciauz: