Hola
Panga te agradezco por tus ganas de ayudar.
puse esa linea de código que me dices y nada sigue saliendo lo mismo, o quizá la tengo que poner en otro lugar.
Código PHP:
<?php
$queEmp = "CALL excel_listacabeseraguiasalida('$numguia')";
//$query = mysql_query($queEmp, $conexion) or die(mysql_error());
$query = mysql_query($queEmp) or die(mysql_error());
$consulta = mysql_num_rows($query);
?>
<?php do{?>
<?php echo $consulta['Persomal'] ?>
<?php echo $consulta['Cliente'] ?>
<?php echo $consulta['Ruc'] ?>
<?php echo $consulta['Almacen'] ?>
<?php echo $consulta['direccion Alma'] ?>
<?php echo $consulta['Destino'] ?>
<?php echo $consulta['fechaemicion'] ?>
<?php echo $consulta['Enpresa de Transporte'] ?>
<?php echo $consulta['Ruc Emp transporte'] ?>
<?php echo $consulta['Uni Trans Marca'] ?>
<?php echo $consulta['Uni Trans Placa'] ?>
<?php echo $consulta['licencia conducir'] ?>
<?php }while($consulta = mysql_fetch_assoc($query));
mysql_free_result($query);
?>
<?php
$queEmp = "CALL excel_detalleguiasalida('$numguia')";
$query = mysql_query($queEmp) or die(mysql_error());
$consulta = mysql_num_rows($query);
?>
<?php do{?>
<?php echo $consulta['descripcion'] ?>
<?php echo $consulta['cantidad'] ?>
<?php echo $consulta['peso'] ?>
<?php echo $consulta['unidadmedida']
?>
///// aqui deveria poder ejecutar otro procedimiento para las series de los productos
<?php }while($consulta = mysql_fetch_assoc($query)); ?>
Para que tengas una mejor idea de lo que quiero lograr checa [URL="http://foros.cristalab.com/procedimientos-almacenados-mysql-php-t102437/"]este link[/URL] ahi ise la misma pregunta pero mas detallada.
te dejo el código en c# que hago para vaciar la data a un excel. esa misma lógica de vera ser para el php.
// esta funcion en c# recibe un numero de guía.
Código C:
Ver originalpublic void exportaraexcel(string ng)
{
string strConnnectionOle = @"Provider=Microsoft.Jet.OLEDB.4.0;" +
@"Data Source=Guia.xls;" +
@"Extended Properties=" + '"' + "Excel 8.0;HDR=NO" + '"';
OleDbConnection oleConn = new OleDbConnection(strConnnectionOle);
oleConn.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.Connection = oleConn;
dt1 = g.excel_listacabeseraguiasalida(ng);
foreach (DataRow row in dt1.Rows)
{
cmd.CommandText = "UPDATE [Hoja1$C8:C8] SET F1= = '" + row["fechaemicion"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$C10:C10] SET F1= '" + row["direccion Alma"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$C11:C11] SET F1= '" + row["Destino"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$C14:C14] SET F1= '" + row["Cliente"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$E15:E15] SET F1= '" + row["Ruc"].ToString() + "'";
cmd.ExecuteNonQuery();
} //fin for Cabesera
dtdtalle = g.excel_detalleguiasalida(ng);
int filadetallexxx = 20;// 1=20 2=26
try
{
int cont = 1;
foreach (DataRow rowdtalle in dtdtalle.Rows)
{
cmd.CommandText = "UPDATE [Hoja1$A" + filadetallexxx + ":A" + filadetallexxx + "] SET F1= '" + cont + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$C" + filadetallexxx + ":C" + filadetallexxx + "] SET F1= '" + rowdtalle["descripcion"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$I" + filadetallexxx + ":I" + filadetallexxx + "] SET F1= '" + rowdtalle["cantidad"].ToString() + "'";
cmd.ExecuteNonQuery();
cmd.CommandText = "UPDATE [Hoja1$K" + filadetallexxx + ":K" + filadetallexxx + "] SET F1= '" + rowdtalle["unidadmedida"].ToString() + "'";
cmd.ExecuteNonQuery();
dtns = g.select();
dtns = g.excel_numseriesguiasalida(ng, rowdtalle["PartNumber"].ToString());
int total = dtns.Rows.Count; // TOT1 =5 TOT2=8
int rowdataset = 0;
for (int iyyy = 0; iyyy < total; iyyy++)
{
filadetallexxx += 1; // 1F1 =21 ***** 1F5 =25 /// 2F1=27 *** 2F8=34 **************23
if (rowdataset < total)
{
if (dtns.Rows[rowdataset][0].ToString() == "0")
{
rowdataset += 1;
iyyy += 1;
}
else
{
cmd.CommandText = "UPDATE [Hoja1$C" + filadetallexxx + ":C" + filadetallexxx + "] SET F1= '" + dtns.Rows[rowdataset][0].ToString() + "'";
cmd.ExecuteNonQuery();
rowdataset += 1;
iyyy += 1;
}
}
if (rowdataset < total)
{
if (dtns.Rows[rowdataset][0].ToString() == "0")
{
rowdataset += 1;
iyyy += 1;
}
else
{
cmd.CommandText = "UPDATE [Hoja1$D" + filadetallexxx + ":D" + filadetallexxx + "] SET F1= '" + dtns.Rows[rowdataset][0].ToString() + "'";
cmd.ExecuteNonQuery();
rowdataset += 1;
iyyy += 1;
}
}
if (rowdataset < total)
{
if (dtns.Rows[rowdataset][0].ToString() == "0")
{
rowdataset += 1;
iyyy += 1;
}
else
{
cmd.CommandText = "UPDATE [Hoja1$E" + filadetallexxx + ":E" + filadetallexxx + "] SET F1= '" + dtns.Rows[rowdataset][0].ToString() + "'";
cmd.ExecuteNonQuery();
rowdataset += 1;
iyyy += 1;
}
}
if (rowdataset < total)
{
if (dtns.Rows[rowdataset][0].ToString() == "0")
{
rowdataset += 1;
iyyy += 1;
}
else
{
cmd.CommandText = "UPDATE [Hoja1$F" + filadetallexxx + ":F" + filadetallexxx + "] SET F1= '" + dtns.Rows[rowdataset][0].ToString() + "'";
cmd.ExecuteNonQuery();
rowdataset += 1;
}
}
} //fin for num de series
filadetallexxx += 2;
cont += 1;
} //fin for Cuerpo ...descriocion cantidad peso
}
catch (Exception ex)
{
}
oleConn.Close();
System.Diagnostics.Process.Start("Guia.xls");
}
la imagen que adjunto es el resultado final que debe quedar.