Hola amigos estoy intentanto realizar un formulario donde se muestrar los productos y este formulario nos da la opcion, de modificar, eliminar o ver la descripcion completa del producto.
El modificar y ver descripcion funcionan a la perfeccion, pero no se porque cuando seleccion los checkbox de los productos a eliminar, siempre me retornar unicamente el primiero ahi les dejo el metodo que me retorna el producto
Código PHP:
<?php
function listarProductos(){
$db=$this->conectarse();
try{
$res = $db->query('Consulta', PDO::FETCH_LAZY);
$claseCelda = 'Celda2';
foreach ($res as $row) {
if ($claseCelda == 'Celda2'){
$claseCelda = 'Celda1';
}else{
$claseCelda = 'Celda2';
}
echo "<tr class='$claseCelda'>";
echo "<td align='center'>".$row['Codigo']."</td>";
echo "<td align='center'>".$row['Proveedor']."</td>";
echo "<td align='center'>".$row['Categoria']."</td>";
echo "<td align='center'>".$row['Producto']."</td>";
echo "<td align='center'>".$row['MedidaAproximada']."</td>";
echo "<td align='center'>".$row['PrecioUnitario']."</td>";
echo "<td align='center'>".$row['PrecioPorBulto']."</td>";
// tomo el Id, tomo me lo imprimen bien menos el checkbox
$id = $row['IdProducto'];
?>
<td><a href="javascript:loadPage('Content', 'Cont/nuevoProducto.php?Id=<?php echo $id; ?>&Accion=Modificar');">Modificar</a></td>
<?php
//// ACA es donde estaria el problema, ya que me carga todos con el primer Id que retorna la consul
echo "<td><input name='idsEliminar[]' id='idsEliminar[]' type='checkbox' value='$id' /></td>";
?>
<td><a href="javascript:loadPage('Content', 'Cont/descripcionProducto.php?Id=<?php echo $id; ?>');">Ver</a></td>
<?php
echo "</tr>";
}
}catch(PDOException $e){
$e->getMessage();
}
$this->desconectar($db);
}
Utilizo un funcion de AJAX para enviar por el metodo POST
Código HTML:
function cargaDivConPOSTEliminar(url, id_contenedor){
var pagina_requerida = false;
if (window.XMLHttpRequest) {// Si es Mozilla, Safari etc
pagina_requerida = new XMLHttpRequest();
}else if (window.ActiveXObject){ // pero si es IE
try {
pagina_requerida = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e){ // en caso que sea una versi�n antigua
try{
pagina_requerida = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e){}
}
}
else
return false;
pagina_requerida.onreadystatechange=function(){ // funci�n de respuesta
cargarpagina(pagina_requerida, id_contenedor)
}
pagina_requerida.open('POST', url, true); // asignamos los m�todos open y send
pagina_requerida.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
var campoIdsEliminar = dameElementoPorId("idsEliminar[]");
var query = "idsEliminar[]= " + campoIdsEliminar.value;
pagina_requerida.send(query);
}
function cargarpagina(pagina_requerida, id_contenedor){
if (pagina_requerida.readyState == 4 && (pagina_requerida.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(id_contenedor).innerHTML=pagina_requerida.responseText;
}
y luego en la pagina que es la que se "encarga de eliminar" los productos, quiero mostrar los Ids que me llegan y siempre me rotarna el primero, no importa si selecciono mas de uno o el ultimo, siempre me muestra el primero de lo que me retorna la consulta de la funcion que esta mas arriba.
Código PHP:
<?php
if (isset($_POST['idsEliminar'])){
echo "entro <br>";
$idsProductos = $_POST['idsEliminar'];
foreach($idsProductos as $id){
echo $id. "<br>";
}
}
?>
Espero que me puedan ayudar ya no se que mas probar.
Desde ya muchas gracias!!!
NicoStone.
Saludos.