Foros del Web » Programando para Internet » PHP »

formulario no graba en la BD

Estas en el tema de formulario no graba en la BD en el foro de PHP en Foros del Web. ayuda por favoor, no se que paso en mi codigo que ahora ya no me inserta, he llegado a pensar que es problema de software ...
  #1 (permalink)  
Antiguo 07/03/2006, 15:41
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
formulario no graba en la BD

ayuda por favoor, no se que paso en mi codigo que ahora ya no me inserta, he llegado a pensar que es problema de software pero quiero descartar, les presento el sgte codigo:

Código PHP:

<?
if(isset ($_POST['accion2']))
    {

    
$cod_proveedor=$_POST['cod_proveedor'];
    
$nom_proveedor$_POST['nom_proveedor'];
     
$rut$_POST['rut'];
     
$razon_social=$_POST['razon_social'];
      
$direccion=$_POST['direccion'];
    
$num_direccion=$_POST['num_direccion'];
    
$poblacion=$_POST['poblacion'];
     
$ciudad=$_POST['ciudad'];
      
$telefono=$_POST['telefono'];
      
$nombre_contacto=$_POST['nombre_contacto'];
 
 
  
      include(
"encabezado.php");

        if(
$cod_proveedor=="" || $nom_proveedor=="" || $rut==""  
        
|| $razon_social=="" || $direccion=="" || $num_direccion=="" || $poblacion=="" || $ciudad=="" || 
        
$telefono=="" || $nombre_contacto=="" )
        {
            
            echo 
"Llene todos los campos";
            print 
"<p><a href=javascript:history.back()>Volver</a></p>";
        }
        else
        {    
             
$consultamysql_query("select cod_proveedor, rut from t_proveedores where cod_proveedor='$cod_proveedor' and rut='$rut'");

                if (
mysql_num_rows($consulta)!=0)
                    {
                    
$aviso "El proveedor ya existe"
                        echo 
"<script> alert('$aviso'); </script>";  
                        print 
"<META HTTP-EQUIV='Refresh' CONTENT='0;URL=javascript:history.back()'> ";
                    
//print "<p><a href=javascript:history.back()>Volver</a></p>";
                    
}    
                else
                    {
                        
                        
mysql_db_query($db,"Insert into t_proveedores values(\"$cod_proveedor\",\"$nom_proveedor\",\"$rut\",\"$razon_social\",\"$direccion\",\"$num_direccion\",\"$poblacion\",\"$ciudad\",\$telefono\,\"$nombre_contacto\")",$cn);

                        echo 
"<p><h1>El proveedor ha sido ingresado</h1></p>";
                        print 
"<p><a href=javascript:history.back()>Volver</a></p>";
                        
                    }
        }
    }
else
    {
                    
                    
?>






<p>Formulario ingreso de Proveedores </p>
<form action="<? _self ?>" name="formprov" method="post">
<table width="75%" border="1">

  <tr> 
    <td width="25%">cod proveedor </td>
    <td width="75%"><input type="text" name="cod_proveedor"></td>
  </tr>
  <tr> 
    <td>nombre proveedor</td>
    <td><input type="text" name="nom_proveedor"></td>
  </tr>
  <tr> 
    <td>rut</td>
    <td><input type="text" name="rut"></td>
  </tr>
  <tr> 
    <td>razon social</td>
    <td><input type="text" name="razon_social"></td>
  </tr>
  <tr> 
    <td>direccion</td>
    <td><input type="text" name="direccion"></td>
  </tr>
  <tr>
    <td>numero</td>
    <td><input type="text" name="num_direccion"></td>
  </tr>
  <tr>
    <td>poblacion</td>
    <td><?


 
include ("encabezado.php");
    
 
$consulta"select dc_Poblacion, dg_Poblacion from t_Poblaciones order by dg_Poblacion";

$rs=mysql_query($consulta);

echo 
'<select name="poblacion">';

while (
$row=mysql_fetch_array($rs))
{
print (
"<option value=".$row['dg_Poblacion'].">".$row['dg_Poblacion']."</option>");

}
?></td>
  </tr>
  <tr>
    <td>ciudad</td>
    <td><input type="text" name="ciudad"></td>
  </tr>
  <tr>
    <td>telefono</td>
    <td><input type="text" name="telefono"></td>
  </tr>
  <tr>
    <td>nombre contacto</td>
    <td><input type="text" name="nombre_contacto"></td>
  </tr>
 
  
  
  
</table>
<br>
<input type="submit" name="accion2" value="Ingresar">
</form>
<form action="lista_proveed.php" method="post">

<input type="submit" name="botonlista" value="Ver Lista de Proveedores">
</form>


<?
}?>
y la tabla
Código HTML:
id_pv                  int(11)   
cod_proveedor     varchar(10) 
nom_proveedor    varchar(50) 
rut                     varchar(15) 
razon_social        varchar(30) 
direccion             varchar(50) 
num_direccion      varchar(10) 
poblacion            varchar(50) 
ciudad                varchar(50) 
telefono              int(12) 
nombre_contacto  varchar(50)   
cuando hago click en Ingresar, llevo los datos sin ningun problema, me los muestra en la stge pagina, pero cuando voy a ver a la BD...no se ha grabado nada, ojala puedan ayudarme a encontrar la solucion, ojala sea un "" o algo parecido ;) , gracias
  #2 (permalink)  
