En mis días sin internet quería hacer mis típicas consultas MySQL sin sacrificar tanto espacio dentro de mis archivos.php, entonces, decidí empezar a crear funciones que me permitieran hacerlo de forma muy simplificada manteniendo siempre el lenguaje MySQL.
La siguiente función es la que más estoy usando, es muy simple y la llamo simplificador de código.
<?php
// Simplificador de código
function html($consulta,$html){
// Caracter que identificará la fila de la base de datos
$caracter_separador = "%";
// En la consulta puedes omitir SELECT * FROM, esta parte lo agrega
if(substr($consulta,0,7)!="SELECT "){
$consulta="SELECT * FROM ".$consulta;
}
// Arreglo que saca el dato entre el $caracter_separador
$array = explode($caracter_separador,$html);
$contar_array = count($array)-1;
// Se hace la consulta
$c = mysql_query($consulta) or die ("Error de consulta (4)");
// Finalmente armamos el HTML con while para cambiar los datos en cada recorrido
while($d=mysql_fetch_array($c,MYSQL_ASSOC)){
$imprimir.= $array[0];
for($i=2;$i<=$contar_array;$i=$i+2){
$imprimir.= $d[$array[($i-1)]].$array[$i];
}
}
// Y se imprime
echo $imprimir;
}
?>
Lo que hace esta función es tomar dos variables: la consulta y el html al cual le aplicaremos los datos que sacaremos de la base de datos.
Se usa de la siguiente forma:
<?php html("consulta mysql","tu codigo html"); ?>
Ejemplo de base de datos:

Ejemplo del código:
<ul>
<?php html("SELECT * FROM paginas LIMIT 3","<li><a href='/%url%'>%texto%</a></li>\r"); ?>
</ul>
Podemos omitir el SELECT * FROM para dejarlo aún más simple:
<ul>
<?php html("paginas LIMIT 3","<li><a href='/%url%'>%texto%</a></li>\r"); ?>
</ul>
Todo lo que está encerrado por % se reemplazará por el dato correspondiente de la fila con el mismo nombre en la base de datos.
Esto imprime el siguiente HTML:
<ul>
<li><a href='http://www.pc.com/producto'>Subwoofer creative A500</a></li>
<li><a href='Modd.com/Review'>Review en Modd</a></li>
<li><a href='www.Hard.cl/09/05/Probamos'>Hard.com - Probamos el nuevo sw a500</a></li>
</ul>
De esta forma sólo cambiamos la forma en que aplicamos nuestras consultas para generar código html, pero el código interno PHP sigue siendo el mismo.
OJO: la función solo sirve para SELECT, ya que vamos a seleccionar datos para mostrar en el html.
NOTA: primero debes conectarte a tu base de datos.
Postear en Twitter
Postear en Facebook
Feed RSS
Agregar a Favoritos
intruc hace 11 meses:
0
hola muy bueno el codigo, nada mas una duda y si quiero hacer otra consulta pero usando un valor del registro de la primera consulta?
Diego Escares hace 11 meses:
0
Nada mas tienes que hacer una consulta dentro de otra consulta. Cuando este en mi pc te escribo un ejemplo.
intruc hace 11 meses:
0
puedo hacer esto html(select * from bd where %campo% = 2,html) ?
Diego Escares hace 11 meses:
0
A perdón, este código es muy viejo y ahora tengo uno más avanzado... este no justamente no me permitía hacer consultas con datos anteriores.
intruc hace 11 meses:
0
ahh y no compartes? xD
¡Amigo! te demorarás 10 segundos en crear tu cuenta.
Disfrutarás de todos los beneficios de DocumentoWeb.