Como hacer selecciones por partes de una base de datos con php.

elmonodelamor
27 de Abril del 2005
Hola tengo una tabla de un catalogo de menaje de hosteleria el cual es inmenso y me gustaria sacar solo por partes cada elemento, es decir si tengo un articulo que son cuchillos y tengo 300 tipos como podria sacar unos 10 o 20 por página y en la siguiente los que le continuan.

m&m
27 de Abril del 2005
<?php
$MaxMostrar=10; // <----- El máximo a mostrar
$peticion=$_POST['tu_articulo'];
$next=$_GET['next'];
mysql_connect("tu_host","tu_user","tu_pass");
$ordenar=mysql_db_query("$db_nombre","select * from $peticion");
$num=1;
$Suma=$next+$Maxmostrar;
if(!$_GET['next']){$Suma=$MaxMostrar;}
while($linea=mysql_fetch_array($ordenar))
{
if($num>=$next && $num<=$Suma)
{
echo "$linea['$peticion'];
}
$num++;
}
?>
Me imagino que se podría hacer algo parecido, el caso es que nada más está la idea, =P en este caso debes de crear un link
<a href="tu_pag.php?next=<? #### ?>">Siguiente</a>

Debes de colocar en el link un script que incremente su valor dependiendo del numero de veces que se llame a sí mismo el archivo ! en este caso tendrías que sumar el máximo de cuchillos a mostrar por cada vez que se de clic, :P bien podria ser
<?php if($_GET['next'])
{
$next+=$MaxMostrar;
}
else
{
$next=$MaxMostrar*2;
}
?>

Pero es nada más para que te des una idea, la vdd lo estoy haciendo acá y no probé el script ! =P pero muévele !

elmonodelamor
27 de Abril del 2005
Gracias m&m pero yo cojo los datos directamente de la tabla este es mi codigo.
Para la conexion:
<?php
session_start();

if(continuar==true){
//conexión con mysql
$conexion = mysql_connect("localhost", "xxxx", "xxxxx");

if($conexion == false){ //compruebo si no se produce
$continuar=false;
$mensaje="Conexión no realizada<br>";

}else{
$continuar = true; //compruebo si se produce
$mensaje = "Conexión realizada<br>";
$consulta = "select * from catalogo where familia='3' order by articulo;";
$resultado = mysql_db_query("xxxxxxx", $consulta);
if(resultado==true){

}
}
mysql_close($conexion);
}
Y luego en el html lo muestro de esta manera:
<?php

while($fila = mysql_fetch_row($resultado)){
print ("<tr>
<td class='Estilo16'>$fila[1]</td>
<td class='Estilo16'>$fila[3]</td>
<td class='Estilo16'><a href='mostrar_catalogo.php?img=$fila[7]&ref=$fila[1]&art=$fila[3]&enl=$fila[8]'><img src='$fila[7]' width=50% heigth=50% alt='Mostrar detalle'></a></td>
</tr>");
}

?>
Y es aqui donde quiero mostrar solo la primera parte de la selección es decir unos 10 artículos y a partir de ahí otros 10 etc. No se si tengo que crear una página para cada muestreo o con el código que me proporcionas lo hace solo, lo he probado pero no me ha ido muy bien no entiendo lo de $get y $post porque creo que en mi codigo no me hacen falta no se, tu que crees.