Foros del Web » Programando para Internet » PHP »

Preguntas de novato...carrito de compras..

Estas en el tema de Preguntas de novato...carrito de compras.. en el foro de PHP en Foros del Web. Estimados Amigos: Estoy haciendo un carrito de compras y tengo muchas dudas....Espero que me puedan ayudar.. <?php if($carro[md5($row['id'])]['identificador']!=md5($row['id'])){ //si el producto no ha sido agregado, ...
  #1 (permalink)  
Antiguo 29/07/2006, 13:14
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Preguntas de novato...carrito de compras..

Estimados Amigos:
Estoy haciendo un carrito de compras y tengo muchas dudas....Espero que me puedan ayudar..

<?php
if($carro[md5($row['id'])]['identificador']!=md5($row['id'])){
//si el producto no ha sido agregado, mostramos la imagen de no agregado, linkeada
// a nuestra página de agregar producto y transmitíéndole a dicha
//página el id del artículo y el identificador de la sesión
?><a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>"><img src="productonoagregado.gif" border="0" title="Agregar al Carrito"></a><?php }
else
//en caso contrario mostramos la otra imagen linkeada., a la página que sirve para borrar el artículo del carro.
{?><a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>"><img src="productoagregado.gif" border="0" title="Quitar del Carrito"></a><?php } ?></td>
</tr><?php } ?>

Qué tipo de variable es $carro...y por qué tiene doble corchete? por ejemplo...
$carro[md5($row['id'])]['identificador']

Qué es y qué función cumple el md5...
if($carro[md5($row['id'])]['identificador']!=md5($row['id']))

Qué es el Identificador....
$carro[md5($row['id'])]['identificador']

Para qué sirve el SID
{?><a href="borracar.php?<?php echo SID ?>&id=<?php echo $row['id']; ?>"><img src="productoagregado.gif" border="0" title="Quitar del Carrito"></a><?php } ?></td>
</tr><?php } ?>

Estas son alguna de las dudas que tengo...espero que me puedadn ayudar...

SAludos y Gracias por su tiempo..
  #2 (permalink)  
Antiguo 29/07/2006, 13:24
Avatar de Riven-Ward  
Fecha de Ingreso: julio-2006
Mensajes: 33
Antigüedad: 17 años, 8 meses
Puntos: 0
1- $carro es un array multidimensional, por eso tiene doble corchete, pues puedes acceder al "array" que contiene el primer valor. Me explico, tengo un array asi:

Código PHP:
<?php
$array 
= array ("uno" => array ("cero""uno""dos"),
                     
"dos" => array ("cero""uno""dos")
                    )
echo 
$array["uno"][0]; //Esto imprime "cero"
?>
2- La función md5(), como su nombre mismo explica, crea un hash MD5 con el string que le pases. No necesita mas explicación o si? .

3- Puedes entender tu mismo qué es "identificador" en el punto 1 xD.

4-El SID, si no me equivoco, es el Session ID, que es única para cada sesion que se crea. Lo que hace en este caso es poner el SID del usuario en el link para que PHP "sepa" cuál usuario es el que está viendo tal cosa (o sepa que es un usuario).

Salu2!
  #3 (permalink)  
Antiguo 31/07/2006, 07:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
4-El SID, si no me equivoco, es el Session ID, que es única para cada sesion que se crea. Lo que hace en este caso es poner el SID del usuario en el link para que PHP "sepa" cuál usuario es el que está viendo tal cosa (o sepa que es un usuario).

En ese caso el sistema de sesiones que usas propaga el SID (Identificador Único de Sesión) por el URL .. Otro método ese por cookies (de hecho más seguro que por el URL)

SID es una constante que entrega el ID de sesión activo y el nombre de esa (nombre=ID).

PHP dependiendo de su configuración propaga el SID en el URL automáticamente (session.use_trans_sid = ON) .. cuidado con eso (pues en tu caso se duplicarían). Esto lo haría PHP automática en ciertos tag's HTML como un link común, formularios y otros.

más info:
www.php.net/session

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #4 (permalink)  
Antiguo 01/08/2006, 00:23
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Gracias Riven y Gracias maestro Cluster:

Con sus explicaciones ya logré entender algunos códigos. Continuaré analizando.

Saludos y otra vez....MUCHAS GRACIAS....
  #5 (permalink)  
Antiguo 01/08/2006, 00:36
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta de novato:.....Array

Amigos:
Tengo el siguiente array:

$a[1]="10";
$a[2]="45";
$a[3]="5";
$a[4]="2";
$a[14]="80";

la función count($a) Nos da el numero de elementos de nuestro array. El resultado será 5.
1.- Quiero saber cuál es el indice mayor del arreglo. Me podrían adecir cual es la función o qué es lo que tengo qué hacer....
2.- Habrá alguna función que devuelva el mayor valor en un array?

SAludos....y Gracias por su tiempo--
  #6 (permalink)  
Antiguo 01/08/2006, 01:06
Avatar de jerkan  
Fecha de Ingreso: septiembre-2005
Mensajes: 1.607
Antigüedad: 18 años, 7 meses
Puntos: 19
Quizás te sirva la función max. Sin embargo, veo que los valores del array van entrecomillados. Quizás por ese motivo no te funcione. Un saludo.
  #7 (permalink)  
Antiguo 01/08/2006, 05:13
Avatar de Riven-Ward  
Fecha de Ingreso: julio-2006
Mensajes: 33
Antigüedad: 17 años, 8 meses
Puntos: 0
Le funcionará.

Para saber el mayor índice, ordena el array primero y luego solo muestras el primero.

Para hacer esto usa la función krsort()

Es de fácil uso.

Código PHP:
<?php
$array 
= array ("2" => "hola""40" => "chao");
krsort($array);
?>
Después por ejemplo puedes hacer un foreach y mostrar solo el primero.

Salu2!
  #8 (permalink)  
Antiguo 07/08/2006, 10:59
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Buena Riven-Ward:

Muy buena tu ayuda...

Muchas Gracias.
  #9 (permalink)  
Antiguo 07/08/2006, 11:12
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta de Novato____Enviar datos

Estimados Amigos:
Tengo una página muestra_producto.php que muestra los datos de un producto desde una base de datos. En dicha página hay un botón que al hacer clic te envía a la página agregacar.php donde los datos del Id actual son almacenados en un arreglo. Todo esto funciona. Pero ahora quero añadir en la página muestra_producto.php una lista desplegable donde se muestre 4 alternativas de cantidades: 1,2,3,4 para que el usuario pueda elegir una de las cantidades.

Mi pregunta es: cómo hago para añadir la cantidad a los datos que pasaré a la página agregar,php.
A continuación muestro una parte del código de la página muestra_producto.php..
.

<?php echo $row_Recordset1['shape']; ?>
<?php echo $row_Recordset1['color']; ?>
<?php echo $row_Recordset1['width']; ?>
<?php echo $row_Recordset1['price']; ?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row_Recordset1['id']; ?>"><img src="productonoagregado.gif" border="0" title="Agregar al Carrito"></a>
.
.
.
.

Saludos y Gracias por su tiempo...
  #10 (permalink)  
Antiguo 07/08/2006, 22:57
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Estimados Amigos:
Necesito ayuda......Tengo una página muestra_producto.php que muestra los datos de un producto desde una base de datos. En dicha página hay un botón que al hacer clic te envía a la página agregacar.php donde los datos del Id actual son almacenados en un arreglo. Todo esto funciona. Pero ahora quero añadir en la página muestra_producto.php una lista desplegable donde se muestre 4 alternativas de cantidades: 1,2,3,4 para que el usuario pueda elegir una de las cantidades.

Mi pregunta es: cómo hago para añadir la cantidad a los datos que pasaré a la página agregar,php.
A continuación muestro una parte del código de la página muestra_producto.php..
.

<?php echo $row_Recordset1['shape']; ?>
<?php echo $row_Recordset1['color']; ?>
<?php echo $row_Recordset1['width']; ?>
<?php echo $row_Recordset1['price']; ?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row_Recordset1['id']; ?>"><img src="productonoagregado.gif" border="0" title="Agregar al Carrito"></a>
.
.
.
.

Saludos y Gracias por su tiempo...

Última edición por hna_no; 08/08/2006 a las 08:26
  #11 (permalink)  
Antiguo 09/08/2006, 07:52
 
Fecha de Ingreso: julio-2005
Mensajes: 172
Antigüedad: 18 años, 9 meses
Puntos: 0
Estimados Amigos:
Necesito ayuda......Tengo una página muestra_producto.php que muestra los datos de un producto desde una base de datos. En dicha página hay un botón que al hacer clic te envía a la página agregacar.php donde los datos del Id actual son almacenados en un arreglo. Todo esto funciona. Pero ahora quero añadir en la página muestra_producto.php una lista desplegable donde se muestre 4 alternativas de cantidades: 1,2,3,4 para que el usuario pueda elegir una de las cantidades.

Mi pregunta es: cómo hago para añadir la cantidad a los datos que pasaré a la página agregar,php.
A continuación muestro una parte del código de la página muestra_producto.php..
.

<?php echo $row_Recordset1['shape']; ?>
<?php echo $row_Recordset1['color']; ?>
<?php echo $row_Recordset1['width']; ?>
<?php echo $row_Recordset1['price']; ?>
<a href="agregacar.php?<?php echo SID ?>&id=<?php echo $row_Recordset1['id']; ?>"><img src="productonoagregado.gif" border="0" title="Agregar al Carrito"></a>
.
.
.
.

Saludos y Gracias por su tiempo...
  #12 (permalink)  
Antiguo 09/08/2006, 08:13
Avatar de B**
B**
 
Fecha de Ingreso: enero-2006
Ubicación: Monterrey,Mexico
Mensajes: 952
Antigüedad: 18 años, 3 meses
Puntos: 3
Si entendi bien, lo q quieres hacer es pasar a la BD la cantidad que el usuario teclee en el textbox...pues muy facil....recibes lo que puso el usuario por GET io por POST y haces un update o un insert, dependiendo, no se como tengas el diseño... si ya has insertado y solo vas a modificar haces update, si no, un insert ya con todos los datos listos para ingresar a la BD....
__________________
-URL= Go PHP5.
-Age=22.
-Learning=PHP,J2EE,Struts,MAMBO,C++,JSON,AJAX,XHTML ,CSS.
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 15:18.