Programación Web y Scripting > PHP

 Clase Query Conexión

<< < (2/2)

RadicalEd:
Claro, por ahí derecho aprendo.

shadow_rev:
Bueno, después de una noche de viernes viendo manga  :nosweat: , y toda una tarde de sábado jugando con el DS <_< , aquí les dejo el script con PDO:


--- Código: PHP ---<?php// Desarrollada por RadicalEd// Modificado por shadow_revclass SQL{    //Constructor    // function SQL($host='localhost', $db='ancheteria', $user='usdist', $password='clio1214')    var $database;    function SQL($string_conexion)    {        // Así se conecta con una base de datos MySQL        //$this->database = mysql_connect($host, $user, $password) or die("No se pudo conectar con el servidor".mysql_error());        //@mysql_select_db($db) or die( "No se pudo conectar a la db: " . mysql_error());                // Con PDO (PHP >= 5.2), se conecta de esta forma        $this->database = new PDO($string_conexion);    }     //Este metodo mostrará datos de una consulta de varias tablas    public function tablaCompuesta($query, $camposTabla, $camposDatos)    {        $tabla = '';        try        {            $tabla = '<table border="1" cellpadding="1" cellspacing="1"><tbody><tr>';            for ($x=0; $x<count($camposTabla); $x++)            {                $tabla .= '<td align="center"><strong>'.$camposTabla[$x].'</strong></td>';            }             $tabla .= '</tr>';            //$result = mysql_query($query) or die(mysql_error());             // Prepara la consulta            $result = $this->database->prepare($query);             // Ejecuta la consulta            $result->execute();             // Obtiene TODO el conjunto de datos            $result_array = $result->fetchAll();             $n = 0;            foreach($result_array as $row)            {                $tabla .= '<tr>';                foreach($camposDatos as $campo)                {                    //$tabla .= '<td>'.mysql_result($result,$n,$campo).'</td>';                    $tabla .= '<td>' . $row[$campo] . '</td>';                }                $tabla .= '</tr>';                 $n++;            }            $tabla .= '</tbody></table>';         }        catch(PDOException $pdoe)        {            echo "Error en la consulta: " . $pdoe->getMessage() . "<br />";        }        return $tabla;    }} // Ejemplo de uso //Arrays de los datos a mostrar$arrayTabla = array('NOMBRE', 'TELEFONO FIJO', 'TELEFONO MOVIL');$arrayDatos = array('nombre', 'telefono_fijo', 'telefono_movil'); //Consulta compuesta de varias tablas$query = 'SELECT name AS ' . $arrayDatos[0] . ', telefono AS ' . $arrayDatos[1] . ', celular AS ' . $arrayDatos[2] . ' FROM telefonos, usuarios WHERE usuarios.id=telefonos.id_usuario';$datos = new SQL('sqlite:/home/raulerne/public_html/test/database.sq3');$tabla = $datos->tablaCompuesta($query, $arrayTabla, $arrayDatos); echo $tabla; ?>  Yeap, hace falta una función, pero no la vi necesaria. De hecho, ¿Por qué lo hiciste así Edo? :unsure:

PD: Si tienen dudas sobre el string de conexión, consulten la documentación de los drivers de PDO. Allí aparece el formato que debe tener el string para conectarse con diferentes bases de datos.

Navegación

[0] Índice de Mensajes

[*] Página Anterior

Ir a la versión completa