Foros del Web » Programando para Internet » PHP »

fallo masivo al intentar insertados datos en mysql

Estas en el tema de fallo masivo al intentar insertados datos en mysql en el foro de PHP en Foros del Web. hola. que me fallan todos los campos a ingresar..este es el error que me da: Notice: Undefined index: precioplantilla in G:\wamp\www\abcerotica\presupuestoinsertado.php on line 23 asi ...
  #1 (permalink)  
Antiguo 26/06/2010, 17:29
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
fallo masivo al intentar insertados datos en mysql

hola. que me fallan todos los campos a ingresar..este es el error que me da:


Notice: Undefined index: precioplantilla in G:\wamp\www\abcerotica\presupuestoinsertado.php on line 23

asi con todos los campos ( son bastantes).

pongo el codigo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
Código PHP:
<?php


$ssql 
"insert into presupuesto(precioplantilla, etiquetado, colorcamiseta1,
 colortinta1,numerocamisetas1,precioregistro1,
        preciototal1,colorcamiseta2,
        colortinta2,numerocamisetas2,precioregistro2,
        preciototal2,colorcamiseta3,
        colortinta3,numerocamisetas3,precioregistro3,
        preciototal3,colorcamiseta4,
        colortinta4,numerocamisetas4,precioregistro4,
        preciototal4,colorcamiseta5,
        colortinta5,numerocamisetas5,precioregistro5,
        preciototal5,totalfactura,iva,ivafactura) values ('" 
$_POST["precioplantilla"]."',
        '" 
$_POST["etiquetado"]."','" $_POST["colorcamiseta1"]."','" $_POST["colortinta1"]."',
        '" 
$_POST["numerocamisetas1"]."','" $_POST["precioregistro1"]."',
        '" 
$_POST["colorcamiseta2"]."','" $_POST["colortinta2"]."',
        '" 
$_POST["numerocamisetas2"]."','" $_POST["precioregistro2"]."',
        '" 
$_POST["colorcamiseta3"]."','" $_POST["colortinta3"]."',
        '" 
$_POST["numerocamisetas3"]."','" $_POST["precioregistro3"]."',
        '" 
$_POST["colorcamiseta4"]."','" $_POST["colortinta4"]."',
        '" 
$_POST["numerocamisetas4"]."','" $_POST["precioregistro4"]."',
        '" 
$_POST["colorcamiseta5"]."','" $_POST["colortinta5"]."',
        '" 
$_POST["numerocamisetas5"]."','" $_POST["precioregistro5"]."',
        '" 
$_POST["totalfactura"]."','" $_POST["iva"]."',
        '" 
$_POST["ivafactura"]."' )";
$conexionmysql_connect("localhost""root""");

mysql_select_db("abcerotica"$conexion);

if (
mysql_query($ssql$conexion)){
    echo 
"sentencia ingresada!";
}else{
    echo 
"no inserte nada!" ;
}







?>
<a href="index.php">volver al inicio</a>
<a href="proveedor.php">ingresar otro presupuesto</a>
</body>
</html>


por que se produce este error? me fallara algo en la bd (mysql)? tengo que ingresar los datos en el mismo orden en como estan puestos en la bd? por que los tengo desornedados en el codigo php respecto a la bd!!

tambien ocurre que uso un formulario dinamico en el que grupos de datos (de 4 en 4) estan ocultos por si no se usan (pero los tengo como null en la bd)...

asi ke a alguien se lo ocurre que puede ser????
  #2 (permalink)  
Antiguo 26/06/2010, 17:38
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: fallo masivo al intentar insertados datos en mysql

yo te recomiendo que recibas los datos los guardes en variables y agas el insert
Código PHP:
$variable=$_POST['datoformulario'];
mysql_query("insert into tabla (campo) values ('$variable')") or die ("error"); 
  #3 (permalink)  
Antiguo 27/06/2010, 05:26
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

ok lo voy hacer!! pero que me esta fallando en el codigo?
  #4 (permalink)  
Antiguo 27/06/2010, 08:22
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: fallo masivo al intentar insertados datos en mysql

Estas seguro que existe ese campo en la tabla? ponlos en el mismo orden.
  #5 (permalink)  
Antiguo 27/06/2010, 12:49
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

vallu asi que tengo que ingresar los datos en el mismo orden de como estan organizados en la base de datos??? pero el formulario es dinamico algunos campos se rellenaran y otras veces no.......como dije antes tengo los campos que son duda como null (no es obligatorio rellenarlos) asi que, que hago???
  #6 (permalink)  
Antiguo 27/06/2010, 13:02
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: fallo masivo al intentar insertados datos en mysql

si no son obligatorios rellenarlos entonces ni los pongas en el insert, y la base de datos los rellenara con su balor por defecto. Claro que para que funcione has de tocar el insert.

Es decir, si solo te llegan 2 presupuestos pues los 3 restantes los ignoras y no pones nada.

Código PHP:
$ssql "insert into presupuesto(precioplantilla, etiquetado, colorcamiseta1, 
 colortinta1,numerocamisetas1,precioregistro1, 
        preciototal1,colorcamiseta2, 
        colortinta2,numerocamisetas2,precioregistro2, 
        preciototal2,totalfactura,iva,ivafactura) values ('" 
$_POST["precioplantilla"]."', 
        '" 
$_POST["etiquetado"]."','" $_POST["colorcamiseta1"]."','" $_POST["colortinta1"]."', 
        '" 
$_POST["numerocamisetas1"]."','" $_POST["precioregistro1"]."', 
        '" 
$_POST["colorcamiseta2"]."','" $_POST["colortinta2"]."', 
        '" 
$_POST["numerocamisetas2"]."','" $_POST["precioregistro2"]."', 
        '" 
$_POST["totalfactura"]."','" $_POST["iva"]."', 
        '" 
$_POST["ivafactura"]."' )"
  #7 (permalink)  
Antiguo 27/06/2010, 13:16
 
Fecha de Ingreso: abril-2010
Ubicación: Bogota
Mensajes: 7
Antigüedad: 14 años
Puntos: 0
De acuerdo Respuesta: fallo masivo al intentar insertados datos en mysql

Cita:
Iniciado por carlos_belisario Ver Mensaje
yo te recomiendo que recibas los datos los guardes en variables y agas el insert
Código PHP:
$variable=$_POST['datoformulario'];
mysql_query("insert into tabla (campo) values ('$variable')") or die ("error"); 
muchas gracias, la verdad me estaba desesperando un poco en un script que tome de esta web. era esto, declare las variables antes y me hicieron merito en el insert. era un problema que no veia cuando desarrollaba el script en localhost, pues me funcionaba perfecto pero en el server no.

saludos
  #8 (permalink)  
Antiguo 28/06/2010, 08:19
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

vallu si los campos a ignorar al final los relleno como sabra la base de datos ke estan rellenos y ke tiene ke registrarlos...no te entiendo...explicate mejor.. y gracias
  #9 (permalink)  
Antiguo 28/06/2010, 10:20
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

eh pensado en usar php para decirle a la base de datos que ingresar y que no en funcion de si se han rellenado uno u otro campo declarado como null....

voy a poner el codigo lo que llevo hecho para ke me digais ke estoy haciendo mal ya que no me funciona:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>

Código PHP:
<?php


$precioplantilla
=$_POST['precioplantilla'];
$etiquetado=$_POST['etiquetado'];
$ivafactura=$_POST['ivafactura'];

$colorcamiseta1=$_POST['colorcamiseta1'];
$colortinta1=$_POST['colortinta1'];
$numerocamisetas1=$_POST['numerocamisetas1'];
$precioregistro1=$_POST['precioregistro1'];
$preciototal1=$_POST['preciototal1'];

$colorcamiseta2=$_POST['colorcamiseta2'];
$colortinta2=$_POST['colortinta2'];
$numerocamisetas2=$_POST['numerocamisetas2'];
$precioregistro2=$_POST['precioregistro2'];
$preciototal2=$_POST['preciototal2'];

$colorcamiseta3=$_POST['colorcamiseta3'];
$colortinta3=$_POST['colortinta3'];
$numerocamisetas3=$_POST['numerocamisetas3'];
$precioregistro3=$_POST['precioregistro3'];
$preciototal3=$_POST['preciototal3'];

$colorcamiseta4=$_POST['colorcamiseta4'];
$colortinta4=$_POST['colortinta4'];
$numerocamisetas4=$_POST['numerocamisetas4'];
$precioregistro4=$_POST['precioregistro4'];
$preciototal4=$_POST['preciototal4'];

$colorcamiseta5=$_POST['colorcamiseta5'];
$colortinta5=$_POST['colortinta5'];
$numerocamisetas5=$_POST['numerocamisetas5'];
$precioregistro5=$_POST['precioregistro5'];
$preciototal5=$_POST['preciototal5'];

$totalfactura=$_POST['totalfactura'];
$iva=$_POST['iva'];


$arrayduda2=array ('$colorcamiseta2' ,'$colortinta2','$numerocamisetas2','$precioregistro2','$preciototal2');
switch (empty(
$arrayduda2)){
    case 
1:
        
        
$ssql "insert into presupuesto(precioplantilla, etiquetado,ivafactura, colorcamiseta1,
                colortinta1,numerocamisetas1,precioregistro1,
                preciototal1,totalfactura, iva) values  (($precioplantilla),($etiquetado),($ivafactura),
                ($colorcamiseta1),($colortinta1),($numerocamisetas1),($precioregistro1),($preciototal1),
                ($totalfactura),($iva))"
;
        
        
$conexionmysql_connect("localhost""root""");
        
        
mysql_select_db("abcerotica"$conexion);
        
        if (
mysql_query($ssql$conexion)){
            echo 
"sentencia ingresada!";
        }else{
            echo 
"no inserte nada!" ;
        }
    }

