Estoy con un problema desde ayer, no puedo actualizar los registros y no se porque. El alta y la eliminación la realizo con éxito, pero no así la actualización. (Clic en editar no hace nada!) Lo que si, no pude traer la variable mediante post en el delete, la tuve que traer como request, y honestamente no se porque.
Index:
Código HTML:
Ver original
clase, productos.php
Código PHP:
producto.php
[PHP]<?php
class Producto{
private $db;
public function __construct(){
$this->db = new Database();
}
public function __destruct(){
$this->db=null;
}
public function getproductos(){
return $this->db->query("select * from productos order by codigo desc");
}
public function insertproductos($codigo,$producto,$descripcion,$precio){
$this->db->query("insert into productos (codigo, producto, descripcion, precio) values ($codigo, '$producto', '$descripcion', $precio)");
}
public function updateproductos($codigo,$producto,$descripcion,$precio){
$this->db->query("update productos set codigo = $codigo, producto = $producto, descripcion = $descripcion, precio = $precio where codigo = $codigo");
}
public function eliminarproductos($codigo){
$this->db->query("delete from productos where codigo = $codigo");
}
}
?>
funciones-ajax.js
Código Javascript:
Ver original
// JavaScript Document 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 mostrarDatos(){ //donde se mostrará el resultado de los productos divResultado = document.getElementById('resultado'); //instanciamos el objetoAjax ajax=objetoAjax(); //usamos el medoto POST //archivo que realizará la operacion consulta.php ajax.open("POST", "consulta.php",true); ajax.onreadystatechange=handler_usuario; ajax.send() function handler_usuario() { if (ajax.readyState==4) { //mostrar resultados de la consulta a la tabla de productos divResultado.innerHTML = ajax.responseText; } } } function altaDatos(){ //obtengo los valores de los campos de input del formulario codigo = document.getElementById('codigo').value; producto = document.getElementById('producto').value; descripcion = document.getElementById('descripcion').value; precio = document.getElementById('precio').value; //instanciamos el objetoAjax ajax=objetoAjax(); //usamos el medoto POST //archivo que realizará la operacion alta.php ajax.open("POST", "alta.php",true); ajax.onreadystatechange=handler_usuario; ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("codigo="+codigo+"&producto="+producto+"&descripcion="+descripcion+"&precio="+precio) function handler_usuario() { if (ajax.readyState==4) { //blanqueo los campos del formulario document.getElementById('codigo').value=''; document.getElementById('producto').value=''; document.getElementById('descripcion').value=''; document.getElementById('precio').value=''; //actualizo el listado de productos para mostrar el ultimo insertado mostrarDatos(); } } } function modificarDatos(){ //obtengo los valores de los campos de input del formulario codigo = document.modificar.codigo.value; producto = document.modificar.producto.value; descripcion = document.modificar.descripcion.value; precio = document.modificar.precio.value; //instanciamos el objetoAjax ajax=objetoAjax(); //usamos el medoto POST //archivo que realizará la operacion alta.php ajax.open("POST", "modificar2.php",true); ajax.onreadystatechange=handler_usuario; ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("codigo="+codigo+"&producto="+producto+"&descripcion="+descripcion+"&precio="+precio) function handler_usuario() { if (ajax.readyState==4) { //blanqueo los campos del formulario document.getElementById('codigo').value=''; document.getElementById('producto').value=''; document.getElementById('descripcion').value=''; document.getElementById('precio').value=''; //actualizo el listado de productos para mostrar el ultimo insertado mostrarDatos(); } } } function eliminarDatos(){ //obtengo los valores de los campos de input del formulario codigo = document.getElementById('codigo').value; //instanciamos el objetoAjax ajax=objetoAjax(); //usamos el medoto POST //archivo que realizará la operacion alta.php ajax.open("POST", "eliminar.php",true); ajax.onreadystatechange=handler_usuario; ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); //enviando los valores ajax.send("codigo="+codigo) function handler_usuario() { if (ajax.readyState==4) { //blanqueo los campos del formulario document.getElementById('codigo').value=''; //actualizo el listado de productos para mostrar el ultimo insertado mostrarDatos(); } } }
alta.php
Código PHP:
<?php
require ('core/core.php');
$producto = new Producto();
$productos = $producto->insertproductos($_POST['codigo'],$_POST['producto'],$_POST['descripcion'],$_POST['precio']);
?>
Código PHP:
<?php
require ('core/core.php');
echo '<table width="700" border=1>';
echo '<tr>
<td>Codigo</td>
<td>Producto</td>
<td>Descripcion</td>
<td>Precio</td>
</tr>';
$producto = new Producto();
$productos = $producto->getproductos();
foreach ($productos as $unproducto){
echo '<tr>
<td>'.$unproducto['codigo'].'</td>
<td>'.$unproducto['producto'].'</td>
<td>'.$unproducto['descripcion'].'</td>
<td>'.$unproducto['precio'].'</td>
<td><a href="modificar.php?codigo='. $unproducto['codigo'].'">Editar</a></td>
<td><a href="eliminar.php?codigo='. $unproducto['codigo'].'">Eliminar</a></td>
</tr>';
}
echo '</table>';
?>
Código PHP:
<?php
require ('core/core.php');
$producto = new Producto();
$productos = $producto->eliminarproductos($_REQUEST['codigo']);
?>
Código PHP:
<script src="funciones-ajax.js" type="text/javascript"></script>
</head>
<body>
<?php
$codigo = '';
$codigo = $_GET["codigo"];
$mysql=new mysqli("localhost","root","","carro_compras");
$registro=$mysql->query("select codigo, producto, descripcion, precio from productos where codigo='$codigo'") or
die($mysql->error);
if ($reg=$registro->fetch_array()){
?>
<div id="modificar">
Codigo <br/><input id="codigo" type="text" value="<?php echo $reg['codigo']; ?>"><br/><br/>
Producto <br/><input id="producto" type="text" value="<?php echo $reg['producto']; ?>"><br/><br/>
Descripcion <br/><input id="descripcion" type="text" value="<?php echo $reg['descripcion']; ?>"><br/><br/>
Precio <br/><input id="precio" type="text" value="<?php echo $reg['precio']; ?>"><br/><br/>
<input type="button" onclick="modificarDatos();" value="Enviar"/>
</div>
<?php
}
else{
echo 'No existe un artículo con dicho código';
}
$mysql->close();
?>
Código PHP:
<?php
require ('core/core.php');
$producto = new Producto();
$productos = $producto->updateproductos($_POST['codigo'],$_POST['producto'],$_POST['descripcion'],$_POST['precio']);
?>