Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Guardar formulario con datos ajax en MySql usando PHP

Estas en el tema de Guardar formulario con datos ajax en MySql usando PHP en el foro de Frameworks JS en Foros del Web. Hola! Estoy intentando guardar los datos de un formulario común y corriente, solo que hay 2 datos que vienen de MySql usando Ajax. formulario.php Cita: ...
  #1 (permalink)  
Antiguo 24/05/2010, 14:49
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Guardar formulario con datos ajax en MySql usando PHP

Hola!

Estoy intentando guardar los datos de un formulario común y corriente, solo que hay 2 datos que vienen de MySql usando Ajax.

formulario.php
Cita:
<input name="txtCodigoPostal" type="text" class="FormsInputs" id="txtCodigoPostal" size="5" />
<a href="javascript:codigoPostal();">Llenar datos</a></td>
</tr>
<tr>
<th colspan="2" valign="middle" bgcolor="#CCCCCC">COLONIA / DELEGACI&Oacute;N</th>
<td align="left" valign="middle"><div id="divColonias">
<select name="selColonia" class="FormsInputs" id="selColonia">
<option value="no-save">Escriba el C&oacute;digo postal</option>
</select>
<select name="selDelegacion" class="FormsInputs" id="selDelegacion">
<option value="-1" selected="selected">Escriba el C&oacute;digo postal</option>
</select>
</div></td>
Al dar clic en "Llenar datos" se ejecuta la función codigoPostal() ubicada en:

GeneraColonias.js
Cita:
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 codigoPostal(){
divResultado = document.getElementById('divColonias');
txtCodigoPostal = document.getElementById('txtCodigoPostal').value; //region

//referencia el objeto ajax, damos el metodo del objeto y el archivo
ajax = objetoAjax();
ajax.open("POST", "GeneraColonias.php", true);

ajax.onreadystatechange = function(){
if (ajax.readyState==4){
divResultado.innerHTML = ajax.responseText
}
}
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
//enviamos el valor correspondiente al archivo anteriormente referenciado
ajax.send("txtCodigoPostal="+txtCodigoPostal)
}
En formulario.php hay un div llamado "divColonias", al ejecutar la función, el contenido del mismo se sustituye por el contenido de:

GeneraColonias.php
Código PHP:
<?php
include("../cf/Connections/cf_manual_cp.php");
$txtCodigoPostal=$_REQUEST['txtCodigoPostal'];

$sql mysql_query("SELECT * FROM Asentamiento WHERE codigoPostal LIKE  '$txtCodigoPostal%' order by asentamientoNombre",$cn);
$sql2 mysql_query("SELECT * FROM Asentamiento WHERE codigoPostal LIKE  '$txtCodigoPostal%' order by asentamientoNombre",$cn);
?> 
<select name="selColonia" id="selColonia" class="FormsInputs">
<?php 
                
while ($damefila=mysql_fetch_array($sql))
                {
                
?>
                <option value="<?php echo $damefila['id_asentamiento']; ?>"><?php echo htmlentities (trim($damefila['asentamientoTipo'])); ?> <?php echo htmlentities (trim($damefila['asentamientoNombre'])); ?> no guarda.</option>
                <?php }?>
</select>
<select name="selDelegacion" id="selDelegacion" class="FormsInputs" >
<?php 
                
while ($damefila=mysql_fetch_array($sql2))
                {
                
?>
                <option value="<?php echo $damefila['id_asentamiento']; ?>"><?php echo htmlentities (trim($damefila['AsentamientoDelegacion'])); ?></option>
                <?php }?>
</select>
Hasta aquí todo funciona a la perfección, se despliegan los nombres de colonia y delegación perfectamente, el problema es que cuando guardo el formulario en MySql no se guardan los datos en la base. Cabe mencionar que el formulario es de casi 50 campos, todos los demás se guardan perfectamente pero los provenientes del Ajax No.

Gracias por su valiosa ayuda!
  #2 (permalink)  
Antiguo 05/05/2011, 08:34
Avatar de mft
mft
 
Fecha de Ingreso: abril-2003
Ubicación: *
Mensajes: 239
Antigüedad: 21 años, 7 meses
Puntos: 4
Mensaje Respuesta: Guardar formulario con datos ajax en MySql usando PHP

Hola, yo estoy teniendo el mismo problema.....lograste resolverlo??? como pudiste guardar esos valores que vienen de ajax???

Ojalá puedas poner como lograste resolverlo. Saludos!!
__________________
Lo que haces, determina lo que eres.
Saludos!
  #3 (permalink)  
Antiguo 05/05/2011, 14:00
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: Guardar formulario con datos ajax en MySql usando PHP

Debería guardarse correctamente, solo basta un submit. Se puede ver online? o todo el codigo de formulario.php?
  #4 (permalink)  
Antiguo 05/05/2011, 16:43
 
Fecha de Ingreso: noviembre-2010
Ubicación: Barranca
Mensajes: 41
Antigüedad: 14 años
Puntos: 1
Respuesta: Guardar formulario con datos ajax en MySql usando PHP

hola.. te recomiendo usar algun framwork.. usa JQuery es bien sencillo y te evitas de escribir mucho codigo...

facilmente en jquery puedes hacer algo asi

$.ajax ({

type: 'POST',
data: $('#id_de_tu_formulario').serialize(),
url: 'tuphp.php',
success: function(data){
//lo que vas a hacer cuando te retorne la llamada ajax
// data es el dato k retorna el servidor .
}

});

Etiquetas: ajax, mysql, php, formulario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:49.