Foro de programación en PHP
Pregunta de php
| Autor: alexr Publicado: 27-3-2008 11:44 AM |
|
|
Hola a todos quisiera saber si alguién sabe como rellenar un area de texto con el contenido de un array por que sólo me rellena con uno sólo de los registros... ahí va el código...saludos y gracias <?php session_start(); if (!isset($_SESSION["itemsEnCesta">)){ $_SESSION["itemsEnCesta"> = session_id(); $itemsEnCesta=$_SESSION["itemsEnCesta">; } include("../gestor_contenidos/conexion/conex.inc.php"); $link=Conectarse(); $itemsEnCesta=$_SESSION["itemsEnCesta">; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Documento sin título</title> </head> <body> <?php $sql="SELECT*, product,quantity, precio, total FROM shopping where session = '$itemsEnCesta'"; $result3 = mysql_query($sql, $link) or die (mysql_error()); if ($row=mysql_fetch_array($result3)!="") { $sql2 = "SELECT SUM(total) as totales FROM shopping where session = '$itemsEnCesta' GROUP BY session"; ?> <form name='formulario' id='formulario' method='post' action='paginamail.php' target='_self'> <p>Nombre <input type='text' name='Nombre' id='Nombre'></p> <p>Apellidos <input type='text' name='Apellidos' id='Apellidos'></p> <p>E-mail <input type='text' name='E-mail' id='E-mail'></p> <p><input type='radio' value='Hombre' name='Sexo' id='Sexo'>Hombre</p> <p><input type='radio' value='Mujer' name='Sexo' id='Sexo'>Mujer</p> <p> <label> <?php $result=mysql_query($sql, $link) or die (mysql_error()); $result2=mysql_query($sql2, $link) or die (mysql_error()); while ($row=mysql_fetch_array($result)) { $id=$row["id">; $item=$row["product">; $cantidad=$row["quantity">; $unitario2=$row["precio">; $unitario=number_format ($unitario2, 2, ",", "."); $total2=$row["total">; $total=number_format ($total2, 2, ",", "."); $texto1= "Producto: "; $texto2= "Cantidad: "; $texto3= " "; $pruebas = array($texto1.$item.$texto3.$texto2.$cantidad.$texto3); } } ?> <textarea name="pedido" cols="60" rows="6"><?php echo $pruebas ?></textarea> </label> </p> <p> </p> <p align='center'> <input type='submit' value='Enviar formulario'> <input type='reset' value='resetear formulario'> </p> </form> </body> </html> |
|
| Autor: Natxo Publicado: 31-3-2008 08:28 AM |
|
| Hola Alex, si lo que haces es poner $pruebas=array(... lo que realmente consigues en cada vuelta de tu bucle while es crear de cero esa variable pruebas, de manera que en realidad machacas el valor de la vuelta anterior y al acabar se queda con el valor del último registro de la base de datos habiendo machacado los anteriores. Si lo que quieres es añadir en cada vuelta un valor usa la función array_push (http://es2.php.net/manual/es/function.array-push.php) Así irás añadiendo al array sus registros. array_push($pruebas, $texto1.$item.$texto3.$texto2.$cantidad.$texto3); Luego te queda la otra parte en el textarea. Si pones $pruebas sin más es probable que te devuelva el valor "array". Deberías hacer un bucle for ($i=0; $i<count($pruebas);$i++) recorriendo los valores del array y mostrándolos en el textarea. Espero aclararte algo. |
|

