clases.php
Código PHP:
<?php
class Db{
var $servidor;
var $user;
var $pass;
var $db_name;
var $db_conn;
var $db_select;
var $result; //Resultado de la consulta
function Db()
{
$this->servidor="localhost";
$this->db_name="moute";
$this->user="";
$this->pass="";
$this->db_conn=@mysql_connect($this->servidor, $this->user, $this->pass) or die ("Error de Coneccion".mysql_error());
$this->db_select=@mysql_select_db($this->db_name, $this->db_conn);
}
function consulta_db($sql)
{
$this->Db();
$this->result=@mysql_query($sql, $this->db_conn) or die("Error de Consulta".mysql_error());
return ($this->result);
}
function close_db()
{
$this->Db();
mysql_close($this->db_conn);
}
}
?>
Código PHP:
<?php
$objeto = new Db();
$sql2="Select actividad from actividades";
while ($resul=mysql_fetch_assoc($objeto->consulta_db($sql2))) {
echo "<option value=".$resul.">".$resul['actividad']."</option>";
}
?>
Actividad1
Actividad1
Actividad1
Actividad1
Actividad1
Actividad1
........
.
.
.
Actividad1
Actividad1
Actividad1
De esta forma, ahora si hago lo siguiente:
Código PHP:
<?php
$objeto = new Db();
$sql2="Select actividad from actividades";
$objeto->consulta_db($sql2);
while ($resul=mysql_fetch_assoc($objeto->result)) {
echo "<option value=".$resul.">".$resul['actividad']."</option>";
}
?>
Actividad1
Actividad2
Actividad3
Lo que no entiendo es por qué si se supone que $objeto->consulta_db($sql2) retorna lo mismo que $objeto->result. Porque pasa esto¿¿
Y otra cosa, cuando quiero implementar un ciclo foreach, no hay forma que me muestre las 3 actividades con mysql_fetch_assoc solo me muestra 1, con mysql_fetch_array me muestra actvidad1 repetida 2 vces, que es lo que estoy haciendo mal?