mostrar datos en múltiples columnas

Hola, necesito build una tabla con cuatro columnas de una tabla mySQL. Esto es lo que tengo ahora:

<?php "<table>"; while ( $row = mysql_fetch_array( $result , MYSQL_ASSOC) ) { "<tr>"; "<td>"; print("<p><img id='g1' src='/$row[img]' width=130 height=130 onClick='f1()'>" ); print( "<p> Name: $row[name] <br>"); "</td>"; "</tr>"; "</table>"; } ?> 

el resultado será una tabla de columnas como esta:

enter image description here

Necesito que la tabla esté en cuatro columnas como esta:

enter image description here

¿Es esto posible si es así como lo hago?

 <?php $items_in_row = 4 ; $index = 0 ; ?> <table> <tr> <?php while ($row = mysql_fetch_array( $result , MYSQL_ASSOC)){ $index++ ; ?> <td> <p> <img id='g1' src='/<?php echo $row["img"] ;?>' width=130 height=130 onClick='f1()'>" ; </p> <p> Name: <?php echo $row['name'] ; ?> </p> <br> </td> <?php if ($index%$items_in_row == 0){ ?> </tr> <tr> <?php } } ?> </tr> </table> 

Editado

Simplemente mueva los <tr> s fuera del while .

 "<table><tr>"; while ($row = ...) { "<td>"; ... "</td>"; } "</tr></table>"; 

Supongo que esto es una especie de pseudocódigo, ya que en realidad no escribes la cadena a nada. Tampoco debería usar las funciones mysql_ en el nuevo código, pero use PDO o mysqli en su lugar.

 "<table>"; "<tr>"; $i=1; while ( $row = mysql_fetch_array( $result , MYSQL_ASSOC) ) { "<td>"; print("<p><img id='g1' src='/$row[img]' width=130 height=130 onClick='f1()'>" ); print( "<p> Name: $row[name] <br>"); "</td>"; if ($i%4 == 0){ "</tr><tr>" } $i++; "</tr>" "</table>"; } 
    Intereting Posts