PHP - recuperar valores de session y agregarlos a campos por medio de FOR

 
Vista:
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 26/03/2017 17:51:48
Buen dia, tengo poco practicando php, por eso la molestia a ver si alguien puede ayudarme por favor.
Lo que quiero hacer es por medio de un ciclo "FOR" ir recuperando los valores de una "SESSION", y luego irlos guardando en los campos correspondientes de la BD. Pero aunque no me marca error el código no los guarda en la BD.

El codigo que uso es el siguiente:

<?php
session_start();

echo $_SESSION['idp'];
echo "<br/>".$_SESSION['paciente']; //Esto sólo lo pongo para verificar que estos valores llegan bien

if (isset($_SESSION['carrito'])){ //si esta dada de alta en session
$carrito_mio=$_SESSION['carrito']; //Aqui guardo el valor que trae la $_SESSION en $carrito_mio

for($i=0;$i<=count($carrito_mio)-1;$i ++){ //bucle para ir recorriendo la matriz y extraer los elementos

if($carrito_mio[$i]!= NULL){ //si la variable es diferente a vacio

mysql_query("INSERT INTO carrito (ID_contador, id_paciente, id_estudios, cantidad) VALUES (".NULL." , ".$_SESSION['idp']." , ".$carrito_mio[$i]['id_estudio']." , ".$carrito_mio[$i]['cantidad'].")");

// Aquí no me marca error, pero no guarda los valores en las tablas

}
}
}


?>

Estoy usando WAMPSERVER en localhost
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
sin imagen de perfil

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por Lady (14 intervenciones) el 26/03/2017 18:23:03
Buenas,

Si haces un var_dump ¿que sale?

No entiendo porqué haces el cambio de variable a carrito si luego a la orden SQL le metes también $_SESSION.. ¿?¿?¿?

Si estás haciendo un sobre wamp, tienes un phpadmin? Lo digo para que ejecutes directamente esa prueba a la consola de SQL... ya que como no tenemos la estructura de las tablas no sabemos cómo las tienes montadas.

También te recomiendo, que la orden SQL la guardes en una variable y luego hagas un var_dump de esa variable... a ver que te sale y te pueda guiar.

También podrías poner algo así para que te muestre por pantalla el error al insertar en la base de datos:

mysql_query(SQL TUYA ) or die("Error en consulta <br>MySQL dice: ".mysql_error());


El mysql_Error te proporciona el error que te puede estar dando.

De todas formas, creo que estás construyendo mal la SQL:

mysql_query
(
"
INSERT INTO carrito (ID_contador, id_paciente, id_estudios, cantidad)
VALUES ("" ,' ".$_SESSION['idp']."' , '".$carrito_mio[$i]['id_estudio']."' , '".$carrito_mio[$i]['cantidad']."')
"
);

Entre los valores de dentro de Values deben de ir--> comilla simple ' espacio, comilla doble ", espacio, punto ., seguido de --> $_SESSION['idp'].


Te pongo un extracto de una SQL mía para que veas lo que te digo, fíjate en cómo deben de ir los values.



INSERT INTO clientes
(
creador,
cif,
empresa,
tipo_via,
calle,
numero,
piso,
puerta,
poblacion,
provincia,
codigo_postal,
nombre,
apellido1,
apellido2,
correo,
fijo,
movil,
sector,
tipo,
fecha
)
VALUES
(
'".$datos['creador']."',
'".$datos['cif']."',
'".$datos['empresa']."',
'".$datos['tipo_via']."',
'".$datos['calle']."',
'".$datos['numero']."',
'".$datos['piso']."',
'".$datos['puerta']."',
'".$datos['poblacion']."',
'".$datos['provincia']."',
'".$datos['codigo_postal']."',
'".$datos['nombre']."',
'".$datos['apellido1']."',
'".$datos['apellido2']."',
'".$datos['correo']."',
'".$datos['fijo']."',
'".$datos['movil']."',
'".$datos['sector']."',
'".$datos['tipo']."',
NOW()
)

