Foros del Web » Programando para Internet » PHP »

Eliminar marcando con check box

Estas en el tema de Eliminar marcando con check box en el foro de PHP en Foros del Web. Estoy implementando una pagina parecida a la del msn, en la cual uno selecciona con un check la fila que desea eliminar y pone clic ...
  #1 (permalink)  
Antiguo 05/01/2010, 11:32
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 10 meses
Puntos: 2
Eliminar marcando con check box

Estoy implementando una pagina parecida a la del msn, en la cual uno selecciona con un check la fila que desea eliminar y pone clic en el hipervinculo eliminar y elimina esa fila.

El codigo es el siguiente, pero no se como lograr hacer eso del check box q al seleccionar elimine

Los datos de la tabla son jalados de la bd en mysql
Código PHP:
       <form action="" method="post" name="">
        <table>
         <tr>
          <td width="100%">
           Filtro:
           <input type="text" name="search" id="search" value="" class="text_area" onchange="document.adminForm.submit();" />
           <button onclick="this.form.submit();">Ir</button>
           <button onclick="">Restablecer</button>
            </td>
           </tr>
          </table>
          <table class="adminlist" cellpadding="1">
           <thead>
            <tr>
             <th width="2%" class="title">#</th>
             <th width="3%" class="title"><input type="checkbox" name="toggle" value="" onclick="checkAll(2);" /></th>
             <th class="title">
              <a href="" >Nombre de Tipo</a>
             </th>
             <th width="50%" class="title" >
               <a href="" >Descripción</a>
               </th>
             <th width="5%" class="title" nowrap="nowrap">
               <a href="" >ID</a>
               </th>
            </tr>
           </thead>
<?php
                      
include('ProcesosPHP/ListaTipoUsuarios.php');
                    
                      while (
$row mysql_fetch_array($resultado))
                        {
                        
$contador $contador 1;    
                      
?>           
           <tbody>
            <tr class="row0">
             <td><?php echo $contador?></td>
             <td><input type="checkbox" id="cb0" name="cid[]" value="62" onclick="isChecked(this.checked);" /></td>
             <td><a href=""><?php echo $row['TIPO_NOMBRE']; ?></a></td>
             <td align="center"><?php echo $row['TIPO_DESCRIPCION']; ?></td>
             <td align="center"><?php echo $row['TIPO_CODIGO']; ?></td>             
            </tr>
            <?php ?>   
           </tbody>
          </table>
     
         </form>
  #2 (permalink)  
Antiguo 05/01/2010, 11:38
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Eliminar marcando con check box

es sencillo, solo debes poner datos que relacionen los checkbox con tu BD, osea... el ID
Código HTML:
<input type="checkbox" name="cid[]" value="33"/>
<input type="checkbox" name="cid[]" value="21"/> 
así, al recibirlos, obtienes solo los marcados, y utilizamos su value, que es el ID de cada fila
Código PHP:
$cid $_POST['cid']; 
al ser $cid un array(), podemos iterarlo, o bien, usarlo posteriormente para el operador IN() de SQL...
Código PHP:
$ids join(', '$cid);
$sql "DELETE FROM tabla WHERE id IN($ids)"
finalmente, nos da una consulta valida para eliminar los IDs de una sola ves
Cita:
DELETE FROM tabla WHERE id IN(33, 21)
el concepto es claro, espero te ayude...
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 05/01/2010, 11:48
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 10 meses
Puntos: 2
Respuesta: Eliminar marcando con check box

pero cid[] no me llama a nada ? o tendria q ponerle <?php echo $row['TIPO_CODIGO']; ?> para q llame el codigo
  #4 (permalink)  
Antiguo 05/01/2010, 11:48
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: Eliminar marcando con check box

El hacerlo cid[] PHP lo interpreta como un array numerico. Solo tienes que llamar la variable cid en un bucle o hacer el join o implode como te indico pateketrueke.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Última edición por abimaelrc; 05/01/2010 a las 11:54
  #5 (permalink)  
Antiguo 05/01/2010, 11:52
(Desactivado)
 
Fecha de Ingreso: diciembre-2008
Ubicación: Trujillo - Peru
Mensajes: 341
Antigüedad: 15 años, 10 meses
Puntos: 2
si ya me dio perfecto

<input type="checkbox" id="cb0" name="cid[]" value="<?php echo $row['TIPO_CODIGO']; ?>" onclick="isChecked(this.checked);" />

asi, en value llamo al codigo de la bd que estara en esa fila

gracias

amigos y como haria si de esos porejemplo 23,35,60 kiero siempre el primero nada mas?

esto seria el caso de modificar, selecciono, y en caso uno quiera seleccionar mas de 1 para modificar solo haga caso al primero y el resto no los tome en cuenta

Última edición por GatorV; 05/01/2010 a las 19:46
  #6 (permalink)  
Antiguo 05/01/2010, 12:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Eliminar marcando con check box

en ese caso, puedes usar array_shift() para obtener el primer valor de tu arreglo $cid
Código PHP:
$id array_shift($cid); 
así, ya lo puedes usar en una consulta única
Código PHP:
$sql "SELECT * FROM tabla WHERE id=$id"
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: box, eliminar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:09.