Voy a mostrar un ejemplo de como optimizar tus consultas a una base de datos mysql. Para esto trabajaremos un clase en php muy sencilla.
Esta clase nos permitira crear desde luego un objeto y reutilizar los resultados de un select. De igual manera podremos ahorrar algunas lineas de codigo en los bucles, cosa que en lo personal me parece latoso.
A continuación un idea:
class DMysql {
// Clase para optimizar consultas a mysql
// Por Daniel Gerardo Sánchez
// www.danger.com.mx - dangercito@hotmail.com - @DangerCheshire
var $con;
var $bd;
var $msg;
function conexion($host,$db,$user,$pass){
$this->bd = $db;
if($this->con = mysql_connect($host,$user,$pass)){
if(mysql_select_db($db, $this->con)){
$this->msg = 'Se conecto.';
}else{
$this->msg = 'No se pudo conectar.';
}
}else{
$this->msg = 'No conecto al servidor.';
}
}
var $rows;
var $select;
function select($s){
$q = mysql_query($s,$this->con);
$this->rows = mysql_num_rows($q);
$this->select = '';
for($i=1;$i<=$this->rows;$i++){
$this->select[$i] = mysql_fetch_array($q);
}
return $this->rows;
}
function sql($s){
$q = mysql_query($s,$this->con);
}
}
Partiendo de esta idea de clase, podriamos hacer la impresión de un select, de la siguiente manera:
// Quiza esto lo jalamos desde inc..
include('DMysql.php');
$a = new DMysql();
$a->conexion('localhost','db','user','pass');
// End
// Aquí seria lo productivo de la clase
for($i=1;$i<=$a->select('SELECT * FROM `tabla`');$i++){
echo $a->select[$i]['campo'].'
';
}
// Para todo lo que no sea select
$a->sql('..sentencia..');
Y listo, de esta manera tendriamos todo mas limpio, mas organizado y facil de mantener. Espero les sirva.