Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/09/2013, 23:17
Avatar de angelveloz17
angelveloz17
 
Fecha de Ingreso: septiembre-2013
Ubicación: Aragua
Mensajes: 14
Antigüedad: 10 años, 8 meses
Puntos: 0
Actualizar campos en el registro más reciente o mayor de una tabla

Buenas noches, tengo un pequeño problema en cuanto a ingresar datos en el registro más reciente que he realizado.

Les explico con más detalles aquí, En la primera página realizé mi primer formulario con los siguientes datos:
Código HTML:
Ver original
  1. //Página 1\\
  2.  
  3. <div id="content">
  4. <IMG src=imgpaciente.jpg class="imgpaciente">
  5. <form Class="formhis" action="historia2.php" method="POST" name="historia">
  6.  
  7.  
  8.      <tr>
  9.      <td> <h2>Nombres:</h2> </td>
  10.      <td> <input  class="nomapeedad" type="text"  maxlength="50" name="nombres"> </td>
  11.      </tr>
  12.      
  13.      <tr>
  14.      <td> <h2>Apellidos:</h2></td>
  15.      <td> <input class="nomapeedad" name="apellidos" maxlength="50" type="text"> </td>
  16.      </tr>
  17.      
  18.      <tr>
  19.      <td> <h2>Fecha de Nacimiento: </h2></td>
  20.      <td> <select class="dia" name="nacdia"> <OPTION selected> Dia
  21.     <OPTION> 1 <OPTION> 2 <OPTION> 3 <OPTION> 4 <OPTION> 5 <OPTION> 6
  22.     <OPTION> 7 <OPTION> 8 <OPTION> 9 <OPTION> 10 <OPTION> 11 <OPTION> 12
  23.     <OPTION> 13 <OPTION> 14 <OPTION> 15 <OPTION> 16 <OPTION> 17 <OPTION> 18
  24.     <OPTION> 19 <OPTION> 20 <OPTION> 21 <OPTION> 22 <OPTION> 23 <OPTION> 24
  25.     <OPTION> 25 <OPTION> 26 <OPTION> 27 <OPTION> 28 <OPTION> 29 <OPTION> 30
  26.     <OPTION> 31
  27.     </select>
  28.    
  29.     <select class="mes" name="nacmes">  <option value="0" selected>Mes</option>
  30.     <option value="1">Enero</option> <option value="2">Febrero</option> <option value="3">Marzo</option>
  31.     <option value="4">Abril</option> <option value="5">Mayo</option> <option value="6">Junio</option>
  32.     <option value="7">Julio</option> <option value="8">Agosto</option> <option value="9">Septiembre</option>
  33.     <option value="10">Octubre</option><option value="11">Noviembre</option><option value="12">Diciembre</option>
  34.     </select>
  35.    
  36.     <select class="ano" name="nacano"> <OPTION selected> Año
  37.     <OPTION> 2013 <OPTION> 2012 <OPTION> 2011 <OPTION> 2010 <OPTION> 2009
  38.     <OPTION> 2008 <OPTION> 2007 <OPTION> 2006 <OPTION> 2005 <OPTION> 2004
  39.     <OPTION> 2003 <OPTION> 2002 <OPTION> 2001 <OPTION> 2000 <OPTION> 1999
  40.     <OPTION> 1998 <OPTION> 1997 <OPTION> 1996 <OPTION>
  41.     </select> </td>
  42.     </tr>
  43.    
  44.     <tr>
  45.     <td><h2> Lugar de Nacimiento: </h2></td>
  46.     <td> <textarea class="lugarnac" name="lugar_nac" cols="30"></textarea> </td>
  47.     </tr>
  48.    
  49.     <tr>
  50.     <td><h2> Edad: </h2></td>
  51.     <td> <input class="nomapeedad" name="edad" type="text"> </td>
  52.     </tr>
  53.  
  54.     <tr>
  55.     <td><h2> Género: </h2></td>
  56.     <td>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;  
  57.     <INPUT TYPE="radio" NAME="genero" VALUE="Masculino"> Masculino
  58.     <INPUT TYPE="radio" NAME="genero" VALUE="femenino"> Femenino </td>
  59.     </tr>
  60.    
  61.     <tr>
  62.     <td><h2> Dirección: </h2></td>
  63.     <td> <textarea class="direcc" name="direccion"></textarea>  </td>
  64.     </tr>

Esos son los datos de un paciente, todos en una misma tabla en mysql llamada "historia".

en la segunda Página que como verán se llama historia2.php.

Realicé lo siguient:
Código PHP:
Ver original
  1. //Página 2\\
  2.  
  3. <?php
  4.     $titulo="Historias Médicas";
  5.     include ("libreria.php");
  6.     head($titulo);
  7.     aside();
  8.  
  9. $nombres=$_POST['nombres'];
  10.     $apellidos=$_POST['apellidos'];
  11.     $nacano=$_POST['nacano'];
  12.     $nacmes=$_POST['nacmes'];
  13.     $nacdia=$_POST['nacdia'];
  14.     $lugar_nac=$_POST['lugar_nac'];
  15.     $edad=$_POST['edad'];
  16.     $genero=$_POST['genero'];
  17.     $direccion=$_POST['direccion'];
  18.    
  19.     $servidor="localhost";
  20.     $login="root";
  21.     $clave="";
  22.     $base="pediatras";
  23.  
  24. $conecta=mysql_connect($servidor,$login,$clave);
  25.  
  26.     if (!$conecta)
  27.     {
  28.     die ('Falló la conexión con el servidor MySql'.mysql_error());
  29.     }
  30.    
  31.     else
  32.     {
  33.     $seleccion=mysql_select_db($base,$conecta);
  34.     if(!$seleccion)
  35.     {
  36.     die ('Falló la conexión con la BD seleccionada'.mysql_error());
  37.     }
  38.     else
  39.     {
  40.        
  41.     $sql="INSERT INTO historia (id_historia,nombres,apellidos,fecha_nac,lugar_nac,edad,genero,direccion,id_medico, cedula) VALUES  
  42.     ('','$nombres','$apellidos','$nacano-$10-$nacdia','$lugar_nac','$edad','$genero','$direccion','1245','$cedula')";  
  43.    
  44.     $sq=mysql_query($sql);
  45.    
  46.     if($sq==1)
  47.     $respuesta= "Registro Exitoso.!!";
  48.     else
  49.     $respuesta= "Fallo El Registro de los Datos...".mysql_error();
  50.     }
  51.     }
  52.  
  53.     ?>