?>
<a href="index.php">volver al inicio</a>
<a href="proveedor.php">ingresar otro presupuesto</a>
</body>
</html>

lo que quiero hacer es meter en varios arrays grupos de campos del formulario

luego con un switch hacer case 1 case 2 para decir segun esten unos grupos de campos vacios o llenos hacer: insertar todos los campos menos los grupos de campos null que esten vacios.

lo estoy programando bien o tengo que rehacer el codigo por completo????
  #10 (permalink)  
Antiguo 28/06/2010, 10:27
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

este es el codigo del formu haber si es hay alguna fallo con el formulario:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Formulario presupuesto</title>
<script type='text/javascript' src='formexp.js'></script>
<script>
function expandir_formulario(){
if (document.f1.personas.value == "0"){
	xDisplay('capaexpansion', 'none')
	xDisplay('capaexpansion2', 'none')
	xDisplay('capaexpansion3', 'none')
	xDisplay('capaexpansion4', 'none')
	xDisplay('capaexpansion5', 'none')
 }
if (document.f1.personas.value == "1"){
	xDisplay('capaexpansion', 'block')
	xDisplay('capaexpansion2', 'none')
	xDisplay('capaexpansion3', 'none')
	xDisplay('capaexpansion4', 'none')
	xDisplay('capaexpansion5', 'none')
 }



 if (document.f1.personas.value == "2"){
	xDisplay('capaexpansion', 'block')
	xDisplay('capaexpansion2', 'block')
	xDisplay('capaexpansion3', 'none')
	xDisplay('capaexpansion4', 'none')
	xDisplay('capaexpansion5', 'none')
 }
 if (document.f1.personas.value == "3"){
	xDisplay('capaexpansion', 'block')
	xDisplay('capaexpansion2', 'block')
	xDisplay('capaexpansion3', 'block')
	xDisplay('capaexpansion4', 'none')
	xDisplay('capaexpansion5', 'none')
 }
 if (document.f1.personas.value == "4"){
	xDisplay('capaexpansion', 'block')
	xDisplay('capaexpansion2', 'block')
	xDisplay('capaexpansion3', 'block')
	xDisplay('capaexpansion4', 'block')
	xDisplay('capaexpansion5', 'none')
 }
 if (document.f1.personas.value == "5"){
	xDisplay('capaexpansion', 'block')
	xDisplay('capaexpansion2', 'block')
	xDisplay('capaexpansion3', 'block')
	xDisplay('capaexpansion4', 'block')
	xDisplay('capaexpansion5', 'block')
 }

}



    </script>
