Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Php

Estas en el tema de Consulta Php en el foro de PHP en Foros del Web. Hola amigo quisiera pedir ayuda con este tema necesito copiar el campo id_identificador de la tabla principal a otras 2 tablas mediante php estoy haciendo ...

  #1 (permalink)  
Antiguo 19/03/2013, 15:01
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Consulta Php

Hola amigo quisiera pedir ayuda con este tema
necesito copiar el campo id_identificador de la tabla principal a otras 2 tablas mediante php estoy haciendo lo siguiente:

<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);
mysql_select_db($base);

$con1="insert into estudios(id_identificador)
select id_identificador from datos_personales";

$con="insert into estudios(tipo_estudio,estudio,F_G)
values('".$_GET["estu"]."',
'".$_GET["estu1"]."',
'".$_GET["fec"]."')";

$sql=mysql_query($con,$link);
$sql1=mysql_query($con1,$link);
if((!$sql)(!$sql1))
echo "error al conectar";
else
echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";

?>

pero me sale un error, que tengo mal. es el insert? o no se pueden hacer dos llamadas a mysql en un .php, gracias por sus respuestas y estare atento
  #2 (permalink)  
Antiguo 19/03/2013, 15:11
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Mira para empezar lo que estas haciendo en el if no se si sea válido.. luego que error es el que te genera??? Ayudaria mucho que lo postearas asi podriamos ver si es error de sintaxis o que...
  #3 (permalink)  
Antiguo 19/03/2013, 16:51
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Consulta Php

Holas,

Por si te sirve tambien puedes usar el mysql_insert_id:

http://php.net/manual/es/function.mysql-insert-id.php

Trata de usar el mysqli para futuros desarrollos:

http://php.net/manual/es/mysqli.insert-id.php

Saludos,
__________________
.: Gildus :.
  #4 (permalink)  
Antiguo 20/03/2013, 07:27
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

alex1084 es cierto ese if esta mal hecho, debería ser así

if(!$sql)
echo "error al conectar";

y al dejarlo así me arroja ese mismo error "error al conectar".
Mi problema es que así solo validaría el primer mysql_query que tiene la variable con que tiene los insert pero no con1 donde lo que quiero es copiar un valor de una tabla a otra.

Sera que existe alguna forma de que esta instrucción reciba 2 insert y si se puede como o cual es la sintaxis para agregarle otro insert.

$con="insert into estudios(tipo_estudio,estudio,F_G)
values('".$_GET["estu"]."',
'".$_GET["estu1"]."',
'".$_GET["fec"]."')";

gildus ya leí pero no se como implementarlo.
  #5 (permalink)  
Antiguo 20/03/2013, 09:46
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Ok, mira me cuesta un poco entender jajaja asi que veamos si entendi bien...

Realizas una inserción en una tabla principal llamemos la "principal"

Luego quieres llevarte el id del registro que acabas de insertar a otras dos tablas que imagino lo queres para tener una relación... llamemos a esas tablas "tabla1" y "tabla2"..

Mira si es eso lo que queres hacer podes hacerlo de la siguiente forma
Código PHP:
Ver original
  1. include("conex.inc");
  2. $link=mysql_connect($server,$usuario,$clave);
  3. if (!$link) {
  4.     die('No se pudo conectar: ' . mysql_error());
  5.     exit;
  6. }
  7.  
  8. //Supongamos que le id es autoincrementable, por lo tanto no lo vamos a enviar en la consulta...
  9. $sql="insert into principal('campo1','campo2','campo'3) values('valor1','valor2','valor3')";
  10. $resul=mysql_query($sql,$link);
  11.  
  12. //Ahora vamos a insertar el id de ese registro en las tablas secundarias
  13. $ultimoID= mysql_insert_id();
  14. $sql1="insert into tabla1 ('idTabPrincipal','campo2','campo3') values('".$ultimoID."','valor1','valor2')";
  15. $resul=mysql_query($sql1,$link);
  16.  
  17. $sql1="insert into tabla2 ('idTabPrincipal','campo2','campo3') values('".$ultimoID."','valor1','valor2')";
  18. $resul=mysql_query($sql1,$link);
  19.  
  20. echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";
  #6 (permalink)  
Antiguo 20/03/2013, 15:31
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Ok alex1084, lo hice así pero no me funciono creo que estoy implementando mal el mysql_query_id(), me dice que los datos fueron guardados pero guarda todo menos el campo id_identificador que traigo de la tabla principal que se llama datos_personales. mira:

<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);

