Programación php
Email: Password:


¡Regístrate gratis! | ¿Has perdido tu password?

Home
Blog

En él que podrás informarte de todas las noticias relacionadas con el posicionamiento de páginas web.

Clica aquí para Entrar



Foro de programación en PHP

Responder el mensaje

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.