<link href="formulariopresupuesto.css" rel="stylesheet" type="text/css" />
</head>

<body>

<form name=f1  method="post" action="presupuestoinsertado.php">

<div id=capainicio>
<ul>
<li>añadir registro:  <select size="1" name="personas" onChange="expandir_formulario()" >
  <option value="0">?</option>
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  </select>
<!--Añadir registro: <input type="button" name="añadir" value="añadir registro" onclick="expandir_formulario()" /> -->
</li>
<li>precio plantilla: <input type="text" name="precioplantilla" size="10"></li>
<li>etiquetado: <input type="text" name="etiquetado" size="10"></li>
</ul>
</div>
<div id=capaexpansion>
<ul>
<li>color camiseta:<select size="1" name="colorcamiseta1" >
  <option value="0">negro</option>
  <option value="1">blanco</option>
 </select>
</li>

<li>nº colores tinta:<select size="1" name="colortinta1" >
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
 </select>
 </li>
 <li>nº de camisetas:<input type="text" name="numerocamisetas1" size="10"></li>
 <li>precio: <input type="text" name="precioregistro1" size="25"></li>
 <li>total precio: <input type="text" name="preciototal1" size="25"></li>
 </ul>
</div>
<div id=capaexpansion2>
<ul>
<li>color camiseta:<select size="1" name="colorcamiseta2" >
  <option value="0">negro</option>
  <option value="1">blanco</option>
 </select>
