despues de estar liado con este tema todo el día no logro saber lo que hago mal. Tengo un formulario que debería recoger las variables y pasarlas mediante POST a un archivo php que realiza un input en la BD. La consulta php funciona perfectamente de hecho quería implementar AJAX para que la pagina no recargara... :(
os pongo el codigo por si alquien sabe como ayudarme.
Mil gracias de antemano.
Este es el form en html.
Código HTML:
<form class="form-inline" name="company" method="POST" enctype="multipart/form-data" action="" onsubmit="EnviarDatos('mapping.php'); return false"> <?php $coamapID= uniqid(rand(),true); ?><input type="hidden" value="<?php echo "$coamapID" ?>" name="coamapID" /> <div class="form-group"> <select class="form-control" name="coasubID" id="coasub"> <option selected value="">Local Accounts</option> <?php $subsidiaryID=$_GET["subsidiaryID"]; $groupID=$_GET["groupID"]; $sql ="select * from coasub where subsidiaryID='$subsidiaryID'"; $resultado=mysql_query($sql) or die( mysql_error() ); while ($row =mysql_fetch_array($resultado)){ echo " <option value=".$row['coasubID'].">".$row['coasubID']." ".$row['accname']."</option>"; } echo "</select>"; ?> <input type="hidden" value="<?php echo "$subsidiaryID";?>" name="subsidiaryID"> <select class="form-control" name="coagroupID" id="coagroup"> <option selected value="">Consolidation Accounts</option> <?php $subsidiaryID=$_GET["subsidiaryID"]; $sql ="select * from groups,SUBSIDIARY where SUBSIDIARY.subsidiaryID='$subsidiaryID'"; $resultado=mysql_query($sql) or die( mysql_error() ); $row=mysql_fetch_array($resultado); $groupID=$row['groupID']; ?> <?php $sql ="select * from coagroup where groupID='$groupID'"; $resultado=mysql_query($sql) or die( mysql_error() ); while ($row =mysql_fetch_array($resultado)){ echo " <option value=".$row['coagroupID'].">".$row['coagroupID']." ".$row['accnamegroup']."</option>"; } echo "</select>"; ?> <input type="hidden" value="<?php echo "$groupID";?>" name="groupID"> <button type="submit" name="enviar" class="btn btn-warning">Link Accounts</button> </form> </div> </div> <div id="resultado">
Código:
y la consulta php que funciona bien:function objetoAjax(){ var xmlhttp=false; try { xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); } catch (e) { try { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch (E) { xmlhttp = false; } } if (!xmlhttp && typeof XMLHttpRequest!='undefined') { xmlhttp = new XMLHttpRequest(); } return xmlhttp; } function enviarDatos(){ //Recogemos los valores introducimos en los campos de texto coamapID = document.formulario.coamapID.value; subsidiaryID = document.formulario.subsidiaryID.value; groupID = document.formulario.groupID.value; coasubID = document.formulario.coasubID.value; coagroupID = document.formulario.coagroupID.value; //Aquí será donde se mostrará el resultado resultado = document.getElementById('resultado'); //instanciamos el objetoAjax ajax = objetoAjax(); //Abrimos una conexión AJAX pasando como parámetros el método de envío, y el archivo que realizará las operaciones deseadas ajax.open("POST", "mapping.php", true); //cuando el objeto XMLHttpRequest cambia de estado, la función se inicia ajax.onreadystatechange = function() { //Cuando se completa la petición, mostrará los resultados if (ajax.readyState == 4){ //El método responseText() contiene el texto de nuestro 'consultar.php'. Por ejemplo, cualquier texto que mostremos por un 'echo' resultado.value = (ajax.responseText) } } //Llamamos al método setRequestHeader indicando que los datos a enviarse están codificados como un formulario. ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviamos las variables a 'consulta.php' ajax.send("&coamapID="+coamapID+"&subsidiaryID="+subsidiaryID+"&groupID="+groupID+"&coasubID="+coagroupID") }
Código PHP:
<?php
include('conexion.php');
$coamapID=$_POST["coamapID"];
$subsidiaryID=$_POST["subsidiaryID"];
$groupID=$_POST["groupID"];
$coasubID=$_POST["coasubID"];
$coagroupID=$_POST["coagroupID"];
$query = "INSERT INTO coamap (coamapID,coagroupID,coasubID,groupID,subsidiaryID) VALUES ('$coamapID','$coagroupID','$coasubID','$groupID','$subsidiaryID')";
mysql_query($query) or die(mysql_error());
$_SESSION["usuarios"]=$row['subsidiaryID'];
print "<script>";
print " self.location='dashboard_a.php?subsidiaryID=$subsidiaryID'";
print "</script>";
?>