Llenar un ARRAY con una BD mysql

Hola gente, de nuevo yo por aqui... nunca les ha pasado que tienen una tabla en su BD, que contiene los datos de configuracion global de su sitio web en construccion.

Normalmente dicha tabla va algo asi:

configura_id configura_nombre configura_valor
1 prueba 1 P1 HECHO
2 prueba 2 P2 HECHO

Pues bien el problema mas grande es que cuando estamos configurando no podemos hacer un:

Select * from ... where configura_id= 1;

o

Select * from ... where configura_nombre= 'prueba 1';

 

Bueno en realidad si se puede, pero no seria dinamico, ya que hay que hacer un select por cada elemento, o talvez se crea un select con variables, pero habria que definir un valor para las mismas variables en nuestro sitio, y que pasaria si nuestra tabla tubiera 80 registros???

Bueno la solucion a este problema es este script que he diseñado con este unico fin: 

configura.php

 

 

Como una breve explicacion del codigo y su uso:

con require, unimos al script la conexion a la BD (No creo que haga falta mostrarlo).

Hago un select, pero solo las columnas que me interesa.

Con esa linea lo que hago es pedirle a mysql que recorra toda la tabla y me devuelva la cantidad en numeros(INT) de datos existentes.

$nConfig = mysql_num_rows ($consulta);

 

Validamos que existan datos

if ($nConfig > 0)

 

Nuestro gran amigo ( un Ciclo ), como podran notar el ciclo inicia en 0 y termina hasta... la cantidad de datos que hay en la tabla...

for ($i=0; $i<$nConfig; $i++)

 

Creamos un vector con $i(aumenta en cada vuelta del for) cantidad de campos con indice numerico, de 0 a ...

    $verConfig = mysql_fetch_array($consulta);
    $CargaConfig[$i] = $verConfig["configura_nombre"];

de esta forma tenemos que

$CargaConfig[0] => prueba 1

$CargaConfig[1] => prueba 2

 

Luego creo otro vector, para los valores. Pero en vez de asignarle un indice numerico, asigno los valores en el anterior vector

$CargaConfigVal[$CargaConfig[$i]] = $verConfig["configura_valor"];

de esta forma tenemos que

prueba 1 => P1 HECHO

prueba 2 => P2 HECHO

 

PARA USARLO, solo debemos enlazar este script a la pagina, y donde quiere podemos llamar el valor de un campo solo con su nombre

Ejemplo:

echo $CargaConfigVal['prueba 2'];

Se imprime solo P1 HECHO

 

PD: Si tienen dudas sobre un material. Pregunten...

Compártelo

También te puede interesar...

Comentarios

  • No_avatar_thumb

    Mauri - 13/04/2009 13:27:33

    Particularmente resolvería el problema obteniendo el valor, nombre e id de configuración y guardandolo de igual forma, dos renglones y lo tenés resulto.

    De todas formas es verdad q algunas veces es necesario mapear la tabla completa a un array una forma es como lo explicaste vos y otra seria

    Aunque para este caso necesita la extension mysqli y PHP v5.3.0.

    Saludos

  • No_avatar_thumb

    atroxBlack - 02/11/2010 19:50:41

    Hola la vdd que buen aporte me agrado mucho ya que soy nuevo en esto de php, y busque por muchos foros y este fue lo mejor que encontre, Gracias

Escribe un comentario

Tienes que estar registrado para poder dejar comentarios.
Accede a tu cuenta o regístrate en NotasWeb.com.
Avatar_273 Sousuke
en el Ranking


Artículos más vistos del usuario

Últimos artículos del usuario