Foros del Web » Programando para Internet » PHP »

Carro de Compras

Estas en el tema de Carro de Compras en el foro de PHP en Foros del Web. Hola a todos, me veo envuelto en un tema que es nuevo para mi y la verdad es que no se a quien mas recurrir. ...
  #1 (permalink)  
Antiguo 20/12/2004, 18:27
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Carro de Compras

Hola a todos, me veo envuelto en un tema que es nuevo para mi y la verdad es que no se a quien mas recurrir.
Estoy implementando en una web un sistema de carrito de compras, el cual fue extraido del sitio http://www.desarrolloweb.com/manuales/56/
El mismo trabaja con una libreria y con sesiones pero aclara que no muestran como trabajar con base de datos, razon por la cual estoy pidiendo ayuda.
Si alguien puede ver el funcionamiento de este carro le agradeceria que me de una mano, ya que no puedo introducir los productos, que agrego al carro, dentro de una base de datos.
Si alguien puede ayudarme. Si quieren dejo el codigo para que lo vean.
Desde ya muchas gracias.

Matias
  #2 (permalink)  
Antiguo 20/12/2004, 18:43
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
dudo que alguien tenga el tiempo para explicarte paso a paso. por lo pronto lo que puedo hacer es sugerirte que leas la documentación de php sobre funciones mysql como mysql_connect() y que vengas con dudas concretas
  #3 (permalink)  
Antiguo 21/12/2004, 07:40
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Ok, te cuento

Lo que necesito es ingresar un array (que muestra el nombre de los productos) en un campo en una base de datos.
Probe mediante el metodo POST con un campo hidden pero cuando asigno el valor del array a ese campo solo me trae el ultimo producto que cargué y no todos. Alguien sabe porque puede pasar esto?
Aca esta la funcion que utilizo para mostrar los productos que contiene el carrito:

//Muestra el contenido del carrito de la compra
function imprime_carrito(){
$suma = 0;
echo '<table border="0" cellpadding="5" cellspacing="1" bgcolor="333333" id="pedido">';
echo '<tr bgcolor="#FFFFCC">';
echo '<td><b>Nombre del producto</b></td>';
echo '<td>&nbsp;</td>';
echo '</tr>';
for ($i=0;$i<$this->num_productos;$i++){
if($this->array_id_prod[$i]!=0){

$arrdescripcio = $this->array_nombre_prod[$i];
$pasar = serialize($arrdescripcio);

echo '<tr bgcolor="#FFFFCC">';
echo "<td>" . $this->array_nombre_prod[$i] . "</td>";

echo "<td><a href='eliminar_producto.php?linea=$i'>Eliminar</td>";
echo '</tr>';
}
}
echo "</table>";
echo "<input type='hidden' name=pasar value='$pasar'>";
}

Espero que alguien pueda darme una mano.

Matias

PD: Por favor necesito ayuda urgente, tengo que entregar un trabajo el jueves.

Última edición por matiasl10; 21/12/2004 a las 13:51 Razón: Necesito ayuda
  #4 (permalink)  
Antiguo 21/12/2004, 13:52
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Realmente necesito ayuda

Por favor, necesito que alguien me de una mano grande en esto, tengo que entregar un trabajo el jueves, me quedan solo 2 dias.
Desde ya muchas gracias.

Matias
  #5 (permalink)  
