Buenas,
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:
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")
}
y la consulta php que funciona bien:
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>";
?>