- Home
- Categorie
- Coding e Sistemistica
- PHP
- tabella dinamica ripetuta in orizzontale anziche in verticale
-
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 descrizionedove 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>
-
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!