Antiguo 21/12/2004, 16:36
Avatar de sism82  
Fecha de Ingreso: octubre-2003
Ubicación: Guadalajara
Mensajes: 865
Antigüedad: 20 años, 6 meses
Puntos: 1
Código PHP:
//Muestra el contenido del carrito de la compra
function imprime_carrito(){
$suma 0;
echo 
'<table border="0" cellpadding="5" cellspacing="1" bgcolor="333333" id="pedido">';
echo 
'<tr bgcolor="#FFFFCC">';
echo 
'<td><b>Nombre del producto</b></td>';
echo 
'<td>&nbsp;</td>';
echo 
'</tr>';
$arrdescricio = Array();
for (
$i=0;$i<$this->num_productos;$i++){
if(
$this->array_id_prod[$i]!=0){

$arrdescripcio[] = $this->array_nombre_prod[$i];

echo 
'<tr bgcolor="#FFFFCC">';
echo 
"<td>" $this->array_nombre_prod[$i] . "</td>";

echo 
"<td><a href='eliminar_producto.php?linea=$i'>Eliminar</td>";
echo 
'</tr>';
}
}
echo 
"</table>";
$pasar serialize($arrdescripcio);
echo 
"<input type='hidden' name=pasar value='$pasar'>";

errores que tenias:
$pasar = serialize($arrdescripcio); // esta linea debe ir al final, como la puse, justo antes del hidden
$arrdescripcio[] = $this->array_nombre_prod[$i]; //$arraydescripcio debe ser un array (corchetes)

saludos
  #6 (permalink)  
Antiguo 21/12/2004, 17:30
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Mil gracias

La verdad es que te agradezco mucho, anduvo perfecto lo que me pasaste, gracias. Lo unico es que los productos se cargan con unos caracteres adelante:

a:2:{i:0;s:26:\"AGE OF MYTHOLOGY - ESPAÑOL\";i:1;s:54:\"EL SEÑOR DE LOS ANILLOS - EL RETORNO DEL REY - ESPAÑOL\";}

Pero todo bien. Gracias.

Matias
  #7 (permalink)  
Antiguo 23/12/2004, 19:11
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Ayuda con esto por fa

Alguien puede decirme porque salen estos caracteres antes de los datos que grabo en la base???

a:4:{i:0;s:29:"ZWAN ... mary star of the sea";i:1;s:9:"banda xxi";i:2;s:36:"ZUMBA DORES ... frutilla y almendras";i:3;s:29:"100X100 CUMBIERO VOL 8 - 2004";}

Esos son los caracteres. Lo que yo quiero mostrar despues en una consulta son los los nombres que estan dentro de las comillas. Se puede hacer eso de alguna forma?

Desde ya quiero agradecer a los que me ayudaron.

Matias

Última edición por matiasl10; 15/01/2005 a las 12:42
  #8 (permalink)  
Antiguo 23/01/2005, 21:57
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Ultima ayuda

Alguien puede decirme porque salen estos caracteres antes de los datos que grabo en la base???

a:4:{i:0;s:29:"ZWAN ... mary star of the sea";i:1;s:9:"banda xxi";i:2;s:36:"ZUMBA DORES ... frutilla y almendras";i:3;s:29:"100X100 CUMBIERO VOL 8 - 2004";}

Esos son los caracteres. Lo que yo quiero mostrar despues en una consulta son los los nombres que estan dentro de las comillas. Se puede hacer eso de alguna forma?

Desde ya quiero agradecer a los que me ayudaron.

Matias
  #9 (permalink)  
Antiguo 24/01/2005, 02:46
AntochoMill
Invitado
 
Mensajes: n/a
Puntos:
Sois buena gente
  #10 (permalink)  
Antiguo 24/01/2005, 05:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Esos "caracteres" de más que tienes ahí en tus datos son la estructura que toman al serializar un array .. debes des-serializarlo con la función opuesta a la que usas para serializar: unserialize() para obtener tu array denuevo.

También se "escapan" caracteres de control como esas comillas dobles poniendo un \ delante .. Si lo requieres deberías usar stripslashess() para elimirar esos \ de más.

Un saludo,
  #11 (permalink)  
Antiguo 24/01/2005, 08:49
 
Fecha de Ingreso: abril-2004
Mensajes: 9
Antigüedad: 20 años
Puntos: 0
Codigo Unserialize

Aca esta el codigo con el que deserializo, lo dejo para que vean si esta bien.

if (get_magic_quotes_gpc()) {
$arrdescripcio = unserialize(urldecode($pasar));
} else {
$arrdescripcio = unserialize($pasar);
}

Espero que alguien me de una mano.
Desde ya muchas gracias.

Matias
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 10:14.