Vengo con ganas de escribir ya que en el trabajo he estado creando la librería de un proyecto en Php donde se tenían que hacer unas cuantas consultas a la Db para extraer el producto final con los datos correctos y ya he comprimido tanto el código de la consulta que tengo que mostrarlo.
Hace ya un par de semanas que trabajo en un proyecto y, buscando no se qué, di por casualidad con el mysql_fetch_assoc() que devuelve una matriz asociativa pero a diferencia del mysql_fetch_array(), que yo utilizaba, este sólo muestra el nombre de los campos que creaste en la Db, no el número de posición.
No se si en este ejemplo se verá mejor
[ftf def=»php.xml» h=»635″]
//Este código lo que pretende mostrar el como de fácil puede ser extraer datos de la Db
//en unas cuantas líneas de código con una funcion reutilizable al 100%
//Si no se entiende comentarlo y hago un ejemplo con una Db de prueba
//config datos Db
define("_CON_HOST", "localhost"); //Host
define("_CON_USUARIO", "root"); //Usuario
define("_CON_PASSWORD", "password"); //Contraseña
define("_CON_DB", "nombre_db"); //Db
//conexion Db
$db = mysql_connect(_CON_HOST,_CON_USUARIO,_CON_PASSWORD);
if($db){
mysql_select_db(_CON_DB, $db);
}
//La mejor función del mundo ;)
//Extrae los datos de una fila de cualquier tabla por su id
function info($tabla, $id){
global $db;
$select = mysql_query("SELECT * FROM ".$tabla." WHERE id='".$id."'", $db) or die (mysql_error());
return mysql_fetch_assoc($select);
}
$id = 6;// Por ejemplo queremos sacar el id 6 pero se puede pasar por $_REQUEST[""] o $_POST[""]
$info = info("armas", $id);
//Ahora los datos están dentro del array $info
echo $info["id"]." - ".$info["nombre"];
?>
Todos los campos del producto:
print_r($info); ?>
[/ftf]
[ftf def=»php.xml» h=»300″]6 – Maza del Alba
Todos los campos del producto:
Array
(
[id] => 6
[nombre] => Maza del Alba
[tipo] => 5
[alineacion] => 0
[inteligencia] => 0
[fuerza] => 0
[ataque] => 2
[defensa] => 0
[nivel_necesario] => 300
[precio_c] => 3120
)
[/ftf]
que es lo que nos me devuelve en mi caso.
[ftf def=»php.xml» h=»275″]//Para extraer múltiples resultados con la misma función
function info($tabla){
global $db;
$select = mysql_query(«SELECT * FROM «.$tabla, $db) or die (mysql_error());
while($row = mysql_fetch_assoc($select)){
$array[] = $row;
}
return $array;
}
$info = info(«armas»);
for($i=0;$i«;
}
[/ftf]
Si alguien conoce como comprimir más el código que me avise :)