if (!$link)
{
die('No se pudo conectar: ' . mysql_error());
exit;
}
mysql_select_db($base);

$con="insert into estudios(tipo_estudio,estudio,F_G)
values('".$_GET["estu"]."',
'".$_GET["estu1"]."',
'".$_GET["fec"]."')";
$result=mysql_query($con,$link);


$ultimoid=mysql_insert_id();
$con1="insert into estudios('id_identificador')
select id_identificador from datos_personales";
$result=mysql_query($con1,$link);

echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";

?>

Gracias de nuevo y espero sus respuestas.
  #7 (permalink)  
Antiguo 20/03/2013, 15:35
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Cita:
Iniciado por jairx_x1 Ver Mensaje
Ok alex1084, lo hice así pero no me funciono creo que estoy implementando mal el mysql_query_id(), me dice que los datos fueron guardados pero guarda todo menos el campo id_identificador que traigo de la tabla principal que se llama datos_personales. mira:

<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);

if (!$link)
{
die('No se pudo conectar: ' . mysql_error());
exit;
}
mysql_select_db($base);

$con="insert into estudios(tipo_estudio,estudio,F_G)
values('".$_GET["estu"]."',
'".$_GET["estu1"]."',
'".$_GET["fec"]."')";
$result=mysql_query($con,$link);


$ultimoid=mysql_insert_id();
$con1="insert into estudios('id_identificador')
select id_identificador from datos_personales";
$result=mysql_query($con1,$link);

echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";

?>

Gracias de nuevo y espero sus respuestas.

Pero es que tenes un error no le pasas la variable en la consulta.... revisa y trata de identificar el error....
  #8 (permalink)  
Antiguo 20/03/2013, 15:38
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

y revisando un poco tu codigo veo que queres hacer un insert a la tabla estudios??? esa es la misma tabla a la que acabas de hacerle un insert ya no entendi que es lo que queres hacer..
  #9 (permalink)  
Antiguo 20/03/2013, 15:43
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

si amigo quiero hacer 2 insert ya que no quiero volver a pedir la identificación para esta tabla ya la tengo guardada en la primera tabla en datos_personales, se que se puede copiar de una tabla a otra un dato pero no se si es posible hacer los insert como los estaba haciendo? ya mire y el campo a transferir es id_identificador pero no se como hacerlo?
o mejor sera transferir ese valor por php?
que me aconsejan?
  #10 (permalink)  
Antiguo 20/03/2013, 15:44
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Mira voy a suponer que lo que queres hacer es insertar el id del registro de la tabla estudios en la tabla datos_personales... si eso es correcto tendrias que hacerlo de la siguiente forma..


Código PHP:
Ver original
  1. <?php
  2. include("conex.inc");
  3. $link=mysql_connect($server,$usuario,$clave);
  4.  
  5. if (!$link)
  6. {
  7. die('No se pudo conectar: ' . mysql_error());
  8. }
  9.  
  10. $con="insert into estudios(tipo_estudio,estudio,F_G) values('".$_GET["estu"]."', '".$_GET["estu1"]."', '".$_GET["fec"]."')";
  11. $result=mysql_query($con,$link)or die(mysql_error());
  12.  
  13. $ultimoid=mysql_insert_id();
  14. $con1="insert into datos_personales('id_identificador') values('".$ultimoid."')";
  15. $result=mysql_query($con1,$link)or die(mysql_error());
  16.  
  17. echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";
  18.  
  19. ?>

PD: Si ves he agregado or die(), eso te ayudara para ver los errores del mysql
  #11 (permalink)  
Antiguo 20/03/2013, 15:49
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

permitime!!!! vamos desde el principio que ya me perdiste jajajajaja.

Cual es la tabla principal, en la que se hace el primer inser??

El ID de ese registro que has registrado lo queres llevar a que tabla??
  #12 (permalink)  
Antiguo 20/03/2013, 15:57
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

jejejej no hay problema, mira un show tables de la base

mysql> show tables;
+-------------------+
| Tables_in_applus2 |
+-------------------+
| datos_personales |
| estudios |
| experiencias |
| rela |
+-------------------+

Ahora la tabla principal es la de datos_personales mira la estructura:

