PHP - Entrar datos en tabla

   
Vista:

Entrar datos en tabla

Publicado por jeperet (4 intervenciones) el 28/10/2007 12:54:27
Hola,
explico un poco lo que quiero hacer:
Tengo un formulario donde se debe poner una referencia y una cantidad (es un formulario de pedido)
Lo que quiero conseguir es que en la tabla que hay debajo del formulario se vayan añadiendo las lineas del pedido que se va haciendo.

Lo que tengo es esto:

pagina pedido.php:

(dentro del form)

Referencia:<input name="referencia" type="text" size="7" maxlength="10">
</span></td>
Cantidad: <input name="cantidad" type="text" size="4" maxlength="4">
</span></td>

<?php if($carro){?> //La variable carro es donde se almacena el array con todos
// los datos del producto
//Esta tabla nos muestra los resultados del pedido
<table width="487" border="0" align="center" cellspacing="0">
<tr bgcolor="#CCCCCC">
<td width="73">Referencia</td>
<td width="48">Marca</td>
<td width="136">Descripcion</td>
<td width="91">Modelo</td>
<td width="79">Cantidad</td>
<td width="48">Borrar</td>
</tr>
<?php foreach($carro as $k => $v){
?>
<tr>
<td><?php echo $v['referencia'] ?></td>
<td><?php echo $v['marca'] ?></td>
<td><?php echo $v['producto'] ?></td>
<td><?php echo $v['tipo'] ?></td>
<td><?php echo $v['cantidad'] ?></td>
<td><div align="center"><a href="borref.php?<?php echo SID ?>&id=<?php echo $row['ID']; ?>">X</a></div></td>
</tr>
<?php }?>

</table>
<?php }?>

El action de este form indica a la pagina agregref.php

Esta seria la pagina agregref.php:

(Recuperamos las variables referencia y cantidad)

//Conectamos con la BD:

mysql_select_db ($database, $conexion) OR die ("No se puede conectar");
$qry=mysql_query("select * from PRODUCTOS_MOTO where REF='".$ref."'");
$row=mysql_fetch_array($qry);

if(isset($_SESSION['carro']))
$carro=$_SESSION['carro'];

$carro[md5($id)]=array('identificador'=>md5($id),'referencia'=>$ro w['REF'],'cantidad'=>$qty,'tipo'=>$row['TIPO'],'producto'=>$row['MODELO'],'marca'=>$row['MARCA']);

//Ahora dentro de la sesión ($_SESSION['carro']) tenemos sólo los valores que teníamos (si es que teníamos alguno) antes de ingresar
//a esta página y en la variable $carro tenemos esos mismos valores más el que acabamos de sumar. De manera que
//tenemos que actualizar (reemplazar) la variable de sesión por la variable $carro.
$_SESSION['carro']=$carro;

header("Location:pedido.php?".SID);

Hasta aqui bien, ya que al poner una referencia y una cantidad en los campos de texto y darle a añadir, me muestra una linea con la referencia, marca, modelo, tipo y cantidad.
El problema viene cuando quiero agregar otra linea en el pedido, ya que no la agrega sino que machaca la anterior.

Alguna idea?
Gracias!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Entrar datos en tabla

Publicado por Diego Romero (1450 intervenciones) el 28/10/2007 13:29:48
Uhm... pues... haz que $_SESSION['carro'] sea un array, con índice numérico para que sea facil accederlo más tarde. O sea, nada te impide hacer algo así:

$_SESSION['carro'][0] = "primer item";
$_SESSION['carro'][1] = "segundo item";
$_SESSION['carro'][2] = "tercero item";

Incluso puedes hacer que sea un array de arrays...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Entrar datos en tabla

Publicado por jeperet (4 intervenciones) el 29/10/2007 08:41:37
Gracias por la respuesta, pero ya lo tengo definido como un array

$carro[md5($id)]=array('id'=>md5($id),'referencia'=>$row['REF'],'cantidad'=>$qty,'tipo'=>$row['TIPO'],'producto'=>$row['MODELO'],'marca'=>$row['MARCA']);

El hecho es que hasta ahora me agrega dichos valores en la tabla, el problema viene cuando le quiero agregar más de una linea, me sustituye la anterior.
Como puedo hacer para decirle que el siguiente registro me lo muestre en la fila siguiente?
No se si me explico...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar