Hola buenas,
Estoy haciendole una tienda online a un amigo y llevo dias ya con un problemilla que no se solucionar:
Tengo que actualizar un registro, para ello defino sus campos con entradas de texto mas 3 categorias en menu desplegable y dependientes entre si.
Siguiendo un tuto de AJAX logro tener los tres desplegables funcionando pero cuando le doy a actualizar registro no se me actualiza nada en la BD.
ALGUIEN SABE PORQUÉ NO SE ACTUALIZA Y/O COMO SOLUCIONARLO?
aqui dejo mi pagina de actualizar registro y uno de los dos ajax asociados:
////////////////////
<?php require_once('../Connections/conexionproductos.php'); ?>
<script>
//hacer que funcione con diferentes navegadores
function requerir(){
try{
req=new XMLHttpRequest();
}catch(err1){
try{
req=new ActiveXObject("Microsoft.XMLHTTP");
}catch(err2){
try{
req=new ActiveXObject("Msxml2.XMLHTTP");
}catch(err3){
req= false;
}
}
}
return req;
}
var peticion=requerir();
function llamarAjaxGETpro(){
var aleatorio=parseInt(Math.random()*999999999);
valor=document.getElementById("catH").value;
var url="categoriaH1.php?valor="+valor+"&r="+aleatorio ;
peticion.open("GET",url,true);
peticion.onreadystatechange =respuestaAjaxpro;
peticion.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
peticion.send(null);
}
function llamarAjaxGETdis(){
var aleatorio=parseInt(Math.random()*999999999);
valor=document.getElementById("categoriaH1").value ;
var url="categoriaH2.php?valor="+valor+"&r="+aleatorio ;
peticion.open("GET",url,true);
peticion.onreadystatechange =respuestaAjaxdis;
peticion.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
peticion.send(null);
}
function respuestaAjaxpro(){
if(peticion.readyState==4){
if(peticion.status==200){
//alert(peticion.responseText);
document.getElementById("catH1").innerHTML=peticio n.responseText;
}else{
alert("ha ocurrido un error"+peticion.statusText);
}
}
}
function respuestaAjaxdis(){
if(peticion.readyState==4){
if(peticion.status==200){
//alert(peticion.responseText);
document.getElementById("catH2").innerHTML=peticio n.responseText;
}else{
alert("ha ocurrido un error"+peticion.statusText);
}
}
}
</script>
<?php
(...)
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE tblproducto SET strProducto=%s, strSEO=%s, dblPrecio=%s, intEstado=%s, intCategoriaH=%s, intCategoriaH1=%s, intCategoriaH2=%s, strImagen=%s, strDescripcion=%s WHERE idProductos=%s",
GetSQLValueString($_POST['strProducto'], "text"),
GetSQLValueString($_POST['strSEO'], "text"),
GetSQLValueString($_POST['dblPrecio'], "double"),
GetSQLValueString($_POST['intEstado'], "int"),
GetSQLValueString($_POST['intCategoriaH'], "text"),
GetSQLValueString($_POST['intCategoriaH1'], "text"),
GetSQLValueString($_POST['intCategoriaH2'], "text"),
GetSQLValueString($_POST['strImagen'], "text"),
GetSQLValueString($_POST['strDescripcion'], "text"),
GetSQLValueString($_POST['idProductos'], "int"));
mysql_select_db($database_conexionproductos, $conexionproductos);
$Result1 = mysql_query($updateSQL, $conexionproductos) or die(mysql_error());
$updateGoTo = "productos_lista.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
$colname_consulta_productos = "0";
if (isset($_GET['recordID'])) {
$colname_consulta_productos = $_GET['recordID'];
}
mysql_select_db($database_conexionproductos, $conexionproductos);
$query_consulta_productos = sprintf("SELECT * FROM tblproducto WHERE idProductos = %s", GetSQLValueString($colname_consulta_productos, "int"));
$consulta_productos = mysql_query($query_consulta_productos, $conexionproductos) or die(mysql_error());
$row_consulta_productos = mysql_fetch_assoc($consulta_productos);
$totalRows_consulta_productos = mysql_num_rows($consulta_productos);
mysql_select_db($database_conexionproductos, $conexionproductos);
$query_consultaH = "SELECT * FROM tblcategoriah ORDER BY tblcategoriah.strSiglas ASC";
$consultaH = mysql_query($query_consultaH, $conexionproductos) or die(mysql_error());
$row_consultaH = mysql_fetch_assoc($consultaH);
$totalRows_consultaH = mysql_num_rows($consultaH);
?>
(...)
<h1>Editar producto</h1>
<p> </p>
<p> </p>
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table align="center">
<tr valign="baseline">
<td nowrap="nowrap" align="right">Producto:</td>
<td><input type="text" name="strProducto" value="<?php echo htmlentities($row_consulta_productos['strProducto'], ENT_COMPAT, 'iso-8859-1'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">SEO:</td>
<td><input type="text" name="strSEO" value="<?php echo htmlentities($row_consulta_productos['strSEO'], ENT_COMPAT, 'iso-8859-1'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Precio:</td>
<td><input type="text" name="dblPrecio" value="<?php echo htmlentities($row_consulta_productos['dblPrecio'], ENT_COMPAT, 'iso-8859-1'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Estado:</td>
<td><select name="intEstado">
<option value="1" <?php if (!(strcmp(1, htmlentities($row_consulta_productos['intEstado'], ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Activo</option>
<option value="0" <?php if (!(strcmp(0, htmlentities($row_consulta_productos['intEstado'], ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>>Inactivo</option>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Categoría H:</td>
<td><div id="dep">
<select name="catH" id="catH" onChange="llamarAjaxGETpro()" >
<option> Seleccione Categoría H </option>
<?php
do {
?>
<option value="<?php echo $row_consultaH['strSiglas']?>" <?php if (!(strcmp($row_consultaH[ 'strSiglas'], htmlentities($row_consulta_productos['intCategoriaH'], ENT_COMPAT, 'iso-8859-1')))) {echo "SELECTED";} ?>><?php echo $row_consultaH['strDescripcion']?></option>
<?php
} while ($row_consultaH = mysql_fetch_assoc($consultaH));
?>
</select></div></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Categoría H1:</td>
<td> <div id="catH1">
<select disabled="disabled">
<option> Seleccione primero Categoría H </option>
</select></div></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Categoría H2:</td>
<td><div id="catH2">
<select disabled="disabled">
<option> Seleccione primero Categoría H1</option>
</select></div></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Imagen:</td>
<td><input type="text" name="strImagen" value="<?php echo htmlentities($row_consulta_productos['strImagen'], ENT_COMPAT, 'iso-8859-1'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Descripción:</td>
<td><input type="text" name="strDescripcion" value="<?php echo htmlentities($row_consulta_productos['strDescripcion'], ENT_COMPAT, 'iso-8859-1'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><input type="submit" value="Actualizar Producto" /></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="idProductos" value="<?php echo $row_consulta_productos['idProductos']; ?>" />
</form>
<p> </p>
<?php
mysql_free_result($consulta_productos);
mysql_free_result($consultaH);
?>
//////////
<?php require_once('../Connections/conexionproductos.php'); ?>
<?php
$valor=$_GET['valor'];
$re=mysql_query("SELECT * FROM tblcategoriah1 WHERE strSiglasH = '$valor'");
echo'<select id="categoriaH1" onchange=llamarAjaxGETdis()>';
echo'<option >Seleccione Categoría H1</option>';
while($f=mysql_fetch_array($re)){
echo'<option value="'.$f['strDescripcion'].'">'.$f['strDescripcion'].'</option>';
}
echo'</select>';
?>