Luego de esto, en la misma página sigo con el Formulario (Realicé los formularios por partes).
Código HTML:
Ver original
  1. <div id="content">
  2. <h3> <?php echo $respuesta; ?> </h3><br />
  3. <h3> Dr:  </h3> <h4> </h4> <br>
  4. <h3> Paciente: <?php echo $nombres, ' ',  $apellidos; ?> </h3> <br>
  5. <h3> Historia: </h3> <br>
  6. <h3> Fecha: <?php echo date('d-M-Y'); ?> </h3> <br>
  7. <IMG src=enfact.jpg class="imgenfact">
  8.  
  9. <form class="formhis2" action="historia3.php" method="POST" name="historia2">
  10.  
  11.     <textarea class="enfact" name="enfact"></textarea>
  12.  
  13.     <IMG src=antec.jpg class="imgantec"> <br />
  14. <fieldset>    
  15.     <tr>
  16.     <td><h2> Familiares: </h2></td>
  17.     <td> <textarea class="datosantec" name="ant_fami" type="text"></textarea> </td>
  18.     </tr>
  19.    
  20.     <tr>
  21.     <td><h2> Personales: </h2></td>
  22.     <td> <textarea class="datosantec" name="ant_per" type="text"></textarea> </td>
  23.     </tr>
  24.    
  25.     <tr>
  26.     <td><h2> Habitos Psicológicos: </h2></td>
  27.     <td> <textarea class="datosantec" name="habit_psico" type="text"></textarea> </td>
  28.     </tr>
  29.       <IMG src=exfun.jpg class="imgexfun"> <br />
  30. <fieldset>    
  31.     <tr>
  32.     <td><h2> Aparatos y Sistemas: </h2></td>
  33.     <td> <textarea class="datosexfun" name="exm_func" type="text"></textarea> </td>
  34.     </tr>
  35. </fieldset> <br />
  36.        
  37.  
  38. <input type="submit"  class="bcontinuar" value="Continuar" name="Continuar" title="Hacer Clic para Continuar" />
  39. </form>
  40. </div>

Estos datos de este formulario siguen estando en la misma tabla "Historia", ya que son datos del Paciente también.

Ahora cuando le doy a Continuar y me dirige a historia3.php es donde veo el problema.
Código PHP:
Ver original
  1. //Página 3\\
  2.  
  3. <?php
  4.     $titulo="Historias Médicas";
  5.     include ("libreria.php");
  6.     head($titulo);
  7.     aside();
  8.    
  9.     $ant_fami=$_POST['ant_fami'];
  10.     $ant_per=$_POST['ant_per'];
  11.     $habit_psico=$_POST['habit_psico'];
  12.     $exm_func=$_POST['exm_func'];
  13.    
  14.     $servidor="localhost";
  15.     $login="root";
  16.     $clave="";
  17.     $base="pediatras";
  18.    
  19.     $conecta=mysql_connect($servidor,$login,$clave);
  20.    
  21.      if (!$conecta)
  22.     {
  23.     die ('Falló la conexión con el servidor MySql'.mysql_error());
  24.     }
  25.    
  26.     else
  27.     {
  28.     $seleccion=mysql_select_db($base,$conecta);
  29.     if(!$seleccion)
  30.     {
  31.     die ('Falló la conexión con la BD seleccionada'.mysql_error());
  32.     }
  33.  
  34.     $sql="UPDATE historia set ant_fami='$ant_fami', ant_per='$ant_per', habit_psico='$habit_psico', exm_func='$exm_func where id_historia=";
  35.     $sq=mysql_query($sql);
  36.     if($sq==1)
  37.     $respuesta= "Registro Exitoso.!!";
  38.     else
  39.     $respuesta= "Fallo El Registro de los Datos...".mysql_error();
  40.     }
  41.    
  42. ?>
Allí como ven, TRATO de actualizar los campos de historia2.php pero DONDE allí si no se, ya que como pueden ver, la variable id_historia no está declarada, no se de donde tomarla, ni como extraerla para que me pueda actualizar los campos solo de ese.

Tomen en cuenta que id_historia es primaria y auto_incrementable.

Esto PHP lo hice en otra página aparte, ya que en esta misma página siguen más datos de formulario, pero no puedo continuar sin antes tener esta parte, porque lo que usaré en la siguiente página, serían estos mismos códigos.

Me he puesto a pensar y no se si primero tengo que consultar los id_historia, de verdad que no se, espero que me puedan ayudar.

Última edición por gnzsoloyo; 18/09/2013 a las 05:12 Razón: Etiquetado... por favor... Highlights