mysql> desc datos_personales;
+------------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------------+------------------+------+-----+---------+----------------+
| id1 | int(11) unsigned | NO | PRI | NULL | auto_increment |
| id_identificador | varchar(25) | YES | | NULL | |
| Nombre | varchar(100) | YES | | NULL | |
| Apellido | varchar(100) | YES | | NULL | |
| Email | varchar(100) | YES | | NULL | |
| Celular | varchar(100) | YES | | NULL | |
| Direccion | varchar(100) | YES | | NULL | |
| Ciudad | varchar(100) | YES | | NULL | |
| Pais | varchar(100) | YES | | NULL | |
| Fec_act | date | NO | | NULL | |
| Applustra | varchar(100) | NO | | NULL | |
| Observación | varchar(100) | NO | | NULL | |
+------------------+------------------+------+-----+---------+-------------

Esta la lleno y luego me dirijo a la de estudios pero a parte de los datos que estamos ingresando en el código ya posteado quiero traerme el campo id_identificador. Por decirlo así me quiero llevar el id_identificador a otras dos tablas que son estudios y otra, y esa es mi pregunta, espero me comprendan, que se que estamos cerca. Gracias.
  #13 (permalink)  
Antiguo 20/03/2013, 16:07
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

OK PRUEBA CON ESTO

Código PHP:
Ver original
  1. include("conex.inc");
  2. $link=mysql_connect($server,$usuario,$clave);
  3.  
  4. if (!$link)
  5. {
  6. die('No se pudo conectar: ' . mysql_error());
  7. }
  8.  
  9. //ENTIENDO QUE EL id_identificador ES UN VALOR QUE TU LO GENERAS PORQUE EN LA TABLA ES UN VARCHAR, ASI QUE VAMOS A ASUMIR QUE LO TRAES DE ALGUN LADO
  10. $id_identificador = $_GET["identificador"]; //esto a manera de ejemplo
  11.  
  12. $con="insert into datos_personales values(TODOS LOS CAMPOS QUE QUERES INSERTAR)";
  13. $result=mysql_query($con,$link)or die(mysql_error());
  14.  
  15.  
  16. //Asumo que la tabla estudio contiene el campo id_identificador
  17. $con="insert into estudios(id_identificador,tipo_estudio,estudio,F_G) values('".$id_identificador."','".$_GET["estu"]."', '".$_GET["estu1"]."', '".$_GET["fec"]."')";
  18. $result=mysql_query($con,$link)or die(mysql_error());
  19.  
  20.  
  21. //de igual forma asumo que la "otra tabla" contiene el campo id_identificador
  22. $con="insert into otra_tabla(LOS CAMPOS DE LA TABLA) values('".$id_identificador."',.. TODOS LOS DEMAS VALORES)";
  23. $result=mysql_query($con,$link)or die(mysql_error());
  24.  
  25.  
  26.  
  27. echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";

Última edición por alex1084; 20/03/2013 a las 16:30
  #14 (permalink)  
Antiguo 21/03/2013, 10:43
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Hola amigo alex1084 me aparece otro error y no lo he podido arreglar es este:
Duplicate entry '0' for key 'PRIMARY'
Mira no se si estoy enviando mal la variable:

Formulario html donde recibo la variable
Código PHP:
<td>Identificacion</td>
    <
td><input type 'text' name 'ide' class="sampletext" align="right"></td
Luego la capturo en el archivo php asi
Código PHP:
$pr=$_GET["ide"]; 
y la envio asi:
Código PHP:
echo "<a href=\"Formulario_Adicion_estudios.html?envio=$pr>Datos Guardados<BR>Click Aqui Para Continuar con estudios\"</a>"
luego lleno el formulario de estudios pero en esta instancia no se como copiarla a esta tabla que estoy llenando aqui el formulario de estudios:
Código PHP:
<html>
<
head>
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/jscal2.css" />
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/border-radius.css" />
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/steel/steel.css" />
<
script type="text/javascript" src="../Presentacion/src/js/jscal2.js"></script>
<script type="text/javascript" src="../Presentacion/src/js/lang/es.js"></script>
<link rel="stylesheet" href="../Presentacion/estilos.css">
<style type="text/css">
</style>
</head>
<body>
<form action="Adicionar_estudios.php" 
method="GET" name="form1">
<font face="Papyrus">
<p align="center">
<br>Formulario<br><br><br>