</li>

<li>nº colores tinta:<select size="1" name="colortinta2" >
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
 </select>
 </li>
 <li>nº de camisetas:<input type="text" name="numerocamisetas2" size="10"></li>
 <li>precio: <input type="text" name="precioregistro2" size="25"></li>
 <li>total precio: <input type="text" name="preciototal2" size="25"></li>
 </ul>
</div>
<div id=capaexpansion3>
<ul>
<li>color camiseta:<select size="1" name="colorcamiseta3" >
  <option value="0">negro</option>
  <option value="1">blanco</option>
 </select>
</li>

<li>nº colores tinta:<select size="1" name="colortinta3" >
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
 </select>
 </li>
 <li>nº de camisetas:<input type="text" name="numerocamisetas3" size="10"></li>
 <li>precio: <input type="text" name="precioregistro3" size="25"></li>
 <li>total precio: <input type="text" name="preciototal3" size="25"></li>
 </ul>
</div>
<div id=capaexpansion4>
<ul>
<li>color camiseta:<select size="1" name="colorcamiseta4" >
  <option value="0">negro</option>
  <option value="1">blanco</option>
 </select>
</li>

<li>nº colores tinta:<select size="1" name="colortinta4" >
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
 </select>
 </li>
 <li>nº de camisetas:<input type="text" name="numerocamisetas4" size="10"></li>
 <li>precio: <input type="text" name="precioregistro4" size="25"></li>
 <li>total precio: <input type="text" name="preciototal4" size="25"></li>
 </ul>
</div>
<div id=capaexpansion5>
<ul>
<li>color camiseta:<select size="1" name="colorcamiseta5" >
  <option value="0">negro</option>
  <option value="1">blanco</option>
 </select>
</li>

<li>nº colores tinta:<select size="1" name="colortinta5" >
  <option value="1">1</option>
  <option value="2">2</option>
  <option value="3">3</option>
  <option value="4">4</option>
  <option value="5">5</option>
  <option value="6">6</option>
 </select>
 </li>
 <li>nº de camisetas:<input type="text" name="numerocamisetas5" size="10"></li>
 <li>precio: <input type="text" name="precioregistro5" size="25"></li>
 <li>total precio: <input type="text" name="preciototal5" size="25"></li>
 </ul>
