Les muestro como tengo armada la tabla productos y las consultas para que me digan que me falta o que estoy haciendo mal.
tabla producto
Consultas y Paginación
Código PHP:
ini_set("memory_limit","32M");
include('conectar.php');
// conexion a la base
$conexion = mysql_connect($host_db, $usuario_db, $pass_db) or die ("no se ha podido conectar a la BD");
mysql_select_db($base_db, $conexion) or die ("no se ha podido seleccionar la BD");
// realizar esta función si se apretó el botón de enviar en el formulario de busqueda
if(isset($_GET['searchart']))
$select1 = $_GET['select1'];
$select2 = $_GET['select2'];
$select3 = $_GET['select3'];
{
$condiciones = "";
if ($select1 != "") $condiciones .= " AND categoria.id_categoria = $select1";
if ($select2 != "" && $condiciones != "") $condiciones .= " AND linea.id_linea = $select2";
if ($select3 != "" && $condiciones != "") $condiciones .= " AND articulo.id_articulo = $select3";
$res = mysql_query("SELECT * FROM producto, categoria, linea, articulo WHERE producto.cod_categoria = categoria.cod_categoria AND producto.cod_linea = linea.cod_linea AND producto.cod_articulo = articulo.cod_articulo $condiciones ORDER BY producto.cod_linea");
$numeroRegistros = mysql_num_rows($res);
$tamPag=10;
//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;
//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;
if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}
if ($final>$numPags){
$final=$numPags;
}
}
$res = mysql_query("SELECT * FROM producto, categoria, linea, articulo WHERE producto.cod_categoria = categoria.cod_categoria AND producto.cod_linea = linea.cod_linea AND producto.cod_articulo = articulo.cod_articulo $condiciones ORDER BY producto.cod_linea LIMIT ".$limitInf.", 16");
//muestro los resultados...
//Paginacion
if($pagina>1)
{
echo "<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&select1=".$select1."&select2=".$select2."&select3=".$select3."'>";
echo "<class='txtPaginador11b'><< ANTERIOR</font>";
echo "</a>*";
}
for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<class='txtPaginador11b'><b>".$i." </b>";
}else{
echo "<a class='txtPaginador11b' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&select1=".$select1."&select2=".$select2."&select3=".$select3."'>";
echo "<class='txtPaginador11b'>".$i."</a>*";
}
}
if($pagina<$numPags)
{
echo "*<a class='txtPaginador11b' href='" .$_SERVER["PHP_SELF"]. "?pagina=" .($pagina+1). "&orden=".$orden."&select1=".$select1."&select2=".$select2."&select3=".$select3."'>";
echo "<class='txtPaginador11b'>SIGUIENTE >></a>";
}
echo "<div id='total_paginador'><font face='verdana' size='-2'>Total: ".$numeroRegistros." resultados</div>";
// Cierro la conexion
mysql_close($conexion);
¿Me pueden decir por favor por qué pasa esto?
Desde ya espero puedan darme una mano porque me lo están reclamando y no sé que hacer para solucionarlo.
Muchas gracias y saludos.
Marx.
Les dejo para que vean y lo prueben si es que quieren en la demo de la web que estoy terminando. El código de arriba pertenece a "busqueda con filtros":
http://www.pizzutoautopartes.com.ar/demo/index.php