Antiguo 07/03/2006, 15:51
Avatar de carlosfocus  
Fecha de Ingreso: enero-2006
Ubicación: Venezuela
Mensajes: 823
Antigüedad: 11 años, 11 meses
Puntos: 0
Prueba haciendo el insert into asi

Código PHP:
//

   
mysql_db_query($db,"Insert into t_proveedores (cod_proveedor,mom_proveedor,rut) values('"$cod_proveedor ."',"$nom_proveedor ."',"$rut ."',)",$cn); 
Solamente completa los campos que te faltan

Suerte
__________________
Carlos Herrera
Web Developer
www.carlos.com.ve
Para descargar archivos propios a su Teléfono Mobil? www.carlosfocus.com
  #3 (permalink)  
Antiguo 07/03/2006, 15:53
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
De acuerdo

Código PHP:
<?php

mysql_query
("Insert into t_proveedores values(\"$cod_proveedor\",\"$nom_proveedor\",\"$rut\",\"$razon_social\",\"$direccion\",\"$num_direccion\",\"$poblacion\",\"$ciudad\",\$telefono\,\"$nombre_contacto\")")or die("Error");
?>
prueba lo anterior y comentanos si te arrojo error.

¿Seguro que te estas enlanzando con la BD?
  #4 (permalink)  
Antiguo 07/03/2006, 16:03
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
ya, hice la prueba y me da error... eso es error de conexion con la bd?
(en todo caso me trae los valores si los llamo con un echo)

en que tengo que fijarme entonces?
  #5 (permalink)  
Antiguo 07/03/2006, 17:16
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
hice otra prueba similar:

Código PHP:
$sql="Insert into t_proveedores values
                        (\"$cod_proveedor\",\"$nom_proveedor\",\"$rut\",
                        \"$razon_social\",\"$direccion\",\"$num_direccion\",
                        \"$poblacion\",\"$ciudad\",\"$telefono\",\"$nombre_contacto\")"
;
                        
mysql_query($sql,$cn) or die(mysql_error()); 
y me da este errorç

Column count doesn't match value count at row 1

ahi me quedé pegado, ayudaa
  #6 (permalink)  
Antiguo 07/03/2006, 17:55
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 12 años, 9 meses
Puntos: 33
Tienes mal tu sentencia te dejo el link para que cheques como es la sentencia http://dev.mysql.com/doc/refman/5.0/en/insert.html
  #7 (permalink)  
Antiguo 07/03/2006, 18:12
 
Fecha de Ingreso: septiembre-2004
Mensajes: 27
Antigüedad: 13 años, 3 meses
Puntos: 0
bueno , parece que lo arreglé
puse esto:

Código PHP:
$sql="Insert into t_proveedores(`id_pv`,`cod_proveedor`,`nom_proveedor`,`rut`,`razon_social`,`direccion`,
                        `num_direccion`, `poblacion`,`ciudad`,`telefono`,`nombre_contacto`) values
                        ('','$cod_proveedor','$nom_proveedor','$rut',
                        '$razon_social','$direccion','$num_direccion',
                        '$poblacion','$ciudad','$telefono','$nombre_contacto')"
;
                        
mysql_query($sql,$cn) or die(mysql_error()); 
que al final era desglozar en dos y cambiar unas comillas, tenia atados con el auto_increment
gracias por todo!
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 13:01.