PHP - como saber cuantos campos tiene una tabla

   
Vista:

como saber cuantos campos tiene una tabla

Publicado por Marco (21 intervenciones) el 16/01/2014 19:45:34
Que tal gente ando haciendo un gestor de bd una parte que necesita es el de "examinar bases"
y me muestre las tablas y los datos de las mismas, normalmente se pondria un fetch_array indicando que columnaquiero mostrar de mi tabla, en este caso elusrio puede crear N tablas con N campos se deconoce la dimension de la misma, como podria mostrar los datos si no conozcola informacion que contiene la tabla?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve

como saber cuantos campos tiene una tabla y los nombres de los mismos

Publicado por xve (5516 intervenciones) el 16/01/2014 21:31:55
Hola Marco, puede tener acceso a cada uno de los registros de la tabla por su posición en el array... de respuesta al hacer la consulta... creo que tiene que haber una manera mejor de obtener los nombres de los campos de una consulta sql, pero de esta manera también sirve...

Esta es la tabla de ejemplo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
CREATE TABLE IF NOT EXISTS `test` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `descripcion` varchar(100) NOT NULL,
  `valor` int(11) NOT NULL,
  PRIMARY KEY (`id`),
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
 
--
-- Dumping data for table `test`
--
 
INSERT INTO `test` (`id`, `descripcion`, `valor`) VALUES
(1, 'coche', 0),
(2, 'casa', 3),
(3, 'bici', 4),
(4, 'casa', 3),
(5, 'pepe', 0),
(26, 'moto', 3);


Este código muestra como obtener la información de una tabla (utilizando PDO):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$dsn="mysql:host=localhost;dbname=test";
$usr="all";
$pas="all";
 
$dbh=new PDO($dsn, $usr, $pas);
 
$db=$dbh->query("DESCRIBE test");
$result=$db->fetchAll();
 
foreach($result as $row)
{
    echo "<br>".$row["Field"]." - ".$row["Type"];
}
?>


Este es el mismo código, pero utilizando el resultado de una consulta (utilizando PDO):
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
$dsn="mysql:host=localhost;dbname=test";
$usr="all";
$pas="all";
 
$dbh=new PDO($dsn, $usr, $pas);
 
$db=$dbh->query("SELECT * FROM test");
$result=$db->fetchAll();
 
$keys=array_keys($result[0]);
for($i=0;$i<count($keys);$i+=2)
{
    echo "<br>".$keys[$i];
}
?>

Espero que te sirva... coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

como saber cuantos campos tiene una tabla

Publicado por rafa (5 intervenciones) el 24/01/2014 09:47:54
los gestores de bbdd tienen unas tablas internas donde almacena info de las bases de datos, de las tablas, de las columnas/campos de las tablas. en ibm son algo asi como : sysibmsystables, sysibmsyscolumns, etc
por ahi van los tiros.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar