Si necesitas realizar una consulta a una tabla de la cual no conoces los campos, por ejemplo para realizar un gestor de tablas mysql, se puede hacer fácilmente con php. Tan sólo tenemos que hacer una consulta habitual, utilizando mysql_fetch_assoc (no valen mysql_fetch_array ni mysql_fetch_row). Para mostrar todas las filas devueltas también lo haremos habitualmente, pero además pondremos un bucle foreach dentro del while que recorra todos los campos. veamos cómo:
$link = mysql_connect("host","user","pass"); mysql_select_db("nombrebd",$link); $result = mysql_query("SELECT * FROM tabla",$link); while($row = mysql_fetch_assoc($result)) { foreach($row as $key => $value) { echo "$key: $value | "; } echo "<br />"; }
De esta forma veremos en cada fila el nombre del campo y junto a él su valor. Pero esto no es muy útil ya que la información aparece muy desorganizada. Podemos modificar un poco el código para mostrar la típica tabla html, con el nombre de los campos en la parte superior. Así:
$link = mysql_connect("host","user","pass"); mysql_select_db("nombrebd",$link); $result = mysql_query("SELECT * FROM tabla",$link); $row = mysql_fetch_assoc($result)); echo "<table><tr>"; if($row) { foreach($row as $key => $value) { echo "<th>$value</th>"; } } echo "</tr>"; while($row = mysql_fetch_assoc($result)) { echo "<tr>"; foreach($row as $key => $value) { echo "<td>$value</td>"; } echo "</tr>"; echo "</table>"; }
Redactado por Nenillo