Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/05/2010, 16:49
nicostone
 
Fecha de Ingreso: marzo-2009
Mensajes: 76
Antigüedad: 15 años, 1 mes
Puntos: 1
Problema con CheckBox y PDO

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.