Imaginemos que tengo la sesion:
Código PHP:
$carro=$_SESSION['carro'];
| |||
tengo datos en una sesion y quiero guardarlos en una tabla Tengo datos en una sesion y deseo guardarlos en una tabla. Imaginemos que tengo la sesion: Código PHP: |
| |||
eso esta bien Pero lo que pasa que tengo varias lineas para guardar las recorro con un for (y si quiero agregar algunos datos del usuario que es ese momento lo agrego a la seccion como dato (ejemplo: nombre - direccion - ci - telefono, etc.) Gracias |
| |||
Hola! si te quieres guardar mas cosas en tu BD tendras q modificar tu tabla o crear una nueva para meter esos campos! pero la base es esta hacer un Insert de tus variables! Código PHP: ![]()
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
Sigo sin lograr que me guarde en tabla Paso el codigo: Código PHP: |
| ||||
Me parece que tu problema es mas de lógica de programación que de sintaxis o de procesos. Qué haría yo??? Guardo los datos en una sesión $carro=$_SESSION['id'], $carart=$_SESSION['articulo'], $carprecio=$_SESSION['precio']. Y a raíz de estas variables, utilizo $sql="INSERT INTO tblCompras (id,articulo,precio,cantidad,ci) VALUES ('".$carro."',".$carart.",".$carprecio.")"; Ojalá que te haya sido de ayuda. Saludos.
__________________ Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo) www.programandoweb.com |
| |||
Pero ese "$_SESSION['id']" que es exactamente .. que representa? y el $ci? .. Deberías describir con que datos trabajas para que nos quede más claro. Y la estructura de tu tabla (pero de SQL .. no "nombrada" sólo). Si es el "ID" de tu producto, te hará falta un campo más en tu tabla de tu BBDD. El "ID" que ya tienes creado supongo que será un campo "autonumérico y único"? (o no?). Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Explico un poco mejor (o por lo menos intento) El id es el del articulo que tengo en la sesion (la tabla ya tiene otro campo numerico que es unico y se autoincrementa); la ci es un dato que lo estoy pidiendo en este momento (esta en el codigo html de abajo). O sea que los datos id,precio,articulo,cantidad los tengo en una sesion y el ci es un dato que pido en este momento. BUeno espero haber sido claro, gracias nuevamente. Saludos |
| |||
Pues entonces tu tabla de "tblCompras" debería ser tipo: id --> campo autoincremental (de Mysql) id_articulo --> tu $_SESSION['id] del articulo articulo ---> Será necesario esto? .. si ya vinculas con su "ID" en su tabla correspondiente de "artículos" que tendras supongo? .. Es información redundante. cantidad --> OK .. es lo que estás comprando precio ---> OK, es el precio actual al que se compraron estos productos/artículos Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
estas en lo correcto pero no me guarda Tu sabes que tampoco me larga ningun tipo de error pero no me almacena nada en la tabla (mysql). Los nombres de los campos y el nombre de la tabla ya estan revisados pero nada che, gracias |
| |||
Cita: Y seguro que tu código entra a tu foreach()? .. haz:echo $sql."<br>"; para ir viendo que "sentencias" SQL deberías estar ejecutando. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
hice algunos cambios para probar y me dio el siguiente error este es el codigo de error mysql_query(): Access denied for user: 'hartley@localhost' (Using password: NO) in /home/hartley/public_html/ult/datos_compra.php on line 10 este es el codigo (deje solo el id para probar) Código PHP: Código PHP: |
| |||
Y donde se supone que haces tu conexión a tu BBDD? en tu config.php? .... Por qué le quitastes el foreach() ? .. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
si con respecto a la conexion, si agrego el foreach Si agrego el foreach me da el siguiente error Invalid argument supplied for foreach() en la linea del foreach Con relacion a las conecciones si esta todo en config.php. |
| |||
Cita: Bueno . .te das cuenta que no se trata de ir "probado" .. ahí tienes mensajes de error .. eso es lo que necesitamos ver para evaluar el problema (y tu también .. con el tiempo ya aprenderas a identificarlos).El mensaje te indica que $carro no es un array (de $carro=$_SESSION['carro']; ) .. o estás accediendo a un indice de esta que no existe. Comprueba que tiene tu variable de sesión: Código PHP:
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Sigo con el problema Lo extraño es que con la aplicacion que tengo de mostrar el carrito, me agregar todos los productos y los veo perfecto. Cuando quiero grabar nada, es mas hice lo de (consejo por Cluster): Código PHP: |
| |||
bueno algunos cambios y ya veo los datos Pero igual sigo sin que me grabe en la tabla Logre ver los datos del array carro, con este codigo echo "<pre>"; print_r($_SESSION); echo "</pre>"; |
| |||
me tiene loco, no me graba y no hay caso este es el codigo que tengo Código PHP: me despliega esto Array ( [carro] => Array ( [c4ca4238a0b923820dcc509a6f75849b] => Array ( [identificador] => c4ca4238a0b923820dcc509a6f75849b [cantidad] => 1 [articulo] => Filmadora xxxxxxxx [p_12] => 125 [id] => 1 ) ) ) O sea sabe que tiene esto y no graba nada, me estoy enloqueciendo, gracias |
| |||
Cita: Si te fijas .. todo este mensaje he intentado guiarte para que tu mismo veas el problema .. por qué nosotros sin "probar" como tu lo puedes hacer no podemos hacer mucho.
Iniciado por jprolando ![]() este es el codigo que tengo Código PHP: me despliega esto Array ( [carro] => Array ( [c4ca4238a0b923820dcc509a6f75849b] => Array ( [identificador] => c4ca4238a0b923820dcc509a6f75849b [cantidad] => 1 [articulo] => Filmadora xxxxxxxx [p_12] => 125 [id] => 1 ) ) ) O sea sabe que tiene esto y no graba nada, me estoy enloqueciendo, gracias Te fijas en la estructura que tiene tu sesión? .. tienes un array anidado .. Y no sé por qué lo tienes así .. no debería ser (con ese "ID de sesión" como indice del array generado) .. Si esto se produce es por tu forma de generar dicho array (de manejo de tu carrito!). ¿Tú haces pruebas para ver si tu código entra a tu bucle foreach() o que variables toman esas variables que ahí dentro usas? ... Esa es una de las formas de darte cuenta de que algo pasa. Tú no tienes un código que uses actualmente para ver los items que tienes en tu carrito? .. Es ese mismo el que debes usar para hacer tus correspondientes "INSERT's". Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
Tenes razon, pero no se como hacer para sacar esa anidacion de array Mira asi agrego al carro: Código PHP: Estuve probrando algunas cosas que me comentastes de los insert, pero nada, gracias |
| |||
gracias a todos, ya quedo era una maldita comilla Bueno muchas gracias a todos era una simple comilla la que me enloquecio dos dias, nuevamente gracias a todos: Código PHP: |
| |||
Buenos dias! para evitar errores como este utiliza mysql_error() Código PHP:
__________________ "Cada hombre es el hijo de su propio trabajo" Miguel de Cervantes Saavedra "La experiencia es algo que no consigues hasta justo depués de necesitarla" Laurence Olivier |
| |||
Cita: Fuera de que el problema podría ser una simple "comilla" .. No entiendo para que defines un array con ese ID (en MD5()):
Iniciado por jprolando ![]() Mira asi agrego al carro: Código PHP: Estuve probrando algunas cosas que me comentastes de los insert, pero nada, gracias Sobra con que lo hagas así: Código PHP: El array de sesión te quedaría algo tipo: Cita: Mucho más simple de manejar y "natural".Array ( [carro] => Array ( [identificador] => c4ca4238a0b923820dcc509a6f75849b [cantidad] => 1 [articulo] => Filmadora xxxxxxxx [p_12] => 125 [id] => 1 ) ) Tampoco entiendo para que en la variable de sesión codificas en MD5() el $id ('identificador'=>md5($id),) si ya lo tienes sin "codificar" en la misma variable de sesión .. Es un dato altamente "redundante" .. No sé con qué fin lo usas .. pero sea como sea no es necesario que hagas ese proceso y consumas una variable más en tu sesión .. si lo necesitas, aplicar md5() cuando realmente lo uses obteniendo el $id que ya tienes en variable de sesión. Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
tu sabes que tenes razon Si tu sabes que tenes razon (es mas lo voy a modificar para que quede asi). Lo que pasa que a veces con el afan de querer hacer algo, que generalmente es cada vez mas rapido, no tomamos en cuenta muchos aspectos; que a veces con ayuda nos resulta mucho mas claros verlos, y bueno sera por el tema de ser nuevo en estos lenguajes. Desde ya muchas gracias a todos |