");
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 26/03/2017 21:15:49
gracias por responder, haré las pruebas a ver que me sale
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 27/03/2017 00:39:41
Ya lo intente como dices y nada, en si no me muestra ningun error este codigo, solo que no captura los datos a los campos de la tabla.
La razónde usar la orden de $_SESSION de nuevo es que además de los datos que trae, ahi otroa datos como los de $_SESSION['idp']; que vienen de otra pagina diferente y los agrego.
Tengo WAMP con PHPMYADMIN
Aqui pongo el codigo con los cambios, sin error, las variables si traen los datos, pero no los guarda en la tabla
Nunca he usado var_dump, pero igual con el "echo" que puse muestra la informacion que trae.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
	session_start();
 
	echo $_SESSION['idp'];                                    // Estas variables son de otro lado que agrego aqui
	echo "<br/>".$_SESSION['paciente'];
 
	if (isset($_SESSION['carrito'])){                       //si esta dada de alta en session
		$carrito_mio=$_SESSION['carrito'];       //se pone/carga en memoria la variable de sesion
 
		//bucle para ir recorriendo la matriz y extraerlos elementos para ir colocandolos en la tabla 
 
		for($i=0;$i<=count($carrito_mio)-1;$i ++){
 
			if($carrito_mio[$i]!= NULL){              //si la variable es diferente a vacio												
 
			echo "<br><br>".$_SESSION['idp']."' , '".$carrito_mio[$i]['id_estudio']."' , '".$carrito_mio[$i]['cantidad'].",<br><br><br>";		//Aqui muestra que si trae los valores
 
		mysql_query("INSERT INTO carrito
		 (
		 ID_contador, 
		 id_paciente, 
		 id_estudios, 
		 cantidad
		 ) 
		 VALUES 
		 (
		 ' " .NULL. " ',
		 ' " .$_SESSION['idp']. " ',
		 ' " .$carrito_mio[$i]['id_estudio']. " ',
		 ' " .$carrito_mio[$i]['cantidad']. " '
		 )
		 ");
 
			}
 
		}
	}
 
 
?>
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por kip (877 intervenciones) el 27/03/2017 01:11:25
Hola, pruebalo de esta forma:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
 
session_start();
 
if (isset($_SESSION['carrito'])) { //si esta dada de alta en session
    $carrito_mio = $_SESSION['carrito']; //Aqui guardo el valor que trae la $_SESSION en $carrito_mio
    $id_pac = $_SESSION['idp'];
    $v_sql [];
    foreach ($carrito_mio as $k => $valor_carrito) {
        if ( ! empty($valor_carrito)) {
            $v_sql[] = "(NULL, {$id_pac}, {$valor_carrito['id_estudio']}, {$valor_carrito['cantidad']})";
        }
    }
    $sql = 'INSERT INTO carrito (ID_contador, id_paciente, id_estudios, cantidad) VALUES ' . implode(', ', $v_sql);
    if (mysql_query($sql)) {
        echo 'Consulta ejecutada con exito!';
    } else {
        die('Error: '.mysql_error());
    }
}
 
?>

Por cierto no veo donde incluyas tu script de conexion a la base de datos, prueba con lo de arriba y avisanos si te salta algun error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 27/03/2017 03:02:24
me saca un error:


SCREAM: Error suppression ignored for
Fatal error: Cannot use [] for reading in C:\wamp\www\consul2\reporte2.php on line 17

Es en la parte donde esta: $v_sql [];
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
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 27/03/2017 03:21:11
Ya por fin, quite del codigo el $v_sql []; y ya por fin quedo. Muchisimas gracias :)

Una ultima pregunta si se puede, o si no por favor diganme para abrir otro foro.

Lo que quiero es guardar el pedido con nombre, el estudio a hacer, la cantidad y el total neto, el pedido completo.
Mi idea es que en esta BD se guarde la informacion que esta aqui y el total neto en otra BD para que se guarde en esta BD cada articulo del carrito y luego solo con el ID vinculo esta BD con el total a pagar

Ya con esto se guardan el ID del paciente, el estudio y cantidad, pero ahora para el total neto tendria que crear otra BD para vinvularla con estos estudios y mostrar todos juntos en una hoja de reporte?? o creen que le estoy dando mucha vuelta
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
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por kip (877 intervenciones) el 27/03/2017 03:25:34
Lo siento por el error, fue mio en realidad debes colocar:

1
$v_sql = [];

o

1
$v_sql = array();

En lugar de $v_sql [];

Seria bueno que crearas otro tema para lo que buscas y asi alli poder obtener respuestas concretas con respecto a tus dudas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil
Val: 11
Ha aumentado su posición en 15 puestos en PHP (en relación al último mes)
Gráfica de PHP

recuperar valores de session y agregarlos a campos por medio de FOR

Publicado por arturogg (6 intervenciones) el 27/03/2017 04:01:53
Ok, muchas gracias por tu tiempo, hasta luego
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