<?php
// Desarrollada por RadicalEd
// Modificado por shadow_rev
class 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;
?>