Tengo un problema al hacer un INSERT a la BD en el que tengo un menú desplegable. Os cuento.
He puesto un desplegable en un form para insertar una cita en mi BD y en el desplegable aparecen todos los clientes mostrando apellidos, nombre. Al hacer el insert siempre me guarda en la BD el mismo nombre y apellidos. Ademas en la tabla tengo un campo que se llama idNombre donde debo pasar el id del cliente que selecciono en el menú desplegable.
El hecho es que me hace el INSERT pero siempre me inserta el primer cliente, inserta bien los campos pero siempre los datos del primero.
Les paso el código a ver si me pueden echar una mano con esto.
Se que hace tiempo lo hice pero me falla la memoria ahora mismo y no encuentro respuesta.
EL FORM
Código HTML:
Ver original
<form action="<?php echo $row_Desplegable_clientes['']; ?>" method="post" name="form9" id="form9"> <table align="center"> <tr valign="baseline"> <?php do { ?> <?php $apellidos=$row_Desplegable_clientes['txtApellidos']; $nombre=$row_Desplegable_clientes['txtNombre']; ?> <?php } while ($row_Desplegable_clientes = mysql_fetch_assoc($Desplegable_clientes)); $rows = mysql_num_rows($Desplegable_clientes); if($rows > 0) { mysql_data_seek($Desplegable_clientes, 0); $row_Desplegable_clientes = mysql_fetch_assoc($Desplegable_clientes); } ?> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> </tr> <tr valign="baseline"> <td> <input type="submit" value="Insertar registro" /> </td> </tr> </table> <input type="hidden" name="idNombre" value="<?php echo $row_Desplegable_clientes['idCliente']; ?>" /> <input type="hidden" name="txtNombre" value="<?php echo $row_Desplegable_clientes['txtNombre']; ?>" /> <input type="hidden" name="txtApellidos" value="<?php echo $row_Desplegable_clientes['txtApellidos']; ?>" /> <input type="hidden" name="MM_insert" value="form9" /> </form>
EL INSERT
Código PHP:
Ver original
$insertSQL = sprintf("INSERT INTO Citas_tbl (idCita, txtNombre, txtApellidos, txtTratamiento, txtComentario, datDia, txtCita, idNombre) VALUES (%s, %s, %s, %s, %s, %s, %s, %s)", GetSQLValueString($_POST['idCita'], "int"), GetSQLValueString($_POST['txtNombre'], "text"), GetSQLValueString($_POST['txtApellidos'], "text"), GetSQLValueString($_POST['txtTratamiento'], "text"), GetSQLValueString($_POST['txtComentario'], "text"), GetSQLValueString($_POST['datDia'], "date"), GetSQLValueString($_POST['txtCita'], "text"), GetSQLValueString($_POST['idNombre'], "int"));
Yo he estado dándole un montón de vueltas porque el error creo que debe estar en el menú, que estoy mostrando dos campos (apellidos, nombre) y al hacer el INSERT como que no encuentra los campos por separado y lo hace mal.
Aunque si que guarda los apellidos en los apellidos, el nombre en el nombre, y el idCliente en el idNombre .... pero con los valores del primer cliente siempre.
Muchas gracias por adelantado. Estaré conectado por aqui.