Foros del Web » Programando para Internet » PHP »

nopiuedo insertar perosnal

Estas en el tema de nopiuedo insertar perosnal en el foro de PHP en Foros del Web. ok miren masters lo que sucede es que no puedo ingresar al usuario nuevo, me bota esto: Código PHP: INSERT INTO personal ( paterno ,  materno ,  ...
  #1 (permalink)  
Antiguo 14/07/2009, 14:38
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
nopiuedo insertar perosnal

ok miren masters lo que sucede es que no puedo ingresar al usuario nuevo, me bota esto:
Código PHP:
INSERT INTO personal(paternomaternonombresdnifec_nacsexodireccionid_departamentoid_provinciaid_distritotelefonocelularemailprofesiongrado_academicoasignaturanombre_banconro_cuentafec_registroind_personalusuario_registrotipo_userVALUES('ORTIZ''ZEVALLOS''JOSE LUIS''65500142''--''M''''''''''''''''''''''''''2009-07-14 15:37''S''310''5')Invalid query 
este es mi php
Código PHP:
function tratar_basico($string) {  
  return(
$string); 



if(!isset(
$_SESSION['user'])) { 
    
header("Location: index.php"); 

if(isset(
$_POST['Registrar'])) { 
   
    
$dni $_POST['dni']; 
    
$sql mysql_query("SELECT * FROM personal WHERE dni = '$dni'"); 
    if (
mysql_num_rows($sql) > 0
    { 
     
    echo 
"Usaurio Creado" Ese dni ya esta registrado!!! ; 
    } 
    else 
    { 
     
     

    
$ins_personal "INSERT INTO personal(paterno, materno, nombres, dni, fec_nac, sexo, direccion, id_departamento, id_provincia, id_distrito, telefono, celular, email, profesion, grado_academico, asignatura, nombre_banco, nro_cuenta, fec_registro, ind_personal, usuario_registro, tipo_user)  
                    VALUES('" 
$_POST['paterno'] . "', '" $_POST['materno'] . "', '" $_POST['nombres'] . "', '" $_POST['dni'] . "', '" $_POST['ano'] . '-' $_POST['mes'] . '-' $_POST['dia'] . "', '" $_POST['sexo'] . "', '" $_POST['direccion'] . "', '" $_POST['id_departamento'] . "', '" $_POST['id_provincia'] . "', '" $_POST['id_distrito'] . "', '" $_POST['telefono'] . "', '" $_POST['celular'] . "', '" $_POST['email'] . "', '" $_POST['profesion'] . "', '"$_POST['grado_academico']."'. '"$_POST['asignatura']."'. '"$_POST['nombre_banco'] . "', '" $_POST['nro_cuenta'] . "', '" date('Y-m-d H:i') . "', 'S', '" $_SESSION['id_usuario'] . "', '5')"
    echo 
$ins_personal
    
db_query($ins_personal); 
     
    
header("Location: " $_SERVER['PHP_SELF']); 


?> 
  #2 (permalink)  
Antiguo 14/07/2009, 14:41
 
Fecha de Ingreso: agosto-2006
Mensajes: 179
Antigüedad: 17 años, 8 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

Y cual es el error?
  #3 (permalink)  
Antiguo 14/07/2009, 14:42
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: nopiuedo insertar perosnal

Si tienes en la base de datos columnas declaradas como int debes escribir los valores sin encerrarlos entre comillas. Te sugiero que los que son numeros les quites las comillas. Ejemplo el ultimo dice

'5' quitales las comillas
  #4 (permalink)  
Antiguo 14/07/2009, 14:54
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

Prueba con esto...

Código PHP:
$extract($_POST);
    
$fec_nac="$ano-$mes-$dia";
    
$fec_registro=date('Y-m-d H:i');
    
$id_usuario=$_SESSION['id_usuario'];
    
$ins_personal "INSERT INTO personal 
                            (
                                paterno, 
                                materno, 
                                nombres, 
                                dni, 
                                fec_nac, 
                                sexo, 
                                direccion, 
                                id_departamento, 
                                id_provincia, 
                                id_distrito, 
                                telefono, 
                                celular, 
                                email, 
                                profesion, 
                                grado_academico, 
                                asignatura, 
                                nombre_banco, 
                                nro_cuenta, 
                                fec_registro, 
                                ind_personal, 
                                usuario_registro, 
                                tipo_user
                            ) VALUES (
                            '$paterno', 
                            '$materno', 
                            '$nombres', 
                            '$dni', 
                            '$fec_nac', 
                            '$sexo', 
                            '$direccion', 
                            '$id_departamento', 
                            '$id_provincia', 
                            '$id_distrito', 
                            '$telefono', 
                            '$celular', 
                            '$email', 
                            '$profesion', 
                            '$grado_academico', 
                            '$asignatura', 
                            '$nombre_banco', 
                            '$nro_cuenta', 
                            '$fec_registro', 
                            'S', 
                            '$id_usuario', 
                            '5'
                        )"

  #5 (permalink)  
Antiguo 14/07/2009, 14:56
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
A modo de comentario sobre lo que colocó abimaelrc, no afecta absolutamente en nada si un campo del tipo númerico lo colocas en una consulta con comillas, pero si afecta en el caso contrario. ;)

Tengo una duda eso sí con lo que respecta al valor a 2 valores que les estamos pasando en el insert, estos son fec_nac y fec_registro.

+ En fec_nac debes asegurarte que se esté utilizando el formato correcto para el ingreso.
+ En fec_registro si el campo es DATETIME o DATE puedes cambiar el date('Y-m-d H:i') por NOW() y si este es TIME_STAMP por CURRENT_TIMESTAMP.


Suerte.

Última edición por GatorV; 14/07/2009 a las 17:27
  #6 (permalink)  
Antiguo 14/07/2009, 15:10
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: nopiuedo insertar perosnal

¿xempro a que te refieres tipo contrario? Tienes razon sobre lo de las comillas, lo que pasa es que en la mayoria de los select que he hecho cuando hago una consulta que es tipo numerico lo tengo que hacer sin comillas. Pero probe lo de insertar y tienes razon
  #7 (permalink)  
Antiguo 14/07/2009, 15:14
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

mmm... pensé que se iba a prestar para malos entendidos la frase "...en el caso contrario...", con esto quise decir que si el dato es del tipo TEXTO este sí o sí debe ir entre comillas o sino la consulta se cae... ;)
  #8 (permalink)  
Antiguo 14/07/2009, 15:19
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar personal

Bien ok ok
Primero el problema estaahi
Segudno gracias por su pronta rpta, aunque no soluciona graciasde todos modos
aunque xempro me yudasteen un detalle

aun no registra usuarios , me sale invald query y mepreguntab si seria la tabla
puede ser ello?
  #9 (permalink)  
Antiguo 14/07/2009, 15:21
 
Fecha de Ingreso: mayo-2009
Mensajes: 50
Antigüedad: 14 años, 11 meses
Puntos: 1
Respuesta: nopiuedo insertar perosnal

Aprendé a escribir antes de pedir ayuda en un foro.

Saludos!
  #10 (permalink)  
Antiguo 14/07/2009, 15:22
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

Puedes colocar la estructura de la tabla en donde se debería realizar la inserción????
  #11 (permalink)  
Antiguo 14/07/2009, 15:27
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

Código PHP:
<?
session_start
();
include(
"include/db.php");
include(
"include/functions.php");
db_connect();

 
function 
tratar_basico($string) {  
  return(
$string); 



if(!isset(
$_SESSION['user'])) { 
    
header("Location: index.php"); 

if(isset(
$_POST['Registrar'])) { 
   
    
$dni $_POST['dni']; 
    
$sql mysql_query("SELECT * FROM personal WHERE dni = '$dni'"); 
    if (
mysql_num_rows($sql) > 0
    { 
     
/// Ese dni ya esta registrado!!! 
    
echo "Usuario Creado" 
    } 
    else 
    { 
   
$ins_personal "INSERT INTO personal(paterno, materno, nombres, dni, fec_nac, sexo, direccion, id_departamento, id_provincia, id_distrito, telefono, celular, email, profesion, grado_academico, asignatura, nombre_banco, nro_cuenta, fec_registro, ind_personal, usuario_registro, tipo_user)  
                    VALUES('" 
$_POST['paterno'] . "', '" $_POST['materno'] . "', '" $_POST['nombres'] . "', '" $_POST['dni'] . "', '" $_POST['ano'] . '-' $_POST['mes'] . '-' $_POST['dia'] . "', '" $_POST['sexo'] . "', '" $_POST['direccion'] . "', '" $_POST['id_departamento'] . "', '" $_POST['id_provincia'] . "', '" $_POST['id_distrito'] . "', '" $_POST['telefono'] . "', '" $_POST['celular'] . "', '" $_POST['email'] . "', '" $_POST['profesion'] . "', '"$_POST['grado_academico']."'. '"$_POST['asignatura']."'. '"$_POST['nombre_banco'] . "', '" $_POST['nro_cuenta'] . "', '" date('Y-m-d H:i') . "', 'S', '" $_SESSION['id_usuario'] . "', '5')"
    echo 
$ins_personal
    
db_query($ins_personal); 
    
header("Location: " $_SERVER['PHP_SELF']); 


?>  
<html>
<head>
    <title>CESAD</title>
<link rel="stylesheet" href="include/estilos.css" type="text/css">
<script language="JavaScript" src ="include/common.js"> </script>
<script language="JavaScript" type="text/javascript">
function ajax_provincia() {
    if (http.readyState == 4) { //4: completado
        if (http.status == 200) { //200: OK
            res = http.responseText;
               document.getElementById('prov').innerHTML = res;
               //Procesarespuesta();
          }
          else { //Se produjo un error
               alert("Error: " + http.statusText);
          }
     }
}
function ajax_distrito() {
    if (http.readyState == 4) { //4: completado
        if (http.status == 200) { //200: OK
            res = http.responseText;
               document.getElementById('dist').innerHTML = res;
               //Procesarespuesta();
          }
          else { //Se produjo un error
               alert("Error: " + http.statusText);
          }
     }
}

function buscaProvincia(IDdep) {
    //alert("dep=" + IDdep);
    http.open('get', 'proc_provincia.php?IDdep=' + IDdep);
    http.onreadystatechange = ajax_provincia;
    http.send(null);
}

function buscaDistrito(IDdep, IDdist) {
    //alert("dep=" + IDdep + ", dist=" + IDdist);
    http.open('get', 'proc_distrito.php?IDdep=' + IDdep + '&IDdist=' + IDdist);
    http.onreadystatechange = ajax_distrito;
    http.send(null);
}

function validaPersonal() {
    if(document.frmPersonal.paterno.value == '') {
        alert("Debe ingresar el apellido paterno");
        document.frmPersonal.paterno.focus();
        return false;
    }
    if(document.frmPersonal.materno.value == '') {
        alert("Debe ingresar el apellido materno");
        document.frmPersonal.materno.focus();
        return false;
    }
    if(document.frmPersonal.nombres.value == '') {
        alert("Debe ingresar el nombre");
        document.frmPersonal.nombres.focus();
        return false;
    }
        /*if(document.frmPersonal.grado.value == ''){
               alert("Debe ingresar el grado academico");
               document.frmPersonal.grado.focus();
               return false;
    }*/
    if(document.frmPersonal.dni.value == '') {
        alert("Debe ingresar el numero de DNI");
        document.frmPersonal.dni.focus();
        return false;
    }

    /*if(document.frmPersonal.direccion.value == '') {
        alert("Debe ingresar la direccion");
        document.frmPersonal.direccion.focus();
        return false;
    }
    if(document.frmPersonal.telefono.value == '') {
        alert("Debe ingresar el telefono");
        document.frmPersonal.telefono.focus();
        return false;
        }*/
    return true;
}
</script>
</head>

<body>

<?include("cabecera.php");?>

<form name="frmPersonal" method="post" action="<?echo $_SERVER['PHP_SELF']?>" onsubmit="return validaPersonal();">
<table border="0" width="774" height="458" cellpadding="0" cellspacing="0">
<tr>
    <td valign="top">
    
        <table border="0" width="500" cellpadding="0" cellspacing="0" align="center">
        <tr>
            <td align="center"><p class="clsLblTituloPagina">Registro Datos de Tutor</p></td>
        </tr>
        <tr>
            <td><hr></td>
        </tr>
        </table><br>
                
        <table border="0" width="500" cellpadding="0" cellspacing="0" align="center">
        <tr>
            <td colspan="2" class="clsTituloTabla">Datos Personales</td>
        </tr>
        <tr>
            <td height="2">&nbsp;</td>
        </tr>
        <tr>
            <td>Apellido Paterno:</td>
            <td><input type="text" name="paterno" value="<?echo $usuario['paterno']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
        <tr>
------------...-------------            
        <td>DNI :</td>
            <td><input type="text" name="dni" value="<?echo $usuario['dni']?>" class="clsText"></td>
        </tr>
        <tr>
            <td>Dirección :</td>
            <td><input type="text" name="direccion" value="<?echo $usuario['direccion']?>" onBlur="javascript:this.value=this.value.toUpperCase();" class="clsText"></td>
        </tr>
        <tr>
            <td>Departamento :</td>
            <td>
            <select name="id_departamento" class="clsSelect" onchange="buscaProvincia(this.options[selectedIndex].value);">
                <option value="">Seleccione</option>    
            <?
            $sql_departamento 
"SELECT id_departamento, nom_departamento FROM departamento 
                                ORDER BY nom_departamento"
;
            
//echo $sql_departamento;
            
$departamento_query db_query($sql_departamento);
            while(
$departamento db_fetch_array($departamento_query)) {
            
?>
                <option value="<?echo $departamento['id_departamento']?>"><?echo $departamento['nom_departamento']?></option>    
            <?
            
}
            
?>
            </select>
            </td>
        </tr>
        <tr>
            <td>Provincia :</td>
            <td>
            <div id="prov">
            <select name="id_provincia" class="clsSelect">
                <option value="">Seleccione</option>    
            </select>
            </div>
            </td>
        </tr>
        <tr>
            <td>Distrito :</td>
            <td>
            <div id="dist">
            <select name="id_distrito" class="clsSelect">
                <option value="">Seleccione</option>    
            </select>
            </div>
            </td>
        </tr>
        <tr>
            <td>Teléfono :</td>
            <td><input type="text" name="telefono" value="<?echo $usuario['telefono']?>" class="clsText"></td>
        </tr>
        <tr>
            <td>Celular :</td>
            <td><input type="text" name="celular" value="<?echo $usuario['celular']?>" class="clsText"></td>
        </tr>
        <tr>
            <td>Email :</td>
            <td><input type="text" name="email" value="<?echo $usuario['email']?>" class="clsText"></td>
        </tr>
        <tr>
            <td>Profesión :</td>
            <td><input type="text" name="profesion" value="<?echo $usuario['profesion']?>" class="clsText"></td>
        </tr>
                <tr>
            <td>Grado Académico:</td>
            <td><input type="text" name="grado" value="<?echo $usuario['grado_academico']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
                <tr>
            <td>Asignatura por Tutorías:</td>
            <td><input type="text" name="asignatura" value="<?echo $usuario['asignatura']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
                <tr>
                         <td></td>
                        <td><input type="text" name="asignatura" value="<?echo $usuario['asignatura']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
                <tr>
                     <td></td>     
                     <td><input type="text" name="asignatura" value="<?echo $usuario['asignatura']?>" class="clsText" onBlur="javascript:this.value=this.value.toUpperCase();"></td>
        </tr>
                <tr>
            <td>Banco :</td>
            <td><input type="text" name="nombre_banco" onBlur="javascript:this.value=this.value.toUpperCase();" class="clsText"></td>
        </tr>
        <tr>
            <td>Nro. Cuenta Bancaria :</td>
            <td><input type="text" name="nro_cuenta" onBlur="javascript:this.value=this.value.toUpperCase();" class="clsText"></td>
        </tr>
        </table>
        
        <br>
<table border="0" width="500" cellpadding="0" cellspacing="0" align="center">
        <tr>
            <td align="center">
                <input type="submit" name="Registrar" value="Registrar Datos" class="clsSubmit"> &nbsp; 
                <input type="reset" name="limpiar" value="Limpiar" class="clsSubmit">    
            </td>
        </tr>
        </table>
        
    </td>
</tr>

</table>
        </form>

<?include("pie.php");?>

</body>
</html>
  #12 (permalink)  
Antiguo 14/07/2009, 15:28
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: nopiuedo insertar perosnal

No, no, él se refiere a la estructura de la tabla de la base de datos
  #13 (permalink)  
Antiguo 14/07/2009, 15:34
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

....WTF?! xD
  #14 (permalink)  
Antiguo 14/07/2009, 15:38
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

bueno meperdi pero no encuentro masque esto e los menus y carpetas
Código PHP:
<?
define
('DB_SERVER''localhost');
define('USER_DB''osaed_tutoria');
define('PASSWORD_DB''osaeduigv2007');
define('DATABASE''osaed_tutoria');

function 
db_connect($server DB_SERVER$user USER_DB$password PASSWORD_DB$database DATABASE$link 'link_db'){
    global $
$link;
    
    $
$link mysql_connect($server$user$password);
    
    if($
$linkmysql_select_db($database);
    
    return $
$link;
}

function 
db_query($query$link 'link_db'){
    global $
$link;
    
//echo $query.'<br>';
    //$result = mysql_query($query, $$link);
    
$result mysql_query($query) or die ("Invalid query");
    
    return 
$result;

}
function 
db_fetch_array($query){
    
/*//echo 'aaaaa'.$query;*/
    
return mysql_fetch_array($query);
}

function 
db_num_rows($query){
    return 
mysql_num_rows($query);
}

function 
db_insert_id(){
    return 
mysql_insert_id();
}

?>
  #15 (permalink)  
Antiguo 14/07/2009, 15:41
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

No, me refiero al SQL como tal.... osea algo así como esto....
Cita:
CREATE TABLE IF NOT EXISTS `usuario` (
`usu_id` int(10) NOT NULL auto_increment,
`usu_nombre` varchar(100) collate latin1_spanish_ci default NULL,
`usu_apellido` varchar(100) collate latin1_spanish_ci default NULL,
`ussername` varchar(45) collate latin1_spanish_ci default NULL,
`usu_password` varchar(40) collate latin1_spanish_ci default NULL,
`usu_email` varchar(100) collate latin1_spanish_ci default NULL,
PRIMARY KEY (`usu_id`),
UNIQUE KEY `ussername` (`ussername`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=1 ;
  #16 (permalink)  
Antiguo 14/07/2009, 15:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 11 meses
Puntos: 1517
Respuesta: nopiuedo insertar perosnal

Ok, lo que tienes que hacer es decirnos la estructura de la base de datos. Si tienes phpmyadmin puedes ir y darle un export a la tabla para que te traiga algo similar a esto

Código PHP:
DROP TABLE IF EXISTS `tabla`;
CREATE TABLE IF NOT EXISTS `tabla ` (
  `
IDint(11unsigned NOT NULL AUTO_INCREMENT,
  `
Userint(11NOT NULL,
  `
Textotext NOT NULL,
  
PRIMARY KEY (`ID`)
ENGINE=MyISAM 
  #17 (permalink)  
Antiguo 14/07/2009, 15:44
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Voy a encontrarme off-line durante 1 hora aproximadamente, @lobbys trata de colocar la estructura de la tabla para poder ayudarte porque ahora nos encontramos ciegos.

Qué pasó con el SQL???

Última edición por GatorV; 14/07/2009 a las 17:27
  #18 (permalink)  
Antiguo 14/07/2009, 17:29
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

Código HTML:
-- 
-- Estructura de tabla para la tabla `personal`
-- 

CREATE TABLE `personal` (
  `id_ode` varchar(4) collate latin1_spanish_ci NOT NULL default '',
  `id_personal` int(11) NOT NULL auto_increment,
  `usuario` varchar(50) collate latin1_spanish_ci default NULL,
  `password` varchar(50) collate latin1_spanish_ci default NULL,
  `paterno` varchar(100) collate latin1_spanish_ci default NULL,
  `materno` varchar(100) collate latin1_spanish_ci default NULL,
  `nombres` varchar(100) collate latin1_spanish_ci default NULL,
  `dni` varchar(8) collate latin1_spanish_ci default NULL,
  `fec_nac` date default '0000-00-00',
  `sexo` char(1) collate latin1_spanish_ci default NULL,
  `direccion` varchar(200) collate latin1_spanish_ci default NULL,
  `id_departamento` int(11) default '0',
  `id_provincia` int(11) default '0',
  `id_distrito` int(11) default '0',
  `telefono` varchar(20) collate latin1_spanish_ci default NULL,
  `celular` varchar(20) collate latin1_spanish_ci default NULL,
  `email` varchar(100) collate latin1_spanish_ci default NULL,
  `profesion` varchar(100) collate latin1_spanish_ci default NULL,
  `nombre_banco` varchar(100) collate latin1_spanish_ci default NULL,
  `nro_cuenta` varchar(50) collate latin1_spanish_ci default NULL,
  `fec_registro` datetime default '0000-00-00 00:00:00',
  `ult_modificacion` datetime default '0000-00-00 00:00:00',
  `num_logeadas` int(11) default '0',
  `ult_acceso` datetime default '0000-00-00 00:00:00',
  `ind_personal` char(1) collate latin1_spanish_ci default NULL,
  `usuario_registro` int(11) default '0',
  `usuario_ult_modificacion` int(11) default '0',
  `tipo_user` char(1) collate latin1_spanish_ci default NULL,
  `ip_acceso` varchar(15) collate latin1_spanish_ci default NULL,
  `img_personal` varchar(50) collate latin1_spanish_ci default NULL,
  `ind_gasto` char(1) collate latin1_spanish_ci default NULL,
  `tipo_user_gasto` char(1) collate latin1_spanish_ci default NULL,
  `usuario_gastos` varchar(50) collate latin1_spanish_ci default NULL,
  `password_gastos` varchar(50) collate latin1_spanish_ci default NULL,
  PRIMARY KEY  (`id_ode`,`id_personal`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_spanish_ci AUTO_INCREMENT=310 ;
  #19 (permalink)  
Antiguo 14/07/2009, 17:52
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

1er. problema detectado = en el insert tienes un campo grado_academico el cual NO se encuentra en la estructura de la base de datos que publicastes....

Me desplegó el siguiente error...

Error

consulta SQL:
Cita:
INSERT INTO personal( paterno, materno, nombres, dni, fec_nac, sexo, direccion, id_departamento, id_provincia, id_distrito, telefono, celular, email, profesion, grado_academico, asignatura, nombre_banco, nro_cuenta, fec_registro, ind_personal, usuario_registro, tipo_user )
VALUES (
'ORTIZ', 'ZEVALLOS', 'JOSE LUIS', '65500142', '--', 'M', '', '', '', '', '', '', '', '', '', '', '', '', '2009-07-14 15:37', 'S', '310', '5'
)

MySQL ha dicho: Documentación
#1054 - Unknown column 'grado_academico' in 'field list'
  #20 (permalink)  
Antiguo 14/07/2009, 18:33
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

ok problema corregido pero dime yotengo algunos insert into sin ello ¿a todos debode agregar?
  #21 (permalink)  
Antiguo 14/07/2009, 18:59
Avatar de xempro  
Fecha de Ingreso: marzo-2007
Ubicación: Chile
Mensajes: 222
Antigüedad: 17 años, 1 mes
Puntos: 6
Respuesta: nopiuedo insertar perosnal

Cuando te refieres a ellos... ¿qué estás tratando de decir exactamente?
  #22 (permalink)  
Antiguo 14/07/2009, 19:57
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

en otras palabras esque tengo algunos datos en la tabla , n oesta vacia, aestos datos qe les he agregado este nuevo elemento (grado academico)les debo añadir su valor a cada elemento de losuqe tnego eln la tabla
  #23 (permalink)  
Antiguo 14/07/2009, 20:14
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
Respuesta: nopiuedo insertar perosnal

pues solo tienes que estar seguro de que los campos de las tablas que vayas a evaluar existan y pues que no sean de insersion obligatoria y ya ingresas lo que quieras, eso entendi con tu pregunta, espero haber ayudado.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #24 (permalink)  
Antiguo 20/07/2009, 14:30
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

a todos:
hice algunos cambios y me sale invalid query. Mi nuevo codigo es este:

Código PHP:
function tratar_basico($string) {  
  return(
$string); 



if(!isset(
$_SESSION['user'])) { 
    
header("Location: index.php"); 
}
if(isset(
$_POST['Registrar'])) {

 
$dni $_POST['dni']; 
     
$sql mysql_query("SELECT * FROM personal WHERE dni = '$dni'");  
    if (
mysql_num_rows($sql) > 0
    { 
     
// Ese dni ya esta registrado!!! 
    
echo "Usuario Creado" ;  
 } else { 
    
   
        
  
$sql_personal "INSERT INTO personal(paterno, materno, nombres, dni, fec_nac, sexo, direccion, id_departamento, id_provincia, id_distrito, telefono, celular, email, profesion, grado_academico, asignatura1, asignatura2, asignatura3, nombre_banco, nro_cuenta, fec_registro, ind_personal, usuario_registro, tipo_user)  
                    VALUES('" 
$_POST['paterno'] . "', '" $_POST['materno'] . "', '" $_POST['nombres'] . "', '" $_POST['dni'] . "', '" $_POST['ano'] . '-' $_POST['mes'] . '-' $_POST['dia'] . "', '" $_POST['sexo'] . "', '" $_POST['direccion'] . "', '" $_POST['id_departamento'] . "', '" $_POST['id_provincia'] . "', '" $_POST['id_distrito'] . "', '" $_POST['telefono'] . "', '" $_POST['celular'] . "', '" $_POST['email'] . "', '" $_POST['profesion'] . "', '"$_POST['grado_academico']."', '"$_POST['asignatura1']."', '"$_POST['asignatura2']."', '"$_POST['asignatura3']."', '"$_POST['nombre_banco'] . "', '" $_POST['nro_cuenta'] . "', '" date('Y-m-d H:i') . "', 'S', '" $_SESSION['id_usuario'] . "', '5')"
    
//echo $sql_personal;
    
db_query($sql_personal);

    
    
header("Location: " $_SERVER['PHP_SELF']); 
}
 } 

Última edición por lobbys; 20/07/2009 a las 16:57
  #25 (permalink)  
Antiguo 21/07/2009, 22:20
Avatar de miguec04  
Fecha de Ingreso: agosto-2008
Ubicación: Cimitarra, Santander
Mensajes: 378
Antigüedad: 15 años, 8 meses
Puntos: 15
De acuerdo Respuesta: nopiuedo insertar perosnal

Código PHP:
function tratar_basico($string) {  
  return(
$string); 



if(!isset(
$_SESSION['user'])) { 
    
header("Location: index.php"); 
}
if(isset(
$_POST['Registrar'])) {

 
$dni $_POST['dni']; 
     
$sql mysql_query("SELECT * FROM personal WHERE dni = '$dni'");  
    if (
mysql_num_rows($sql) > 0
    { 
     
// Ese dni ya esta registrado!!! 
    
echo "Usuario Creado" ;  
 } else { 
    
   
        
  
$sql_personal mysql_query("INSERT INTO personal(paterno, materno, nombres, dni, fec_nac, sexo, direccion, id_departamento, id_provincia, id_distrito, telefono, celular, email, profesion, grado_academico, asignatura1, asignatura2, asignatura3, nombre_banco, nro_cuenta, fec_registro, ind_personal, usuario_registro, tipo_user)  
                    VALUES('" 
$_POST['paterno'] . "', '" $_POST['materno'] . "', '" $_POST['nombres'] . "', '" $_POST['dni'] . "', '" $_POST['ano'] . '-' $_POST['mes'] . '-' $_POST['dia'] . "', '" $_POST['sexo'] . "', '" $_POST['direccion'] . "', '" $_POST['id_departamento'] . "', '" $_POST['id_provincia'] . "', '" $_POST['id_distrito'] . "', '" $_POST['telefono'] . "', '" $_POST['celular'] . "', '" $_POST['email'] . "', '" $_POST['profesion'] . "', '"$_POST['grado_academico']."', '"$_POST['asignatura1']."', '"$_POST['asignatura2']."', '"$_POST['asignatura3']."', '"$_POST['nombre_banco'] . "', '" $_POST['nro_cuenta'] . "', '" date('Y-m-d H:i') . "', 'S', '" $_SESSION['id_usuario'] . "', '5')"); 
    
//echo $sql_personal;
    
db_query($sql_personal);

    
    
header("Location: " $_SERVER['PHP_SELF']); 
}
 } 
prueba de esa forma creo que debe funcionar.
__________________
Desoftc Technology - Miguel Carmona
Creaciones Inteligentes - Cimitarra Colombia
[email protected]
http://www.desoftc.com.co
  #26 (permalink)  
Antiguo 24/07/2009, 13:22
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

bueno miguel gracias por tu aporte pero mes alio invalid query; ese es mi único problema en este codigo
  #27 (permalink)  
Antiguo 03/08/2009, 17:25
 
Fecha de Ingreso: junio-2009
Ubicación: lima
Mensajes: 139
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: nopiuedo insertar perosnal

Xxxxxxxxxxxxxxxxxxxxxx
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:19.