Foros del Web » Programando para Internet » PHP »

Paso de variables

Estas en el tema de Paso de variables en el foro de PHP en Foros del Web. Estoy desarrollando una aplicación para crear facturas. La aplicación realiza lo siguiente: En una página, se busca la empresa a la cual se quiere realizar ...
  #1 (permalink)  
Antiguo 14/12/2005, 07:56
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 12 años
Puntos: 0
Paso de variables

Estoy desarrollando una aplicación para crear facturas.

La aplicación realiza lo siguiente:

En una página, se busca la empresa a la cual se quiere realizar la factura.
Este es el código:

<form action="facturar.php" method="post">
<table width="93%" border="0" cellspacing="0" align="center"><tr>
<td width="54%"><font size="2" face="Arial, Helvetica, sans-serif">Introduzca la empresa<font size="-3">*</font></font></td>
<td width="46%"><div align="left"><font size="2" face="Arial, Helvetica, sans-serif">
<input name="empresa" type="text" id="empresa" value="" size="30" class="texto"></font></div></td></tr><tr>
<td colspan="2"><font size="-3">*Si desea ver todos las empresas,
deje vac&iacute;a la caja de texto y pulse buscar cliente</font></td></tr>
<tr> <td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Buscar Cliente">
</div></td></tr></table>
</form>

Y este es el código del fichero que muestra esos datos (facturar.php)

<?
$servidor="localhost";
$usuario="root";
$password="";
$base="clientes";
$con=mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$con);
$busca = "SELECT * FROM empresas WHERE empresa LIKE '%$empresa%'";
$contarok= mysql_query($busca,$con);
while ($registro = mysql_fetch_array ($contarok)) {
$id = $registro ["id"];
echo "<table width = 80% border =2>";
echo "<tr><td>";
echo "<font size ='2' face ='Arial, Helvetica, sans-serif'>";
echo $registro['empresa']."<td width = 20%><font size='2' face='Arial, Helvetica, sans-serif'>";
echo $registro['localidad']."<td width = 20%><font size='2' face='Arial, Helvetica, sans-serif'>";
echo $registro['provincia']."<td width = 20%><font size='2' face='Arial, Helvetica, sans-serif'>";
echo "<td width= 20%><font size='2' face='Arial, Helvetica, sans-serif'>"."<a href=facturar2.php?id=$id>"."<strong>Crear Factura</strong>";
echo "</table>";
}
?>

Hasta aquí todo bien.

A continuación, según se pincha en un cliente para realiza la factura, se muestra este otro formulario en el que se introducen los datos del cliente completos, así como los datos de productos a facturar. Este es su código (facturar2.php):

<form name="form1" method="post" action="facturar3.php"><p>
<?
$servidor="localhost";
$usuario="root";
$password="";
$base="clientes";
$con=mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$con);
$insertar = "SELECT * FROM empresas WHERE id = '$id'";
$contarok= mysql_query($insertar,$con);
while ($registro = mysql_fetch_array ($contarok)) {
echo "<font size ='2' face ='Arial, Helvetica, sans-serif'>";
echo "<strong>VA A CREAR UNA FACTURA PARA LA SIGUIENTE EMPRESA</strong><br><br>";
echo "<font size ='2' face ='Arial, Helvetica, sans-serif'>";
echo "<strong>EMPRESA: </strong>";
echo $registro['empresa']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>SOCIEDAD: </strong>";
echo $registro['sociedad']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>PERSONA DE CONTACTO: </strong>";
echo $registro['contacto']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>CIF: </strong>";
echo $registro['cif']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>NUMEROS DE TELEFONO: </strong>";
echo $registro['telefono']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " y ";
echo $registro['telefono2']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>NUMERO DE FAX: </strong>";
echo $registro['fax']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>DIRECCION: </strong>";
echo $registro['direccion']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>CODIGO POSTAL: </strong>";
echo $registro['postal']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>LOCALIDAD Y PROVINCIA: </strong>";
echo $registro['localidad']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo "( ";
echo $registro['provincia']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " )";
echo "<br>";
echo "<strong>E-MAIL Y PAGINA WEB: </strong>";
echo $registro['email']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " y ";
echo $registro['web']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
}
?>
<table width="80%" border="0" cellspacing="0"><tr>
<td><font size="2" face="Arial, Helvetica, sans-serif">DESCRIPCION</font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">UDS</font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">PRECIO</font></td>
</tr><tr> <td width="23%" height="26"><font size="2" face="Arial, Helvetica, sans-serif">PRODUCTOS</font></td>
<td width="32%"><font size="2" face="Arial, Helvetica, sans-serif">
<input name="productos" type="text" size="10""></font></td>
<td width="45%"><font size="2" face="Arial, Helvetica, sans-serif">
<input name="precio1" type="text" id="precio1" size="10">
&euro; </font></td></tr>
<input type="submit" name="Submit" value="Enviar datos">

Hasta aquí igualmente todo bien, se muestra el formulario para insertar los productos y en la parte superior los datos del cliente seleccionado. Pero el problema viene a continuación, cuando pulso en el botón enviar. Quiero que al pulsar el botón enviar y me lleve al fichero facturar3.php, se muestre la factura por completo, con los datos del cliente y los productos que inserto. Pero no aparecen, aparecen los datos de los productos, pero los datos del cliente desaparecen.

