Hola, tengo una página con una forma en la que se ingresan códigos que si no están el catalogo los inserta en una tabla de mysql, pero si ya están quisiera que me avise y ponga los datos en la forma... Quiero hacer un script que haga el select de acuerdo al valor de document. Form. Código, pero no tengo la menor idea de como hacer un query dentro del script, ¿alguna idea?
1 Respuesta
Respuesta de markspiner
1
1
markspiner, Amplios conocimientos en la enseñanza y desarrollos a nivel...
Primeramente debes entender que la única forma de consultar los datos es pasándola información que se quiere buscar desde el script "formulario" al script que va a hacer la tarea de búsqueda o inserción del registro. Te he escrito un código simple para que lo puedas entender: Este sería el formulario "formulario.html". Acá se "piden" los datos que se pasaran a los otros scripts: <html> <head> <meta http-equiv="Expires" content="0"> <title>Pagina de Prueba</title> </head> <body bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0"> <p> <b>Este es el formulario 1: (Hace la busqueda)</b> <p> <form action="buscar.php" method="post"> Buscar Código: <input type="text" name="buscar"><input type="submit" value="Buscar"> </form> <p> <b>Este es el formulario 2: (Agrega el registro)</b> <p> <form action="agregar.php" method="post"> Buscar Código: <input type="text" name="codigo"><br>:<br>:<br><input type="submit" value="Agregar"> </form> </body> </html> Fíjate que tiene dos formularios, uno de ellos llama a "buscar.php" y el otro a "agregar.php". Ahora este es el script "buscar.php" llamado porel primer form: <html> : : etc <?php //------------------------------ script BUSCAR.PHP ------------ // Rutinas de conexion a la base de datos... // : // : $codigo = $_POST['buscar']; $sql = 'select * from tabla where codigo = '. $codigo; $qry = mysql_query($sql); if ($rs = mysql_fetch_object($qry)) { echo 'Codigo = '.$codigo. '<br>'; echo '<otro campo = ???? <br>'; echo '<otro campo = ???? <br>'; echo '<otro campo = ???? <br>'; // estos son otros campos a mostrar } ?> </html> Y este sería el de agregar (incluyendo una verificación de para descartar que ya exista): <html> : : etc <?php //------------------------------ script BUSCAR.PHP ------------ // Rutinas de conexion a la base de datos... // : // : $codigo = $_POST['codigo']; // $campo1 = $_POST['campo1']; // $campo2 = $_POST['campo2']; // : $sql = 'select * from tabla where codigo = '. $codigo; $qry = mysql_query($sql); if ($rs = mysql_fetch_object($qry)) // ya existe { echo 'Este código ya existe: <p>'; echo 'Codigo = '.$rs->codigo. '<br>'; echo '<otro campo = ???? <br>'; echo '<otro campo = ???? <br>'; echo '<otro campo = ???? <br>'; // estos son otros campos a mostrar } else // lo agrego... { $sql = 'insert into tabla (codigo, campo1, campo2, ...) values ('. $codigo.', valor1, valor2, ...)'; $qry = mysql_query($sql); echo 'El nuevo registro ha sido agregado...'; } ?> </html>
La idea no es que el Javascript "haga el query". Eso es imposible. Una forma de hacer eso es poniendo un <form> adicional en tu página el llamará otra página que se encargará de realizar la búsqueda por "código". Para el <form> que hace el ingreso. Si se trata de ingresar uno nuevo entonces debe mostrar un mensaje de "código ya existente". No sé si te ayude en algo la idea. De todas maneras te prepararé algo de código, pero debes indicarme qué lenguaje usas: ¿php?, ¿ASP? Si me lo indicas mi ayuda será más directa. Marco.