Ver Mensaje Individual
  #6 (permalink)  
Antiguo 31/12/2006, 13:30
Alejandr4
 
Fecha de Ingreso: diciembre-2006
Mensajes: 111
Antigüedad: 17 años, 4 meses
Puntos: 1
Re: Problema con dos consultas!!!

Gracias por la aclaración Modrro, pero no es eso, eso ya sé hacerlo, por eso mi pregunta, intentaré explicarme.
Tengo dos tablas, productos y secciones.
Productos= cod_prod(codigo producto, clave primaria,unico y autoincremental), nombre, imagen, precio
Secciones= cod_seccion(codigo de seccion, clave primaria, unico y autoincremental), nombre, descripcion
Codigo_total=Cod_seccion (foreign key), cod_prod(foreign key), cod_talla (foreign key), cod_color (foreign key), todo es una primary, numero único para cada articulo con una tala y color.

Tengo una página que cuando le das a camas pasa la cariable $id=CAM, que es el cod_seccion de camas y tiene que mostrar todos los productos que sean camas, entonces lo que quiero, es que muestre el nombre de la seccion en la cabecera, con su descripcion y debajo una tabla con los productos, lo que hago es lo siguiente:

SELECT * FROM secciones where cod_seccion='$id', para que muestre los datos de la seccion y luego
select * from productos inner join codigo_total on productos.cod_prod=codigo_total.cod_prod where codigo_total.cod_seccion='$id', parta que cree una tabla con las camas.

No sé si me explico, estoy haciendo dos consultas a dos tablas que entre ellas no están unidas y megustaría saber como lo harías vosotros, yo lo he hecho y funciona pero no se yo.... Os voy a pegar el codigo y me decís que os parece, es muylaro asi que omito el html.


$id=$HTTP_GET_VARS["id"];

$conn = mysql_connect("localhost","root","")
or die ('Lo sentimos, no se pudo establecer la conexión');
mysql_select_db("hasiandasha",$conn)
or die ('Lo sentimos, no se pudo establecer la conexión');

$ssql = "SELECT * FROM secciones where cod_seccion='$id'";

$resultid = mysql_query($ssql,$conn)

or die ("Fallo en la consulta");

$num_filas = 0;
while ($damefila=mysql_fetch_object($resultid))
{
echo strip_tags($damefila->nom_seccion_es);
echo strip_tags($damefila->texto_es);

$criterio = "";
if ($_GET["criterio"]!=""){
$txt_criterio = $_GET["criterio"];
$criterio = "where cod_seccion='$id'" . $txt_criterio;
}

//Limito la busqueda
$TAMANO_PAGINA = 10;

//examino la página a mostrar y el inicio del registro a mostrar
$pagina = $_GET["pagina"];
if (!$pagina) {
$inicio = 0;
$pagina=1;
}
else {
$inicio = ($pagina - 1) * $TAMANO_PAGINA;
}

//miro a ver el número total de campos que hay en la tabla con esa búsqueda
$ssql = "select * from productos inner join codigo_total on productos.cod_prod=codigo_total.cod_prod
where codigo_total.cod_seccion='$id'";

$rs = mysql_query($ssql,$conn)
or die ("Fallo en la consulta");
$num_total_registros = mysql_num_rows($rs);
$total_paginas = ceil($num_total_registros / $TAMANO_PAGINA);

echo "Página " . $pagina . " de " . $total_paginas ." encontradas";
if(($pagina - 1) > 0) {
echo "<a href='seccion.php?id=".$id."&pagina=".($pagina-1)."&criterio=" . $txt_criterio . "'><< Anterior</a> ";
} ?>
&nbsp; &nbsp; &nbsp; &nbsp;
<? //muestra el enlace a la pagina siguiente
if(($pagina + 1)<=$total_paginas) {
echo "<a href='seccion.php?id=".$id."&pagina=" .($pagina+1) . "&criterio=" . $txt_criterio . "'>Siguiente >></a>";
}

$ssql = "select * from productos inner join codigo_total on productos.cod_prod=codigo_total.cod_prod
where codigo_total.cod_seccion='$id'" . $criterio . " limit " . $inicio . "," . $TAMANO_PAGINA;
//Variable que guarda el resultado de la consulta realizada.
$rs = mysql_query($ssql)
or die ("Fallo en la consulta");

if ($total_paginas>0) {
$num_lineas=0;
while ($linea = mysql_fetch_object($rs)){
echo $linea->cod_prod;
echo $linea->nombre_es;
$num_filas++;
}
}
else{echo "No hay productos en esta categor&iacute;a";}
if ($total_paginas > 1){
for ($i=1;$i<=$total_paginas;$i++){
if ($pagina == $i)
//si muestro el índice de la página actual, no coloco enlace
echo $pagina . " ";
else
//si el índice no corresponde con la página mostrada actualmente, coloco el enlace para ir a esa página
echo "<a href='seccion.php?id=".$id."&pagina=" . $i . "&criterio=" . $txt_criterio . "'>" . $i . "</a> ";
}
}
$num_filas++;
}

//cerramos el conjunto de resultados y la conexión con la base de datos
mysql_free_result($rs);
mysql_free_result($resultid);
mysql_close($conn);