Hola Gente, Saludos!
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<script src="funciones-ajax.js" type="text/javascript"></script>
Codigo
<br/><input id="codigo" type="text" /><br/><br/> Producto
<br/><input id="producto" type="text" /><br/><br/> Descripcion
<br/><input id="descripcion" type="text" /><br/><br/> Precio
<br/><input id="precio" type="text" /><br/><br/> <input type="button" onclick="altaDatos();" value="Enviar"/>
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");
}
}
?>
[/PHP]
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']);
?>
consulta.php
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>';
?>
eliminar.php
Código PHP:
<?php
require ('core/core.php');
$producto = new Producto();
$productos = $producto->eliminarproductos($_REQUEST['codigo']);
?>
modificar.php
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();
?>
modificar2.php
Código PHP:
<?php
require ('core/core.php');
$producto = new Producto();
$productos = $producto->updateproductos($_POST['codigo'],$_POST['producto'],$_POST['descripcion'],$_POST['precio']);
?>