</div>
<div id=capafinal>
<ul>
<li>total factura: <input type="text" name="totalfactura" size="25"></li>
<li>iva: <input type="text" name="iva" size="25"></li>
<li>total factura con iva: <input type="text" name="ivafactura" size="25"></li>
<li><input type="submit" name="enviar">
</li>
</div>
</form>
</body>
</html>
  #11 (permalink)  
Antiguo 30/06/2010, 06:32
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

ya creo que lo he SOLUCIONADO!! pongo el codigo para que veais como lo he hecho por si le sirve a alguien:

Código PHP:
<?php


$precioplantilla
=$_POST['precioplantilla'];
$etiquetado=$_POST['etiquetado'];
$ivafactura=$_POST['ivafactura'];

$colorcamiseta1=$_POST['colorcamiseta1'];
$colortinta1=$_POST['colortinta1'];
$numerocamisetas1=$_POST['numerocamisetas1'];
$precioregistro1=$_POST['precioregistro1'];
$preciototal1=$_POST['preciototal1'];

$colorcamiseta2=$_POST['colorcamiseta2'];
$colortinta2=$_POST['colortinta2'];
$numerocamisetas2=$_POST['numerocamisetas2'];
$precioregistro2=$_POST['precioregistro2'];
$preciototal2=$_POST['preciototal2'];

$colorcamiseta3=$_POST['colorcamiseta3'];
$colortinta3=$_POST['colortinta3'];
$numerocamisetas3=$_POST['numerocamisetas3'];
$precioregistro3=$_POST['precioregistro3'];
$preciototal3=$_POST['preciototal3'];

$colorcamiseta4=$_POST['colorcamiseta4'];
$colortinta4=$_POST['colortinta4'];
$numerocamisetas4=$_POST['numerocamisetas4'];
$precioregistro4=$_POST['precioregistro4'];
$preciototal4=$_POST['preciototal4'];

$colorcamiseta5=$_POST['colorcamiseta5'];
$colortinta5=$_POST['colortinta5'];
$numerocamisetas5=$_POST['numerocamisetas5'];
$precioregistro5=$_POST['precioregistro5'];
$preciototal5=$_POST['preciototal5'];

$totalfactura=$_POST['totalfactura'];
$iva=$_POST['iva'];


$arrayduda2=array ("$colorcamiseta2" =>$_POST['colorcamiseta2'] ,"$colortinta2"=>$_POST['colortinta2'],"$numerocamisetas2"=>$_POST['numerocamisetas2'],"$precioregistro2"=>$_POST['precioregistro2'],"$preciototal2"=>$_POST['preciototal2']);
if (!empty(
$arrayduda2)){

        
        
$ssql "insert into presupuesto(precioplantilla, etiquetado,ivafactura, colorcamiseta1,
                colortinta1,numerocamisetas1,precioregistro1,
                preciototal1,totalfactura, iva) values  (('$precioplantilla'),('$etiquetado'),('$ivafactura'),
                ('$colorcamiseta1'),('$colortinta1'),('$numerocamisetas1'),('$precioregistro1'),('$preciototal1'),
                ('$totalfactura'),('$iva'))"
;
        
        
$conexionmysql_connect("localhost""root""");
        
        
mysql_select_db("abcerotica"$conexion);
        
        if (
mysql_query($ssql$conexion)){
            echo 
"sentencia ingresada!";
        }else{
            echo 
"no inserte nada!" ;
        }

    }
else {
    echo 
"no se inserta nada";
}


?>

ya solo que repetir varios elseif para comprobar ke los otros grupos de datos que estan como null estan vacios o no para insertarlos o no insertarlos....
  #12 (permalink)  
Antiguo 30/06/2010, 06:36
 
Fecha de Ingreso: mayo-2009
Ubicación: Andalucia
Mensajes: 650
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: fallo masivo al intentar insertados datos en mysql

el fallo estaba en la funcion (empty($arrayduda2)) que si esta asi devuelve false tiene que estar con "!empty($array.... xDDDDD

Etiquetas: fallo, masivo, mysql
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 22:52.