PHP - Problema con formulario

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

Problema con formulario

Publicado por Oddinx (3 intervenciones) el 22/05/2017 05:08:35
Buenas, tengo un problema con un formulario de pedidos.

Tengo una tabla con los campos numero, fechaCreacion, fechaVencimiento, condiciones, subtotal iva,total ,observaciones, estado, Usuario_idUsuario y Proveedor _numeroIdent

De esos datos Usuario_idUsuario y Proveedor_numeroIdent son llaves foráneas

El problema es que cuando inserto los datos, estos no se registran en la base de datos.

Este es mi codigo:



Espero que me puedan ayudar, gracias de ante mano


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
<?php
 
include 'conexion.php';
 
 
 
$numero = $_POST["numero"];
 
$fechac = $_POST["fechacreacion"];
 
$fechav = $_POST["fechavencimiento"];
 
$con = $_POST["condiciones"];
 
$sub = $_POST["subtotal"];
 
$iva = $_POST["iva"];
 
$total = $_POST["total"];
 
$observaciones = $_POST["observaciones"];
 
$es = $_POST["estado"];
 
$idus = $_POST["Usuario_id_idUsuario"];
 
$idp = $_POST["Proveedor_numeroIdent"];
 
$insertar ="INSERT INTO pedido(numero,fechaCreacion,fechaVencimiento,condiciones,subtotal,iva,total,observaciones,estado,Usuario_idUsuario,Proveedor_numeroIdent)VALUES ('$numero','$fechac','$fechav','$con','$sub','$iva','$total','$observaciones','$idus','$idp')";
 
$resultado = mysqli_query($conexion,$insertar);
 
if(!$resultado){
echo 'Error al llenar formulario';
 
 
}
else
{
echo 'Se ha llenado el formulario con exito';
 
}
 
mysqli_close($conexion);
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 [abZeroX]
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por [abZeroX] (157 intervenciones) el 23/05/2017 04:38:11
Hola, intenta agregar la función mysqli_error de la siguiente forma y luego nos compartes cual es el error que te muestra:

1
2
3
4
5
6
7
8
if(!$resultado){
   echo mysqli_error($conexion);
}
else {
   echo 'Se ha llenado el formulario con exito';
}
 
mysqli_close($conexion);
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: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Oddinx (3 intervenciones) el 23/05/2017 18:41:00
Hola,he cambiado un poco el codigo ya que algunos campos son automaticos.

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
<?php
 
 
 
include 'conexion.php';
 
$numero = $_POST["numero"];
$fechac = $_POST["fechacreacion"];
$fechav = $_POST["fechavencimiento"];
$con = $_POST["condiciones"];
$sub = $_POST["subtotal"];
$iva = $_POST["iva"];
$total = $_POST["total"];
$observaciones = $_POST["observaciones"];
 
 
$insertar ="INSERT INTO pedido(numero,fechaCreacion,fechaVencimiento,condiciones,subtotal,iva,total,observaciones)VALUES ('$numero','$fechac','$fechav','$con','$sub','$iva','$total','$observaciones')";
 
$resultado = mysqli_query($conexion,$insertar);
 
if(!$resultado){
   echo mysqli_error($conexion);
}
else {
   echo 'Se ha llenado el formulario con exito';
}
 
mysqli_close($conexion);
 
?>

Añadi el código que me dijiste y me aparece este error


Cannot add or update a child row: a foreign key constraint fails (`mydb`.`pedido`, CONSTRAINT `fk_Pedido_Usuario1` FOREIGN KEY (`Usuario_idUsuario`) REFERENCES `usuario` (`idUsuario`) ON DELETE NO ACTION ON UPDATE NO ACTION)


Que podria hacer?
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 [abZeroX]
Val: 575
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por [abZeroX] (157 intervenciones) el 24/05/2017 06:01:36
Lo que marca el error es que falta indicar el campo Usuario_idUsuario en la tabla pedido. Como este campo es FK de la tabla usuario dicho campo debe existir, es decir, debe haber un usuario registrado en la tabla usuario antes de hacer el insert en la tabla pedidos.
Esto mismo ocurre para el campo Proveedor_numeroIdent.
Me parece que al cambiar el código te has comido esto dos campos. Comprueba esto y luego nos comentas.
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: 6
Ha aumentado su posición en 23 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema con formulario

Publicado por Oddinx (3 intervenciones) el 25/05/2017 02:59:13
Y de que manera podría indicar estos campos en el código? En el insertar debo poner el Usuario idUsuario y demás?

Lo que pasa es que ya tengo un usuario registrado en la tabla usuario.

Cambie el codigo de esta manera
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
<?php
 
include 'conexion.php';
 
 
 
$numero = $_POST["numero"];
 
$fechac = $_POST["fechacreacion"];
 
$fechav = $_POST["fechavencimiento"];
 
$con = $_POST["condiciones"];
 
$sub = $_POST["subtotal"];
 
$iva = $_POST["iva"];
 
$total = $_POST["total"];
 
$observaciones = $_POST["observaciones"];
 
 
 
$insertar ="INSERT INTO pedido(numero,fechaCreacion,fechaVencimiento,condiciones,subtotal,iva,total,observaciones,Usuario_idUsuario,Proveedor_numeroIdent)VALUES ('$numero','$fechac','$fechav','$con','$sub','$iva','$total','$observaciones')";
 
$resultado = mysqli_query($conexion,$insertar);
 
if(!$resultado){
 echo mysqli_error($conexion);
 
}
else
{
echo 'Se ha llenado el formulario con exito';
 
}

Y me sale ahora este error: Column count doesn't match value count at row 1.
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