Foros del Web » Programando para Internet » PHP »

Seleccionar un campo y mandar a insertar otro

Estas en el tema de Seleccionar un campo y mandar a insertar otro en el foro de PHP en Foros del Web. Hola que tal soy nuevo en esto y espero que me ayuden el problema es este tengo 2 tablas una llamada doctores y otra chequeos, ...
  #1 (permalink)  
Antiguo 02/01/2005, 11:40
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 12 años, 11 meses
Puntos: 0
Seleccionar un campo y mandar a insertar otro

Hola que tal soy nuevo en esto y espero que me ayuden el problema es este tengo 2 tablas una llamada doctores y otra chequeos, doctores tiene como campos PK clave_doctor, nombre doctor y chequeos tiene varios y tiene una llave foranea clave_doctor_ce lo que quiero hacer es que en el modulo de insertar chequeos relleno todos los campos como edad del paciente,temperatura,frecuencia cardiaca, y pongo a la vista el nombre del doctor que lo atendio como una caja de esas que le das una pestañita aparecen abajo los nombres.
Bien lo que quiero es que seleccione un nombre de doctor pero mandar al form en forma hidden la clave_doctor del mismo para insertar esa clave en la tabla chequeos en clave_doctor_ce.
Estoy usando usando un codigo pero no me funciona no me envia el valor

<?php
$resultado=mysql_query("select * from doctores ",$link);
echo '<select name="clave_doctor_ce">';
//Mostramos los registros en forma de menú desplegable
while ($row2=mysql_fetch_array($resultado))
{
echo '<option>'.$row2[1];
}
$clavedoc='<option>'.$row2[0];
?>
</select>

Mas abajo antes del boton de submit pongo esto
<?
printf("<input type=\"hidden\"id=\"clave_doctor_ce\"name=\"clave_ doctor_ce\" value=$clavedoc");
?>

Luego en en otro script lo recibo asi

$clave_doc=$_POST['clave_doctor_ce'];
  #2 (permalink)  
Antiguo 02/01/2005, 11:50
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 9 meses
Puntos: 771
Hola JAMER. Bienvenido al foro.

Así por encima veo que:

- Has puesto el mismo nombre a dos controles (el select y el hidden)
- No veo que hayas puesto ningún formulario
- Convendría que cerraras las etiquetas de los opciones del select
echo '<option>'.$row2[1].'</option>';
- El value del campo hidden debería ir también entrecomillador, porque si tiene más de una letra solo te cogerá la primera.

Saludos,
  #3 (permalink)  
Antiguo 02/01/2005, 12:23
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 12 años, 11 meses
Puntos: 0
Bueno JavierB realize algunas correciones que me dices pero no me a funcionado todavia tratare de ser un poco mas detallado

este script se llama chequeospacientes.php


<form name="form1" method="post" action="procesarcheq.php">

<?php
$resultado=mysql_query("select * from doctores ",$link);
echo '<select name="nombre_doctor">';
//Mostramos los registros en forma de menú desplegable
while ($row2=mysql_fetch_array($resultado))
{
echo '<option>'.$row2[1].'</option>';
}
$clavedoc='<option>'.$row2[0];
?></select>
&nbsp;</td>

</tr>
//aqui hay lineas de codigo html que exclui
<?
printf("<input type=\"hidden\" id=\"clave_doctor_ce\" name=\"clave_doctor_ce\" value=$clavedoc");
?>

En este ultimo printf la comilla no es del value si no es la del cierre del printf, tengo entendido que para mandar variables php en el value no llevan ni comillas ni comillas simples o me equivoco ademas el valor de clavedoc se supone que es un numero.

El script procesarcheq.php recibe esto asi

<?php
include("conexbd.phtml");
$link=Conectarse();
$temp=$_POST['Temperatura_actual'];
$frecard=$_POST['Frecuencia_card'];
$frecret=$_POST['Frecuencia_ret'];
$glucosa=$_POST['Glucosa'];
$edad=$_POST[Edad];
$hora=$_POST['Hora'];
$fecha=$_POST['Fecha'];
$clave_doc=$_POST['clave_doctor_ce'];
$clave_ce=$_POST[clave_paciente_ce];
mysql_query("insert into chequeos (Clave_chequeo,Temperatura_actual,Frecuencia_Cardi aca,Frecuencia_Ritmica,Glucosa,Edad,Hora_chequeo,F echa_cons,clave_doctor_ce,clave_paciente_ce) values ('','$temp','$frecard','$frecret','$glucosa',$edad ,'$hora','$fecha',$clave_doc,$clave_ce)",$link);
mysql_close($link);
?>

Todos los demas campos si los recibe bien pero $clave_doc no
  #4 (permalink)  
Antiguo 03/01/2005, 00:56
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 12 años, 11 meses
Puntos: 0
Alguien sabe como donde se guarda el valor en una lista desplazable select? en el name o en el value, alguien podria pasarme como funciona una lista select pero dentro de un printf o echo de php por favor es que no encuentro nada y estoy desesperado
  #5 (permalink)  
Antiguo 03/01/2005, 07:41
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En una lista "desplazable" (select de HTML) en tu "name" que defines viaja el valor del "option" (y su value) seleccionado.

Ese campo "hidden" que usas .. no sé realmente para que lo usas .. pero si es para pasar el valod e tu "option" seleccionado .. no tiene sentido .. Esto tampoco: $clavedoc='<option>'.$row2[0];



Código PHP:
echo "<option value=\"".$row[0]."\">".$row2[1]."</option>\n"
y en PHP recibiras tu valor en $_POST['nombre_doctor']

Fijate en el HTML que generas y revisa si es lo que esperas .. es decir .. lo mismo que harías si no usases PHP por médio y lo tuvieras que hacer a mano en HTML completametne.. .

Un saludo,
  #6 (permalink)  
Antiguo 03/01/2005, 09:25
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 12 años, 11 meses
Puntos: 0
Gracias Cluster lo he hecho como tu has dicho y me a funcionado me has salvado la vida
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 07:55.