Es mejor la sintaxis JOIN ON
Código MySQL:
Ver original parties.anfitriona,
parties.fecha,
papeletas.idparties,
papeletas.idpapeleta,
papeleta_articulos.idparties,
papeleta_articulos.idpapeleta_a,
papeleta_articulos.cantidad,
papeleta_articulos.producto,
papeleta_articulos.precio,
papeleta_articulos.cantidad * papeleta_articulos.precio subtotal
FROM parties
INNER JOIN papeletas
ON parties.idparties
= papeletas.idparties
INNER JOIN papeleta_articulos
ON papeletas.idpapeleta
= papeleta_articulos.idpapeleta_a
WHERE parties.idparties
= '$idparties'";
No tiene ningun sentido hacer esas dos consultas dan los mismos datos. Imagina lo siguiente.
Código PHP:
Ver original//No hago la primera query
$query1="SELECT parties.idparties,
parties.anfitriona,
parties.fecha,
papeletas.idparties,
papeletas.idpapeleta,
papeleta_articulos.idparties,
papeleta_articulos.idpapeleta_a,
papeleta_articulos.cantidad,
papeleta_articulos.producto,
papeleta_articulos.precio,
papeleta_articulos.cantidad * papeleta_articulos.precio subtotal
FROM parties INNER JOIN papeletas ON parties.idparties = papeletas.idparties
INNER JOIN papeleta_articulos ON papeletas.idpapeleta = papeleta_articulos.idpapeleta_a
WHERE parties.idparties = '$idparties'";
$j=0; //Creo una variable auxiliar.
if($j==0){
//Muestro los datos de la cabecera de la papeleta
//Solo cuando $j es 0 cero.
}
//Muestro los datos del producto
//IMPORTANTE
$j++;
//Incremento $j para que en el siguiente ciclo del bucle ya no sea 0
}
Deberías leer sobre normalización de bbdd, te faltan tablas (ciudades,clientes,productos), y sobra algún campo (subtotal, deberías eliminarlo para usar mi query).