Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/05/2008, 08:29
isra00
Invitado
 
Mensajes: n/a
Puntos:
De acuerdo Respuesta: Cómo sabes cuantos campos tiene una tabla de la base de datos???

Hay varias maneras. La primera es pedirlos directamente a MySQL con:

Código:
SHOW FIELDS FROM tabla
Pruébalo en la consola MySQL para ver cómo funciona, porque además de devolver los nombres de los campos también devuelve el tipo, clave, atributos, etc.

La otra manera, que es útil si quieres ejecutar una consulta, es por PHP:

Código PHP:
$c=mysql_query("SELECT * FROM tabla WHERE...");
$r=mysql_fetch_assoc($c);
foreach (
$r as $campo=>$valor) echo $campo;
mysql_data_seek($r);
while (
$r=mysql_fetch_assoc($c) {
 
//Lo que quieras hacer con la consulta

La primera vez que hago mysql_fetch_assoc recorro el array $r con foreach y la variable $campo me devuelve los nombres de los campos. Después ejecuto mysql_data_seek para devolver el puntero interno a la primera fila de resultados, ya que mysql_fetch_array avanza una posición cada vez que se invoca. Si no ejecutase mysql_data_seek, el bucle while, que recorre los resultados, empezaría por la segunda fila de resultados.

Como te digo, el primer método es útil si simplemente quieres saber los campos de la tabla y no vas a ejecutar ninguna otra consulta. El segundo método es más eficiente cuando estás trabajando con consultas "del mundo real", ya que no tienes que hacer una consulta más de "SHOW FIELDS", sino que aprovechas los campos del resultado de la consulta.

Espero que sirva de ayuda. Un abrazo,
Isra