PHP » Función PHP simplificadora de código para generar HTML con consultas MySQL

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.

Diego Escares

Publicado el 22 de Septiembre del 2010 por Diego Escares

3674 visitas, 5 mensajes y 2 ediciones

Mensajes

intruc 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 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 intruc hace 11 meses: 0

puedo hacer esto html(select * from bd where %campo% = 2,html) ?

Diego Escares 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 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.

Twitter Twitter Facebook Facebook Feed RSS Feed RSS

www.DocumentoWeb.com Licencia Creative Commons