Blog de José Rico, diseño web, diseño gráfico, Onil (Alicante)

Hola, en este blog encontrarás apuntes, bocetos y demás trabajos inconclusos.

Comprimiendo el código Php

Escrita el 05/10/07 20:04 por José Rico

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:


[/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 echo $info[$i]["id"]." - ".$info[$i]["nombre"]."
“;
}
[/ftf]
Si alguien conoce como comprimir más el código que me avise :)

Posteado en Programación | 1 comentario »

Un comentario

  1. P@Blo comentó el

    Que pasa xaval, estic miran un poc a la competencia ejejje, este es el meu mail, ja xarrem.

Deja un comentario

Nota: La moderación de comentarios está activada y los administradores debemos validar tu post. No reenvíes el comentario

Búscador

Categorías

Archivos

Sitios de interés

Últimos posts

@joserico

Hablando sobre

Meta: