PHP - no me guarda nada en la base datos en una insercion

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

no me guarda nada en la base datos en una insercion

Publicado por Rey (74 intervenciones) el 19/04/2018 00:32:18
cuando le doy en el botón enviar no me guarda la inserción a la base datos no se que esta malo

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
41
42
43
44
45
46
<?php
$total=0;
if(isset($_SESSION['carrito'])){
$datos=$_SESSION['carrito'];
 
$total=0;
for($i=0;$i<count($datos);$i++){
 
?>
	<div class="producto">
		<center>
            //intento guardar  lo que esto   que esta abajo  $Imagen','$Nombre','$Precio','$total
 
 
                        <img src="data:image/jpeg;base64,<?php echo base64_encode($datos[$i]['Imagen']);?>"><br>
 
			<span ><?php echo $datos[$i]['Nombre'];?></span><br>
			<span>Precio: <?php echo $datos[$i]['Precio'];?></span><br>
			<span>Cantidad:
				<input type="text" value="<?php echo $datos[$i]['Cantidad'];?>"
				data-precio="<?php echo $datos[$i]['Precio'];?>"
				data-id="<?php echo $datos[$i]['Id'];?>"
				class="cantidad">
			</span><br>
			<span class="subtotal">Subtotal:<?php echo $datos[$i]['Cantidad']*$datos[$i]['Precio'];?></span><br>
			<a href="#" class="eliminar" data-id="<?php echo $datos[$i]['Id']?>">Eliminar</a>
		</center>
	</div>
<?php
	$total=($datos[$i]['Cantidad']*$datos[$i]['Precio'])+$total;
}
 
}else{
	echo '<center><h2>No has A&ntilde;adido ningun producto</h2></center>';
}
echo '<center><h2 id="total">Total: '.$total.'</h2></center>';
if($total!=0){
	echo '<center><input type="Submit" name="Comprar" class="aceptar"></center>';
    if(isset($_POST['Comprar'])) {
 
        mysqli_query($link, "INSERT INTO alquiler(Imagen, Nombre, Precio, total) VALUES ('$Imagen','$Nombre','$Precio','$total')");
 
      }
 
}
?>
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
Imágen de perfil de jose carlos
Val: 134
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por jose carlos (48 intervenciones) el 19/04/2018 02:27:22
1
2
$insert ="INSERT INTO alquiler(Imagen,Nombre,Precio,total) VALUES('$Imagen','$Nombre','$Precio','$total')";
$resultado = $mysqli->query($insert);

intenta con esto
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: 19
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por tomas (7 intervenciones) el 19/04/2018 19:45:38
primero te falta la funcion /* $con=mysqli_connect("localhost","my_user","my_password","my_db"); */, y despues usas $con para el mysqli_query(). Y segundo que las variables $imagen, $nombre y $precio no estan definidas en el PHP. Si te referis a que queres insertar la imagen, nombre y precio de cada producto del carrito tendrias que meter el ultimo if dentro del for. Asi por cada producto te inserta un registro en la tabla alquiler.
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: 135
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por Rey (74 intervenciones) el 19/04/2018 21:14:18
puede incluir la conexión y la inserción como me dijiste aun no me guarda por favor colaborame ahí.

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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php
 
		$link = mysqli_connect("localhost","root", "","id1582854_store");
         mysqli_select_db($link, "id1582854_store");
         $tildes = $link->query("SET NAMES 'utf8'");
 
			$total=0;
 
			if(isset($_SESSION['carrito'])){
			$datos=$_SESSION['carrito'];
 
			$total=0;
			for($i=0;$i<count($datos);$i++){
	if(isset($_POST['Comprar'])) {
 
        mysqli_query($link, "INSERT INTO alquiler(Imagen, Nombre, Precio, total) VALUES ('$Imagen','$Nombre','$Precio','$total')");
 
	}
 
 
	?>
				<div class="producto">
					<center>
                       <img src="data:image/jpeg;base64,<?php echo base64_encode($datos[$i]['Imagen']);?>"><br>
 
						<span ><?php echo $datos[$i]['Nombre'];?></span><br>
						<span>Precio: <?php echo $datos[$i]['Precio'];?></span><br>
						<span>Cantidad:
							<input type="text" value="<?php echo $datos[$i]['Cantidad'];?>"
							data-precio="<?php echo $datos[$i]['Precio'];?>"
							data-id="<?php echo $datos[$i]['Id'];?>"
							class="cantidad">
						</span><br>
						<span class="subtotal">Subtotal:<?php echo $datos[$i]['Cantidad']*$datos[$i]['Precio'];?></span><br>
						<a href="#" class="eliminar" data-id="<?php echo $datos[$i]['Id']?>">Eliminar</a>
					</center>
				</div>
			<?php
				$total=($datos[$i]['Cantidad']*$datos[$i]['Precio'])+$total;
			}
 
			}else{
				echo '<center><h2>No has A&ntilde;adido ningun producto</h2></center>';
			}
			echo '<center><h2 id="total">Total: '.$total.'</h2></center>';
			if($total!=0){
	echo '<center><input type="Submit" name="Comprar" class="aceptar"></center>';
 
           }
 
		?>
		<center><a href="./">Ver catalogo</a></center>
 
	</section>
</body>
</html>
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: 19
Ha aumentado su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por tomas (7 intervenciones) el 20/04/2018 14:02:12
Para mi que no te guarda porque las variables $imagen, $nombre y $precio no existen en el script ese, tendrias que hacer un $datos[$i]['Imagen'], y asi con todos. Despues el insertar lo estas haciendo al principio y todavia no calculaste el total. Con respecto al total no se si queres guarar el total por producto o el total del carrito. Proba con esto que te adjunto ahora.


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
41
42
43
44
45
46
47
48
49
50
<?php
if (isset($_SESSION['carrito'])) {
    $datos = $_SESSION['carrito'];
    $total = 0;
    for ($i = 0; $i < count($datos); $i++) {
        $dato = $datos[$i];
        ?>
        <div class="producto">
            <center>
                <img src="data:image/jpeg;base64,<?php echo base64_encode($dato['Imagen']); ?>"><br>
 
                <span ><?php echo $dato['Nombre']; ?></span><br>
                <span>Precio: <?php echo $dato['Precio']; ?></span><br>
                <span>Cantidad:
                    <input type="text" value="<?php echo $dato['Cantidad']; ?>"
                           data-precio="<?php echo $dato['Precio']; ?>"
                           data-id="<?php echo $dato['Id']; ?>"
                           class="cantidad">
                </span><br>
                <span class="subtotal">Subtotal:<?php echo $dato['Cantidad'] * $dato['Precio']; ?></span><br>
                <a href="#" class="eliminar" data-id="<?php echo $dato['Id'] ?>">Eliminar</a>
            </center>
        </div>
        <?php
        $total = ($dato['Cantidad'] * $dato['Precio']) + $total;
 
        if (isset($_POST['Comprar'])) {
            try {
                $link = mysqli_connect("localhost", "root", "", "id1582854_store");
                $sql = 'insert into alquiler(Imagen,Nombre,Precio,total) values("' . $dato['Imagen'] . '","' . $dato['Nombre'] . '","' . $dato['Precio'] . '","' . $total . '")';
                mysqli_query($link, $sql);
            } catch (Exception $e) {
                echo $e->getMessage();
                die();
            }
        }
    }
} else {
    echo '<center><h2>No has A&ntilde;adido ningun producto</h2></center>';
}
echo '<center><h2 id="total">Total: ' . $total . '</h2></center>';
if ($total != 0) {
    echo '<center><input type="Submit" name="Comprar" class="aceptar"></center>';
}
?>
<center><a href="./">Ver catalogo</a></center>
 
</section>
</body>
</html>
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: 135
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por Rey (74 intervenciones) el 21/04/2018 06:44:51
Hola Probe el codigo y no me guardo nada .
me sale error en la linea 235 y 236 cuando elimino algun producto me sale en el pantallazo que adjunto


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
41
42
43
44
45
46
47
48
49
50
<?php
if (isset($_SESSION['carrito'])) {
    $datos = $_SESSION['carrito'];
    $total = 0;
    for ($i = 0; $i < count($datos); $i++) {
        $dato = $datos[$i];
        ?>
        <div class="producto">
            <center>
                <img src="data:image/jpeg;base64,<?php echo base64_encode($dato['Imagen']); ?>"><br>
 
                <span ><?php echo $dato['Nombre']; ?></span><br>
                <span>Precio: <?php echo $dato['Precio']; ?></span><br>
                <span>Cantidad:
                    <input type="text" value="<?php echo $dato['Cantidad']; ?>"
                           data-precio="<?php echo $dato['Precio']; ?>"
                           data-id="<?php echo $dato['Id']; ?>"
                           class="cantidad">
                </span><br>
                <span class="subtotal">Subtotal:<?php echo $dato['Cantidad'] * $dato['Precio']; ?></span><br>
                <a href="#" class="eliminar" data-id="<?php echo $dato['Id'] ?>">Eliminar</a>
            </center>
        </div>
        <?php
        $total = ($dato['Cantidad'] * $dato['Precio']) + $total;
 
        if (isset($_POST['Comprar'])) {
            try {
                $link = mysqli_connect("localhost", "root", "", "id1582854_store");
                $sql = 'insert into alquiler(Imagen,Nombre,Precio,total) values("' . $dato['Imagen'] . '","' . $dato['Nombre'] . '","' . $dato['Precio'] . '","' . $total . '")';
                mysqli_query($link, $sql);
            } catch (Exception $e) {
                echo $e->getMessage();
                die();
            }
        }
    }
} else {
    echo '<center><h2>No has A&ntilde;adido ningun producto</h2></center>';
}
echo '<center><h2 id="total">Total: ' . $total . '</h2></center>'; // linea 235
if ($total != 0) { //linea 236
    echo '<center><input type="Submit" name="Comprar" class="aceptar"></center>';
}
?>
<center><a href="./">Ver catalogo</a></center>
 
</section>
</body>
</html>
231
1234
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 italo
Val: 920
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

no me guarda nada en la base datos en una insercion

Publicado por italo (150 intervenciones) el 24/04/2018 07:51:51
hola, pues a simple vista hay dos errores , el primero (o talvez si lo has hecho) es hacer el start de la session, el otro esta en ultimo codigo, $total = 0; lo declaras dentro del primer IF y luego lo llamas fuera del ciclo es por eso que te da ese error,.

por otra parte cuando haces
1
$datos=$_SESSION['carrito'];

deberias hacer primero el dump o echo o print_r de esa variable de session para ver que contiene el array ya que por lo visto todo tu codigo depende de eso, otra cosa mas es no complicarte con el for, podrías usar un foreach en su lugar, revisa con calma tu codigo, debug debug debug con calma, paso a paso.

corrige, si tienes errorew escribelos.

salud2
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