<table width="400" border="1">
  <tr>
    <td>Tipo de estudio:</td>
        <td><select name = "estu" class="sampletext">
        <option value="">--Select --</option>
        <option value="Tecnico">Tecnico</option>
        <option value="Tecnologico">Tecnologico</option>
        <option value="Universitario">Universitario</option>
        <option value="Especialista">Especialista</option>
        <option value="Maestria">Maestria</option>
        <option value="Doctorado">Doctorado</option>
        <option value=""></option>
        </select></td>
    
  </tr>
  <tr>
    <td> Estudio:   </td>
    <td> <input type = "text" name = "estu1" class="sampletext"></td>
  </tr>
  <tr>    
  <td> <label for="f_rangeStart">Campo Fecha:</label> </td>
    <td><input size="15" id="f_rangeStart" name="fec" />
        <button id="f_rangeStart_trigger">...</button>
        <button id="f_clearRangeStart" onclick="clearRangeStart()">Limpiar</button>

            <script type="text/javascript">
            RANGE_CAL_1 = new Calendar({
            inputField: "f_rangeStart",
            dateFormat: "%Y/%m/%d",
            trigger: "f_rangeStart_trigger",
            bottomBar: false,
            onSelect: function() {
            var date = Calendar.intToDate(this.selection.get());
            LEFT_CAL.args.min = date;
            LEFT_CAL.redraw();
            this.hide();
            }
            });
            function clearRangeStart() {
            document.getElementById("f_rangeStart").value = "";
            LEFT_CAL.args.min = null;
            LEFT_CAL.redraw();
            };
            </script>
</td>
  </tr> 
  

</table>

<input type="submit" value="Guardar">
<input type="Reset" value="Limpiar">
</p>
</font>
</form>

</body>
</html> 
Y como ves este llama el archivo que estamos trabajando o sea de aqui salen los datos que estamos trabajando en los archivos anteriore. ves es algo engorroso ojala puedas ayudarme, Gracias.
  #15 (permalink)  
Antiguo 21/03/2013, 11:06
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Mira ya me perdi un poco por pero veamos si me logro ubicar...

Envias este codigo que al parecer es algo ingresado por el usuario...

Código PHP:
Ver original
  1. echo "<a href=\"Formulario_Adicion_estudios.html?envio=$pr>Datos Guardados<BR>Click Aqui Para Continuar con estudios\"</a>";

Lo haces en una variable que se llama "envio" por lo cual necesitas recuperarla con ese nombre y por GET, mmmm luego me perdi :D

por lo que mejor postea todos los codigos que usas en el orden correspondiente del flujo para entender porque a estas alturas ya no entiendo donde empiezas a capturar información ni para donde la envías....
  #16 (permalink)  
Antiguo 21/03/2013, 11:19
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Ok aqui voy:

Este es el primer formulario de ingreso de datos personales:
aqui se ingresa el identificador(id_identificador)

Formulario_adicionar.html
Código PHP:
<html>
<
head>
<
link rel="stylesheet" href="../Presentacion/estilos.css">
<
style type="text/css">
</
style>
</
head>
<
body>
<
form action="Adicionar_Todo.php" 
method="GET" name="form1">
<
font face="Papyrus">
<
p align="center">
<
br>Formulario de adición hoja de vida<br><br><br>


<
table width="400" border="0">
  <
tr>
    <
td>Identificacion</td>
    <
td><input type 'text' name 'ide' class="sampletext" align="right"></td>
  </
tr>
  <
tr>
    <
tdNombres   </td>
    <
td> <input type "text" name "nom" class="sampletext"></td>
  </
tr>
  <
tr>  
    <
tdApellidos   </td>
        <
td><input type "text" name "ape" class="sampletext">  </td>
  </
tr
  <
tr>
    <
tdEmail   </td>
        <
td><input type "text" name "ema" class="sampletext"></td>
  </
tr
  <
tr>  
    <
tdCelular   </td>
        <
td><input type "text" name "cel" class="sampletext"></td>
  </
tr
  <
tr>  
    <
tdDireccion   </td>
        <
td><input type "text" name "dir" class="sampletext"></td>
  </
tr
  <
tr>  
    <
tdPais   </td>
        <
td><select name "ciu" class="sampletext">
        <
option value="">--Select --</option>
        <
option value="Colombia">Colombia</option>
        <
option value="Ecuador">Ecuador</option>
        <
option value="Peru">Peru</option>
        <
option value="España">España</option>
        <
option value="Chile">Chile</option>
        </
select></td>
   </
tr
  <
tr
    <
tdCiudad o Departamento   </td>
        <
td><select name "pa" class="sampletext">
        <
option value="">--Select --</option>
        <
option value="Amazonas">Amazonas</option>
        <
option value="Antioquia">Antioquia</option>
        <
option value="Arauca">Arauca </option>
        <
option value="Atlantico">Atlantico</option>
        <
option value="Bolivar">Bolivar </option>
        <
option value="Boyacá">Boyacá </option>
        <
option value="Caldas">Caldas </option>
        <
option value="Caquetá">Caquetá </option>
        <