Este es el código del fichero facturar3.php:

<?
$servidor="localhost";
$usuario="root";
$password="";
$base="clientes";
$con=mysql_connect($servidor,$usuario,$password);
mysql_select_db($base,$con);
$insertar = "SELECT * FROM empresas WHERE id = '$id'";
$contarok= mysql_query($insertar,$con);
while ($registro = mysql_fetch_array ($contarok)) {
echo "<font size ='2' face ='Arial, Helvetica, sans-serif'>";
echo "<strong>VA A CREAR UNA FACTURA PARA LA SIGUIENTE EMPRESA</strong><br><br>";
echo "<font size ='2' face ='Arial, Helvetica, sans-serif'>";
echo "<strong>EMPRESA: </strong>";
echo $registro['empresa']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>SOCIEDAD: </strong>";
echo $registro['sociedad']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>PERSONA DE CONTACTO: </strong>";
echo $registro['contacto']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>CIF: </strong>";
echo $registro['cif']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>NUMEROS DE TELEFONO: </strong>";
echo $registro['telefono']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " y ";
echo $registro['telefono2']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>NUMERO DE FAX: </strong>";
echo $registro['fax']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>DIRECCION: </strong>";
echo $registro['direccion']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>CODIGO POSTAL: </strong>";
echo $registro['postal']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
echo "<strong>LOCALIDAD Y PROVINCIA: </strong>";
echo $registro['localidad']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo "( ";
echo $registro['provincia']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " )";
echo "<br>";
echo "<strong>E-MAIL Y PAGINA WEB: </strong>";
echo $registro['email']."<font size='2' face='Arial, Helvetica, sans-serif'>";
echo " y ";
echo $registro['web']."<font size='2' face='Arial, Helvetica, sans-serif'><br>";
}
?>
<font size="2" face="Arial, Helvetica, sans-serif">
<p> Estos son los datos correspondientes a la factura: </p>
<form name="form1" method="post" action="facturar4.php">
<table width="80%" border="0" cellspacing="0"><tr>
<td><font size="2" face="Arial, Helvetica, sans-serif">DESCRIPCION</font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">UDS</font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">PRECIO</font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif">PRECIO TOTAL</font></td></tr>
<tr> <td width="21%" height="26"><font size="2" face="Arial, Helvetica, sans-serif">PRODUCTOS</font></td>
<td width="21%"><p><font size="2" face="Arial, Helvetica, sans-serif">
<?
echo $productos;
echo " ";
?>
</p></td>
?>
<td width="16%"><font size="2" face="Arial, Helvetica, sans-serif">
<?
echo $precio1;
echo " ";
?>
&euro;</font></td>
<td width="16%"><font size="2" face="Arial, Helvetica, sans-serif">
<?
$total1= $productos * $precio1;
echo $total1;
echo " ";
?>

Lo último lo realiza bien, es decir muestra los productos, precios y totales, pero pierdo los datos del cliente, he probado a sacarlo del formulario (en el fichero facturar2.php), etc, pero no consigo mostrarlo, se pierden esos datos.

¿Qué puedo hacer?. Necesito todos esos datos, para volver a mandarlos a otro fichero (facturar4.php) donde se insertarán todos los datos en una base de datos, para llevar un control de todas las facturas.

Perdonar por mi extensión, pero he intentado dejarlo lo más claro posible.
  #2 (permalink)  
Antiguo 14/12/2005, 08:44
Avatar de fatherjuan  
Fecha de Ingreso: mayo-2005
Ubicación: Estado de México
Mensajes: 132
Antigüedad: 12 años, 6 meses
Puntos: 0
No veo en que tabla estas capturando los datos de la factura, tienes que crear una tabla que contenga los productos que quieres facturar y crear una consulta con tu tabla empresas y la de facturas con inner join. Si es esto lo que quieres hacer busca con inner join
  #3 (permalink)  
Antiguo 14/12/2005, 08:48
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 12 años
Puntos: 0
La tabla está creada. Como ya he indicado, todo funciona perfectamente, salvo el paso del fichero facturar2.php a facturar3.php, que me muestra los datos del formulario con los productos, pero no me muestra los datos del cliente.

He hecho una modificación en el fichero facturar2.php, he eliminado la línea:
<input type="submit" name="Submit" value="Enviar datos">, y he puesto:
<?
echo "<font size='2' face='Arial, Helvetica, sans-serif'>"."<a href=facturar3.php?id=$id>"."<strong>Crear Factura</strong>";
?>
Y si me pasa los datos del cliente, pero ahora no me pasa los datos del formulario, es decir o tengo una cosa o tengo la otra, pero las dos no las tengo.
¿ Qué puedo hacer ?
  #4 (permalink)  
Antiguo 14/12/2005, 10:32
 
Fecha de Ingreso: diciembre-2005
Mensajes: 9
Antigüedad: 12 años
Puntos: 0
Una ayudita, ¿qué puedo hacer?
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:39.