Cuando coloco luego de hacer la consulta $num_result = mysql_num_rows($rs); da este warning:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in...
que creo que sera porque no se ha realizado la consulta y $rs esta vacio.
Tambien compruebo si la consulta puede ser de esta manera:
$rs = mysql_db_query("SELECT nombre FROM categoria");
sin usar el metodo getCon();
Aqui un screenshot de las ubicaciones de los paquetes:
archivo BaseDatos.php
Código PHP:
<?php
class BaseDatos{
private $con;
private $db;
function Conecta(){
try{
if(@$this->con = mysql_connect("localhost","root","pass")){
echo "BD Conectada.<br>";
}
}catch(Exception $e){
echo "Error en conexion a la base de datos. \nError:".$e->getMessage();
}
try{
if(@$this->db = mysql_select_db("elpuma")){
echo "BD Seleccionada.<br>";
}
}catch(Exception $e){
echo "Error en la seleccion de la base de datos. \nError:".$e->getMessage();
}
}
function getCon(){ return $this->con;}
function getBd(){ return $this->db;}
function ConsultaCategoriaPrincipal(){
$bd = new BaseDatos();
$bd->Conecta();
$rs = mysql_db_query($bd->getCon(), "SELECT nombre FROM categoria");
//$num_result = mysql_num_rows($rs);
//echo $num_result;
echo "<select name='categoria'>";
while($row = mysql_fetch_array($rs)){
echo "<option name='".$row["nombre"].">".$row["nombre"]."</option>";
}
echo "</select>";
if(mysql_close($bd->con)){
echo "DB Cerrada. <br>";
}
}
}
?>
Código PHP:
<?php
include ('../controlador/BaseDatos.php');
$bd = new BaseDatos();
$bd->ConsultaCategoriaPrincipal();
?>
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Registro de Usuario</title>
</head>
<body>
<h2>Categoria Principal</h2>
<?php include ('../modelo/categoria_principal.php'); ?>
</body>
</html>
Gracias amigos.