option value="Casanare">Casanare </option>
        <
option value="Cauca">Cauca </option>
        <
option value="Cesar">Cesar </option>
        <
option value="Chocó">Chocó</option>
        <
option value="Córdoba">Córdoba </option>
        <
option value="Bogotá D.C">Bogotá D.C.</option>
        <
option value="Guainía">Guainía </option>
        <
option value="Guaviare">Guaviare </option>
        <
option value="Huila">Huila </option>
        <
option value="La Guajira">La Guajira </option>
        <
option value="Magdalena">Magdalena </option>
        <
option value="Meta">Meta </option>
        <
option value="Nariño">Nariño </option>
        <
option value="Norte de Santander">Norte de Santander </option>
        <
option value="Putumayo">Putumayo </option>
        <
option value="Quindio">Quindio </option>
        <
option value="Risaralda">Risaralda </option>
        <
option value="San Andres y Providencia">San Andres y Providencia</option>
        <
option value="Santander">Santander  </option>
        <
option value="Sucre">Sucre  </option>
        <
option value="Tolima">Tolima  </option>
        <
option value="Valle del Cauca">Valle del Cauca </option>
        <
option value="Vaupés">Vaupés  </option>
        <
option value="Vichada">Vichada   </option>
        </
select></td>
</
table>

<
input type="submit" value="Guardar">
<
input type="Reset" value="Limpiar">
</
p>
</
font>
</
form>

</
body>
</
html
Estos datos se envian aca para guardarlos en la dase:
Adicionar_Todo.php

Código PHP:
<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);
mysql_select_db($base);
$pr=$_GET["ide"];
$con="insert into datos_personales(id_identificador,Nombre,Apellido,Email,Celular,Direccion,Ciudad,Pais)
values('"
.$_GET["ide"]."',
'"
.$_GET["nom"]."',
'"
.$_GET["ape"]."',
'"
.$_GET["ema"]."',
'"
.$_GET["cel"]."',
'"
.$_GET["dir"]."',
'"
.$_GET["ciu"]."',
'"
.$_GET["pa"]."')";
$sql=mysql_query($con,$link);
if(!
$sql)
echo 
"error al conectar";
else
echo 
"<a href=\"Formulario_Adicion_estudios.html?envio=$pr>Datos Guardados<BR>Click Aqui Para Continuar con estudios\"</a>";
?>
Aca guarda bien pero quiero llevar el primer dato que es id_identificador a las otras tablas y lo hago asi pero creo que esta mal:

Código PHP:
echo "<a href=\"Formulario_Adicion_estudios.html?envio=$pr>Datos Guardados<BR>Click Aqui Para Continuar con estudios\"</a>"
aca el formulario que sigue:

Código PHP:
<html>
<
head>
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/jscal2.css" />
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/border-radius.css" />
<
link rel="stylesheet" type="text/css" href="../Presentacion/src/css/steel/steel.css" />
<
script type="text/javascript" src="../Presentacion/src/js/jscal2.js"></script>
<script type="text/javascript" src="../Presentacion/src/js/lang/es.js"></script>
<link rel="stylesheet" href="../Presentacion/estilos.css">
<style type="text/css">
</style>
</head>
<body>
<form action="Adicionar_estudios.php" 
method="GET" name="form1">
<font face="Papyrus">
<p align="center">
<br>Formulario<br><br><br>


<table width="400" border="1">
  <tr>
    <td>Tipo de estudio:</td>
        <td><select name = "estu" class="sampletext">
        <option value="">--Select --</option>
        <option value="Tecnico">Tecnico</option>
        <option value="Tecnologico">Tecnologico</option>
        <option value="Universitario">Universitario</option>
        <option value="Especialista">Especialista</option>
        <option value="Maestria">Maestria</option>
        <option value="Doctorado">Doctorado</option>
        <option value=""></option>
        </select></td>
    
  </tr>
  <tr>
    <td> Estudio:   </td>
    <td> <input type = "text" name = "estu1" class="sampletext"></td>
  </tr>
  <tr>    
  <td> <label for="f_rangeStart">Campo Fecha:</label> </td>
    <td><input size="15" id="f_rangeStart" name="fec" />
        <button id="f_rangeStart_trigger">...</button>
        <button id="f_clearRangeStart" onclick="clearRangeStart()">Limpiar</button>

            <script type="text/javascript">
            RANGE_CAL_1 = new Calendar({
            inputField: "f_rangeStart",
            dateFormat: "%Y/%m/%d",
            trigger: "f_rangeStart_trigger",
            bottomBar: false,
            onSelect: function() {
            var date = Calendar.intToDate(this.selection.get());
            LEFT_CAL.args.min = date;
            LEFT_CAL.redraw();
            this.hide();
            }
            });
            function clearRangeStart() {
            document.getElementById("f_rangeStart").value = "";
            LEFT_CAL.args.min = null;
            LEFT_CAL.redraw();
            };
            </script>
</td>
  </tr> 
  

</table>

<input type="submit" value="Guardar">
<input type="Reset" value="Limpiar">
</p>
</font>
</form>

</body>
</html> 
Y por ultimo aca guarda estos datos:
Código PHP:
<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);
 
