Foros del Web » Programando para Internet » PHP »

Insertar datos en tabla relacionada mediante checkbox

Estas en el tema de Insertar datos en tabla relacionada mediante checkbox en el foro de PHP en Foros del Web. Buenas Soy nuevo en todo esto del php y poco a poco voy aprendiendo y me encuentro en un dilema que no se como resolver ...
  #1 (permalink)  
Antiguo 05/04/2013, 14:08
Avatar de IIZeusII  
Fecha de Ingreso: febrero-2013
Ubicación: El Olympo
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta Insertar datos en tabla relacionada mediante checkbox

Buenas

Soy nuevo en todo esto del php y poco a poco voy aprendiendo y me encuentro en un dilema que no se como resolver . La cuestión es que tengo las siguientes tabas relacionadas...

Tabla "pacientes" y Tabla "Medicamentos"
y se relacionan asi
Tabla "Medicamento_paciente"
id
id_paciente
id_medicamento

Bueno, en la tabla pacientes se insertan por medio de un formulario y va bien.... Ahora la tabla medicamentos solo muestro los medicamentos que ya tengo registrados previamente y les pongo un checkbox para q la persona pueda seleccionarlos. Lo que necesito y no se como hacer es que una vez q el paciente llene sus datos, elija los medicamentos marcando los checkbox y le de al botón "REGISTRARME" se me guarden en la tabla "medicamento_paciente".

Algo asi....

Código:
id_paciente   id_medicamento
1                    1
1                    2
2                    3
3                    3
3                    4
3                    5
Espero haberme sabido explicar y me puedan ayudar.....

Acá les dejo el código del formulario.

Código:
<html>
<head>
    	<title>Formulario de registro</title>
<!-- script de tooltip -->
<style type="text/css">
	body{
		background-color:#FFF;
		font-family: Trebuchet MS, Lucida Sans Unicode, Arial, sans-serif;
	}
	fieldset{
		width:auto;
	}
</style>
<!-- comienzo script de validacion -->

<!-- fin script de validacion -->
<link href="css/style.css" rel="stylesheet" type="text/css">
</head>
<div>
    <body>
   	<center><h2 class="h2">Datos Personales</h2></center>
        <center>
        <div class="blur">
        <div class="shadow">
        <div class="content">
        <center><form method="post" name="form1" action="<?php echo $editFormAction; ?>" class="contact_form">
        	<table align="center" width="380">
            	<tr>
                	<td align="right">
                    	<label for="nombre_copleto">Nombres y Apellidos:</label>
                    </td>
                    <td>
  <input type="text"  placeholder="Ej:Johan Ricardo" name="nombre_completo" required/>
                    </td>
                </tr>
                <tr>
                	<td align="right">
                    	<label for="cedula">C&eacute;dula:</label>
                    </td>
                    <td>
<select name="nacionalidad">
<option value="V">V</option>
<option value="E">E</option>
</select><input name="cedula" type="text" placeholder="Ej: 11.111.111" size="30" required/>
                    </td>
                </tr>
              <tr>
                	<td align="right">
                    	<label for="sexo">Sexo:</label>
                    </td>
                    <td>
                    <select name="sexo">
                    	<option value="0">[Seleccione...]</option>
                    	<option>Masculino</option>
                    	<option>Femenino</option>
                    </select>
                    </td>
              </tr>
                <tr>
                	<td align="right">
                    	<label for="ciudad">Ciudad:</label>
                    </td>
                    <td>
                    	<select name="ciudad" id="ciudad">
<option>[Seleccione...]</option>
                        </select>
                    </td>
                </tr>
                <tr>
                	<td align="right">
                    	<label for="fecha_nacimiento">Fecha de nacimiento:</label>
                  </td>
                  <td><input name="fecha_nacimiento" type="date" required></td>
                </tr>
                <tr>
                	<td align="right">
                    	<label for="tel_casa">Telf. Local:</label>
                    </td>
                    <td>
   <input name="tel_casa" type="text" size="30" required/>
                    </td>
                </tr>
                <tr>
                	<td align="right">
                    	<label for="tel_celular">Telf: Celular:</label>
                    </td>
                    <td><input name="tel_celular" type="text" size="30" required/>
                    </td>
                </tr>
                <tr>
                	<td height="44" align="right">
                    	<label for="correo">Email:</label>
                    </td>
                    <td>
                    	<input name="correo" type="email" value="@" size="30" required />
                    </td>
                </tr>
            </table><br>
            <td></td>
            <input type="hidden" name="MM_insert" value="form1">
        </form>
        </center>
        </div>
        </div>
        </div>
        </center></div>
    <center><h2 class="h2">Medicamentos</h2></center>
    <div>
    <?php $dbhost='localhost'; // Servidor
$dbusername='root'; // Nombre de usuario
$dbuserpass=''; // Contraseña
$dbname='proyecto'; // Nombre de la base de datos

$link=mysql_connect($dbhost,$dbusername,$dbuserpass);
mysql_select_db($dbname)or die('no se puede seleccionar la base de datos');  
?>


<center>
<?php
$resultado=mysql_query("SELECT * FROM medicamentos",$link);
echo"
<table border='1'id='mi_tabla' class='medicamentos' width='700px' border='1'>
<thead>
<tr>
<th>Seleccione</th>
<th>Medicamento</th>
<th>Presentacion</th>
<th>Max. Canje anual</th>
</tr>
</thead>";
echo "<tbody>";
//ojo aqui esta el bucle que mustra los datos
while ($campo= mysql_fetch_row($resultado)){
echo "<td><center><input name='' type='checkbox' value='' /></center></td>";
echo"<td>".$campo[2]."</td>";
echo"<td>".$campo[3]."</td>";
echo"<td><center>".$campo[8]."</center></td>";
echo"</tr>";
}
echo"</tbody>";
echo "</table>";
?>
</center>
</div>
</div>
    </div>
    <br />
    <center><input type="submit" class="submit" id="submit" value="Registrarme"></input></center>
</body>
</html>
  #2 (permalink)  
Antiguo 05/04/2013, 14:33
Avatar de catpaw  
Fecha de Ingreso: mayo-2010
Ubicación: xalapa
Mensajes: 856
Antigüedad: 13 años, 11 meses
Puntos: 23
Respuesta: Insertar datos en tabla relacionada mediante checkbox

tienes que guardar primero en la tabla pacientes los datos del paciente obviamente, despues del insert recupera con mysql_insert_id el id del paciente que acabas de insertar y con ese ya insertas la relacion id-paciente de la tabla paciente con el id-paciente de la tabla medicamentos.

suerte
  #3 (permalink)  
Antiguo 08/04/2013, 07:09
Avatar de IIZeusII  
Fecha de Ingreso: febrero-2013
Ubicación: El Olympo
Mensajes: 8
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Insertar datos en tabla relacionada mediante checkbox

Hola catpaw Gracias por responder. Investigare sobre el uso del mysql_insert_id y probare como me has indicado y te cuento como me fue.

Saludos!!

Etiquetas: checkbox, formulario, html, mediante, mysql, registro, 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 15:56.