De ante-mano pido excusas si este no es el lugar correcto para mi pregunta (lo digo porqué tiene que ver con JavaScript)
Estoy en medio de un proyecto en el que uso PHP, MySQL, un poco de AJAX para las consultas y validaciones de JavaScript y me encontré con un problema a la hora ingresar datos en la tabla...
Les dejo el código...
Código HTML:
<?php include ("conexion.php"); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>PHP</title> <script src="ajax.js" type="text/javascript"></script> <script src="validaciones.js" type="text/javascript"></script> <script language="javascript"> function mis_datos(){ var key=window.event.keyCode; if (key < 48 || key > 57){ window.event.keyCode=0; }} </script> <script language="javascript"> function soloNumeros(evt){ if(window.event){// IE keynum = evt.keyCode; }else{ keynum = evt.which; } if(keynum>47 && keynum<58){ return true; }else{ return false; }} </script> <script language="javascript"> function soloLetras(evt){ if(window.event){// IE keynum = evt.keyCode; }else{ keynum = evt.which; } if(keynum>47 && keynum<58){ return false; }else{ return true; }} </script> </head> <body> <link rel="icon" href="direccion de tu pagina/favicon.ico"> <form id="cuenta" name="cuenta" method="post" action="administrar.php"> <div id="consulta"> <table width="247" border="3" align="center"> <tr> <td colspan="2"><center>REGISTRO</center></td> </tr> <tr> <td>Piso</td> <td> <select name="piso"> <option name="0">Seleccione...</option> <option name="PP">PISO PRINCIPAL</option> <option name="PISO 1">PISO 1</option> <option name="PISO 2">PISO 2</option> <option name="PISO 3">PISO 3</option> <option name="PISO 4">PISO 4</option> <option name="PISO 5">PISO 5</option> </select> </td> </tr> <tr > <td>Sector</td> <td> <select name="sector"> <option name="0">Seleccione...</option> <option name="POBLADO">POBLADO</option> <option name="AGUACATALA">AGUACATALA</option> <option name="BALSOS">BALSOS</option> <option name="LOMAS">LOMAS</option> </select> </td> </tr> <tr > <td>N° Local</td> <td><input name="txtlocal" type="text" value=""/></td> </tr> <tr> <td>Nombre</td> <td><input name="txtnombre" type="text" value=""/></td> </tr> <tr> <td>Teléfono</td> <td><input name="txttelefono" type="text" value=""/></td> </tr> <tr> <td>Clasificación</td> <td> <select name="clasificacion"> <option name="0">Seleccione...</option> <option name="RESTAURANTE-BAR">RESTAURANTE-BAR</option> <option name="PRODUCTOS COSMÉTICOS">PRODUCTOS COSMÉTICOS</option> <option name="BAR">BAR</option> <option name="HELADOS">HELADOS</option> <option name="CAFÉ">CAFÉ</option> <option name="BANCO">BANCO</option> <option name="CALZADO MASCULINO">CALZADO MASCULINO</option> <option name="CAFÉ BAR">CAFÉ BAR</option> <option name="REPOSTERÍA">REPOSTERÍA</option> <option name="ACCESORIOS">ACCESORIOS</option> <option name="JOYERÍA">JOYERÍA</option> <option name="SUPERMERCADO">SUPERMERCADO</option> <option name="CONCESIONARIO">CONCESIONARIO</option> <option name="ÓPTICA">ÓPTICA</option> <option name="ROPA INFANTIL">ROPA INFANTIL</option> <option name="DROGUERÍA">DROGUERÍA</option> <option name="LIBRERÍA">LIBRERÍA</option> <option name="ROPA">ROPA</option> <option name="CALZADO FEMENINO">CALZADO FEMENINO</option> <option name="ROPA FEMENINA">ROPA FEMENINA</option> <option name="ROPA MASCULINA">ROPA MASCULINA</option> <option name="CALZADO">CALZADO</option> <option name="ROPA DEPORTIVA">ROPA DEPORTIVA</option> <option name="PIJAMAS">PIJAMAS</option> <option name="BOLSOS Y ACCESORIOS">BOLSOS Y ACCESORIOS</option> <option name="CAJERO">CAJERO</option> <option name="TIENDAS POR DEPARTAMENTO">TIENDAS POR DEPARTAMENTO</option> <option name="COLCHONES">COLCHONES</option> </select> </td> </tr> <tr> <td>NIT</td> <td><input name="txtnit" type="text" value=""/></td> </tr> <tr> <td>Razón Social</td> <td><input name="txtrazon" type="text" value=""/></td> </tr> <tr> <td>Marcas</td> <td><input name="txtmarcas" type="text" value=""/></td> </tr> <tr> <td>Comentarios</td> <td><textarea name="txtcomentarios" ></textarea></td> </tr> <tr> <td colspan=2 align=center> <input type="button" name="btnagregar" id="btnagregar" value="Agregar" onClick="Validar_registro('agregar')" /> <input type="hidden" name="opcion" id="opcion" /> </td> </tr> </table> </div> <div id="mensaje"></div> </form> <div id="cuerpo"> </div> </body> </html>
Código:
Y este es el PHP con el que ingreso los datos:// JavaScript Document function Validar_registro(opcion) { document.cuenta.opcion.value=opcion; if (document.cuenta.piso.selectedIndex!=0) { if(document.cuenta.sector.selectedIndex!=0) { if (document.cuenta.txtlocal.value.length !=0) { if(document.cuenta.txtnombre.value.length !=0) { if(document.cuenta.txttelefono.value.length !=0) { if(document.cuenta.clasificacion.selectedIndex!=0) { if(document.cuenta.txtnit.value.length !=0) { if(document.cuenta.txtrazon.value.length !=0) { if(document.cuenta.txtmarca.value.length !=0) { //document.cuenta.submit(); piso=document.cuenta.piso.selectdIndex; sector=document.sector.piso.selectdIndex; local=document.cuenta.txtlocal.value; nombre=document.cuenta.txtnombre.value; telefono=document.cuenta.txttelefono.value; clasificacion=document.clasificacion.selectdIndex; nit=document.cuenta.txtnit.value; razon=document.cuenta.txtrazon.value; marca=document.cuenta.txtmarca.value; comentarios=document.cuenta.txtcomentarios.value; ajax_consulta=document.getElementById('mensaje'); ajax=Ajax(); ajax.open("POST","administrar.php",true); ajax.onreadystatechange=function() { if(ajax.readyState==4) { ajax_consulta.innerHTML = ajax.responseText; } } ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send("piso="+piso+"§or="+sector+"&txtlocal="+local+"&txtnombre="+nombre+"&txttelefono="+telefono+"&clasificacion="+clasificacion+"&txtnit="+nit+"&txtrazon="+razon+"&txtmarca="+marca+"&txtcomentarios="+comentarios+"&opcion="+opcion+"&tiempo="+ new Date().getTime()); } else { alert("Ingrese la(s) marca(s) que maneja el local"); } } else { alert("Ingrese la razón social del local"); } } else { alert("Ingrese el NIT del local"); } } else { alert("Seleccione la clasificación del local"); } } else { alert("Ingrese el teléfono del Local"); } } else { alert("Ingrese el nombre del local "); } } else { alert("Ingrese el número del local"); } } else { alert("Seleccione el sector en el que se encuentra el local"); } } else { alert("Seleccione el piso en el que se encuentra el local"); } }
Código PHP:
<?php
include("conexion.php");
$piso=$_POST["piso"];
$sector=$_POST["sector"];
$numero_local=$_POST["txtlocal"];
$nombre=$_POST["txtnombre"];
$telefono=$_POST["txttelefono"];
$clasificacion=$_POST["txtclasificacion"];
$nit=$_POST["txtnit"];
$razon_social=$_POST["txtrazon"];
$marcas=$_POST["txtmarcas"];
$comentarios=$_POST["txtcomentarios"];
if ($opcion=="agregar")
{
$query = ("INSERT INTO listado (piso, sector, numero_local, nombre, telefono, clasificacion, nit, razon_social, marcas, comentarios) values ('$piso','$sector','$numero_local','$nombre','$telefono','$clasificacion','$nit','$razon_social','$marcas','$comentarios');");
mysql_query($query);
print "El local se registro exitosamente";
?>
Saludos desde Medellín, Colombia!