if (!
$link
{
die(
'No se pudo conectar: ' mysql_error());
exit;
}
mysql_select_db($base)or die(mysql_error());
 
$id_identificador $_GET["envio"]; 
 
$con="insert into estudios(id_identificador,tipo_estudio,estudio,F_G) 
values('"
.$id_identificador."','".$_GET["estu"]."', '".$_GET["estu1"]."', '".$_GET["fec"]."')";
$result=mysql_query($con,$link)or die(mysql_error());

 
$con="insert into experiencias(id_identificador) values('".$id_identificador."')";
$result=mysql_query($con,$link)or die(mysql_error()); 
 
echo 
"<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";
 
?>
y estos son los 4 codigos que estoy trabajando y quiero llevar esa variable id_identificador a mis otros formularios y a mis otras tablas, pero no he podido. Muchas gracias amigo por la colaboración.
  #17 (permalink)  
Antiguo 21/03/2013, 11:30
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

aaa ok ahora si entendi mira lo que tenes que hacer en el formulario
Cita:
<form action="Adicionar_estudios.php"
method="GET" name="form1">
tenes toda la información que capturas y vas a insertar ok, entonces te falta algo como esto:

Código PHP:
Ver original
  1. <input type="hidden" name="envio" value="<?=$_GET["envio"]?>">

Esto es porque necesitas enviar tambien valor que viene por get y el envio lo haces mediante un campo oculto, no se si entendes la lógica??

Vos los envias te del primer formulario pero cuando llegas al segundo esa información se te perdia pero ahora la capturas y la asignas al campo oculto y como está dentro del otro formulario se envia nuevante.... no se si me explico??
  #18 (permalink)  
Antiguo 21/03/2013, 11:45
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

alex1084 a que se refiere este error
Duplicate entry '0' for key 'PRIMARY'
me aparece y en la base de datos me graba un NULL
  #19 (permalink)  
Antiguo 21/03/2013, 12:04
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

en alguna tabla hay un campo que es tipo indice y ya has insertado un registro con el valor 0 en ese campo por lo que no te dejará insertar otro registro con un valor 0 para ese campo
  #20 (permalink)  
Antiguo 21/03/2013, 13:39
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Lo arregle pero me guarda esto en el campo id_identificador de la base de datos:
<?=$_GET[
sera la variable??
  #21 (permalink)  
Antiguo 21/03/2013, 14:21
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

jajaja ok prueba asi...

Código PHP:
Ver original
  1. <input type="hidden" name="envio" value="<?php echo $_GET["envio"]; ?>">
  #22 (permalink)  
Antiguo 21/03/2013, 14:35
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Nada amigo sale esto:
Duplicate entry '0' for key 'PRIMARY'
y en la tabla guarda esto
<?php echo $_GET[
alguna sugerencia?
  #23 (permalink)  
Antiguo 21/03/2013, 14:45
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Pone el codigo los codigos entonces donde haces la insercion nuevamente y donde capturas los datos porque hay algo malo.... para que te este guardando
Cita:
<?php echo $_GET[
y con lo de
Cita:
Duplicate entry '0' for key 'PRIMARY'
es error de los datos que estas intentado insertar... y ahi si no puedo ayudarte...
  #24 (permalink)  
Antiguo 21/03/2013, 15:15
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Lo intente pero no pude aqui los codigos alex:
Código PHP:
<html>
<head>
<link rel="stylesheet" type="text/css" href="../Presentacion/src/css/jscal2.css" />
<link rel="stylesheet" type="text/css" href="../Presentacion/src/css/border-radius.css" />
<link rel="stylesheet" type="text/css" href="../Presentacion/src/css/steel/steel.css" />
<script type="text/javascript" src="../Presentacion/src/js/jscal2.js"></script>
<script type="text/javascript" src="../Presentacion/src/js/lang/es.js"></script>
<link rel="stylesheet" href="../Presentacion/estilos.css">
<style type="text/css">
</style>
</head>
<body>
<form action="Adicionar_estudios.php" 
method="GET" name="form1">
<font face="Papyrus">
<p align="center">
<br>Formulario<br><br><br>


<table width="400" border="1">
<tr>
<input type="hidden" name="envio" value="<? echo $_GET["envio"]; ?>

</tr>

  <tr>
    <td>Tipo de estudio:</td>
        <td><select name = "estu" class="sampletext">
        <option value="">--Select --</option>
        <option value="Tecnico">Tecnico</option>
        <option value="Tecnologico">Tecnologico</option>
        <option value="Universitario">Universitario</option>
        <option value="Especialista">Especialista</option>
        <option value="Maestria">Maestria</option>
        <option value="Doctorado">Doctorado</option>
        <option value=""></option>
        </select></td>
    
  </tr>
  <tr>
    <td> Estudio:   </td>
    <td> <input type = "text" name = "estu1" class="sampletext"></td>
  </tr>
  <tr>    
  <td> <label for="f_rangeStart">Campo Fecha:</label> </td>
    <td><input size="15" id="f_rangeStart" name="fec" />
        <button id="f_rangeStart_trigger">...</button>
        <button id="f_clearRangeStart" onclick="clearRangeStart()">Limpiar</button>

            <script type="text/javascript">
            RANGE_CAL_1 = new Calendar({
            inputField: "f_rangeStart",
            dateFormat: "%Y/%m/%d",
            trigger: "f_rangeStart_trigger",
            bottomBar: false,
            onSelect: function() {
            var date = Calendar.intToDate(this.selection.get());
            LEFT_CAL.args.min = date;
            LEFT_CAL.redraw();
            this.hide();
            }
            });
            function clearRangeStart() {
            document.getElementById("f_rangeStart").value = "";
            LEFT_CAL.args.min = null;
            LEFT_CAL.redraw();
            };
            </script>
</td>
  </tr> 
  

</table>

<input type="submit" value="Guardar">
<input type="Reset" value="Limpiar">
</p>
</font>
</form>

</body>
</html>
y aqui el php:
Código PHP:
<?php
include("conex.inc");
$link=mysql_connect($server,$usuario,$clave);
 
if (!
$link
{
die(
'No se pudo conectar: ' mysql_error());
exit;
}
mysql_select_db($base)or die(mysql_error());
$id_identificador12 $_GET["envio"]; 
 
$con="insert into estudios(id_identificador,tipo_estudio,estudio,F_G) 
values('"
.$id_identificador12."','".$_GET["estu"]."', '".$_GET["estu1"]."', '".$_GET["fec"]."')";
$result=mysql_query($con,$link)or die(mysql_error());

 echo 
"<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";
 
?>
Esto ya lo intente tambien

Cita:
Código PHP:
Ver original1.<input type="hidden" name="envio" value="<?php echo $_GET["envio"]; ?>">

Última edición por jairx_x1; 21/03/2013 a las 15:20
  #25 (permalink)  
Antiguo 21/03/2013, 15:22
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Mira tenes errores corrige esto


Código PHP:
Ver original
  1. <input type="hidden" name="envio" value="<? echo $_GET["envio"]; ?>

por esto


Código PHP:
Ver original
  1. <input type="hidden" name="envio" value="<?php echo $_GET["envio"]; ?>" />
  #26 (permalink)  
Antiguo 21/03/2013, 15:41
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Igual guarda esto en la base de datos:
<?php echo $_GET[
y en el formulario en la parte de arriba aparece esto:
" />
... probando a ver cual es ese error
  #27 (permalink)  
Antiguo 21/03/2013, 15:45
Avatar de gildus  
Fecha de Ingreso: agosto-2003
Mensajes: 1.495
Antigüedad: 20 años, 8 meses
Puntos: 105
Respuesta: Consulta Php

Holas,

No es recomendable que uses la variable envio ni por GET ni por POST, seria mejor que las uses por $_SESSION, por ejemplo al inicio de tu aplicacion:

Adicionar_Todo.php

Código PHP:
Ver original
  1. <?php
  2.  
  3.  
  4. if(isset($_GET['ide'])){
  5.  
  6.     include('conex.inc');
  7.     $link=mysql_connect($server,$usuario,$clave);
  8.     mysql_select_db($base);
  9.     $pr=$_GET['ide'];
  10.     $con="insert into datos_personales(id_identificador,Nombre,Apellido,Email,Celular,Direccion,Ciudad,Pais)
  11. values('".$_GET["ide"]."',
  12. '".$_GET["nom"]."',
  13. '".$_GET["ape"]."',
  14. '".$_GET["ema"]."',
  15. '".$_GET["cel"]."',
  16. '".$_GET["dir"]."',
  17. '".$_GET["ciu"]."',
  18. '".$_GET["pa"]."')";
  19.     $sql=mysql_query($con,$link);
  20.     if(!$sql)
  21.         echo 'error al conectar';
  22.     else {
  23.     echo "<a href='Formulario_Adicion_estudios.php' >Datos Guardados<BR>Click Aqui Para Continuar con estudios</a>";
  24.     $_SESSION['ide'] = $_GET['ide'];
  25.     }
  26.  
  27. } else {
  28.     echo 'Error de ingreso';
  29. }



Creo que antes usabas un link:

Código PHP:
Ver original
  1. echo "<a href=\"Formulario_Adicion_estudios.html?envio=$pr>Datos Guardados<BR>Click Aqui Para Continuar con estudios\"</a>";

No se si realizas bien en recibir un html con variables GET, pero creo que podria ser con extension .php o no?, y ademas esa mal las comillas, en fin si lo haces con sesion lo tendras activo
siempre en cuando uses el session_start() al inicio de tu archivo PHP.


En tu archivo Adicionar_estudios.php quedaria mas o menos:

Código PHP:
Ver original
  1. <?php
  2.  
  3. if(isset($_SESSION['ide'])){
  4.  
  5.     include("conex.inc");
  6.     $link=mysql_connect($server,$usuario,$clave);
  7.  
  8.     if (!$link) {
  9.         die('No se pudo conectar: ' . mysql_error());
  10.         exit;
  11.     }
  12.     mysql_select_db($base)or die(mysql_error());
  13.  
  14.     $id_identificador = $_SESSION['ide'];
  15.  
  16.     $con="insert into estudios(id_identificador,tipo_estudio,estudio,F_G)
  17.    values('".$id_identificador."','".$_GET["estu"]."', '".$_GET["estu1"]."', '".$_GET["fec"]."')";
  18.     $result=mysql_query($con,$link)or die(mysql_error());
  19.  
  20.  
  21.     $con="insert into experiencias(id_identificador) values('".$id_identificador."')";
  22.     $result=mysql_query($con,$link)or die(mysql_error());
  23.  
  24.     echo "<a href=Index_admin.php>Datos Guardados<BR>Click Aqui Para Volver </a>";
  25.  
  26.  
  27. }


Tambien es mejor que uses variables sea por GET o POST para que indiques que numero de paso sigue, etc.

Saludos,
__________________
.: Gildus :.
  #28 (permalink)  
Antiguo 21/03/2013, 15:56
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Mira gildus ha hecho una observacion que ahorita estaba anilizando donde capuras los datos de estudio es un archivo .php o un .html porque si es .html estas mal debe ser un .php...
  #29 (permalink)  
Antiguo 22/03/2013, 13:54
 
Fecha de Ingreso: febrero-2013
Ubicación: Bogota
Mensajes: 40
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Consulta Php

Hola compas gracias Gildus y alex1084, ya pude sacarlo gracias a ustedes pero me surgen varias dudas,
la primera es por que no se maneja con get y post sino que funciona mejor con session?
la segunda es si me sirve la implementacion de session para crear sesiones, ya que esta implementado?
y la ultima es quiero capturar varios estudios para una sola cedula, que fue el dato que copiamos a la otra tabla
entonces pienso en un where en la captura pero no se con que validarlo

while($id=id_identificador)
{
capturar
}
  #30 (permalink)  
Antiguo 22/03/2013, 15:57
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años
Puntos: 47
Respuesta: Consulta Php

Cita:
Iniciado por gildus Ver Mensaje
Holas,

No es recomendable que uses la variable envio ni por GET ni por POST, seria mejor que las uses por $_SESSION, por ejemplo al inicio de tu aplicacion:
...................
Mira se refiere a la seguridad de tu aplicación ya que no es recomendable que la información que ingresas en los formularios la envies por get ya que es un metodo inseguro y post es un metodo mucho mas seguro, el usuar sesiones eso es algo que debes tener cuidado de no abusar ya que las sesiones no son hechas ni pensadas para estar pasando información de formularios de una pagina a otra....

Claro que te recomiendo que cambies el metodo ya que tu toda la información la envias por get cuando lo recomendable es que uses post pero recuerda que si envias por post recibis por post...

Etiquetas: mysql, select, sql, tabla
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:54.