Tengo problemas al mostrar los datos de una consulta por medio de un boton , mi metodo para mostrar la consulta es el siguiente:
archivo class_productos.php
class Productos
{
//creo la clase y defino variables
private $per;
public function __construct()
{
$this->per=array();
}
//creo metodo
public function getproductos()
{
$sql="select * from productos where nombre = '".$_POST["nom"]."'";
//$sql="select * from productos";
$res=mysql_query($sql,Conectar::con());
//echo "holaaaa";
//echo "la cantidad de registros es ". mysql_num_rows($res)."as";
if (mysql_num_rows($res)==0)
{
echo "la consulta es vacia";
header ("Location: productos.php?m=1") ;
}
else
{
while ($reg=mysql_fetch_assoc($res))
{
$this->per[]=$reg;
}
//echo "la consulta tiena mas de 0";
return $this->per;
header ("Location: productos.php?m=2") ;
}
}
ahora cuando el codigo de la pagina en la cual llamo al metodo la cual es producto.php de esta misma realizo la consulta y deberia recibir respuesta segun valor del valor recibido por GET en este caso m=1 o m=2
<?php require_once("class/class_productos.php");
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR...nsitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Productos</title>
</head>
<body>
<form name="form" action="" method="post">
Indique el nombre del producto: <input type="text" name="nom" />
<hr />
<input type="hidden" name="grabar" value="si" />
<input type="submit" value="Buscar" title="Buscar" />
</form>
<?php
//print_r($_POST);
$obj= new Productos();
if (isset($_POST))
{
if ($_POST["grabar"]=="si")
{
$datos=$obj->getproductos();
echo "paso por aki";
for ($i=0;$i < sizeof($datos);$i++)
{
echo $datos[$i]["nombre"];
echo "<br>";
}
//echo "llame a getproductos";
//echo "<br>";
}
}
?>
<?php
if (isset($_GET["m"]))
{
switch ($_GET["m"])
{
case '1':
?>
<h3 style="color:#090">no hay productos</h3>
<?php
break;
case '2':
?>
<h3 style="color:#F00">existen estos productos</h3>
<?php
break;
}
}
?>
</body>
</html>
si dejo el campo vacio y presiono buscar se ejecuta correctamente el script, y me pasa el valor por GET con m=1 y aparece el mensaje "no hay productos" lo cual es correcto, sin embargo, al momento por consultar por un producto el cual EXISTE en la base de datos (en mi caso el producto "CASA"), me sigue pasando el valor por GET m=1 y me despliega CORRECTAMENTE los valores de la consulta y raramente NO me toma el valor m=2 y no despliega el mensaje "Se encontraron valores".
Favor ayudenme....
Gracias.
PD: tengo problemas con el mensaje "Undefinied Index: grabar" y eso que esta con el ISSET , pero me importa mas resolver las dudas de arriba.