Foros del Web » Programando para Internet » PHP »

Eliminar tipo hotmail con checks

Estas en el tema de Eliminar tipo hotmail con checks en el foro de PHP en Foros del Web. Hola a todos mis estimados foreros d fdw nuevamente aqui haciendoles una consulta como puedo hacer una aliminacion de registros tipo hotmail utilizando java script ...
  #1 (permalink)  
Antiguo 05/01/2010, 07:37
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
De acuerdo Eliminar tipo hotmail con checks

Hola a todos mis estimados foreros d fdw nuevamente aqui haciendoles una consulta
como puedo hacer una aliminacion de registros tipo hotmail utilizando java script y a la vez php.

Teniendo para eliminar todos los registros de una vez asi como multiples registros de eliminacion.

Agradeciendo su comprension mil gracias.
  #2 (permalink)  
Antiguo 05/01/2010, 08:36
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Eliminar tipo hotmail con checks

Tienes que listar los resultados de una búsqueda en la BD (los registros) y crear un input de tipo checkbox por cada uno, todos con el mismo nombre (que termine con un par de corchetes: "[]") y que en el value cada uno tenga el id que le corresponde al registro que quieres eliminar:
Código PHP:
$sql="SELECT * FROM usuarios;";
$resultSet=mysql_query($sql);
while(
$fila=mysql_fetch_array($resultSet))
{
    echo 
"<input type=\"checkbox\" name=\"usuarios[]\" value=\"".$fila['id']."\" />".$fila['username'];

Luego desde la página que procesa el formulario tendrás una array que será:
Código PHP:
    $_REQUEST['usuarios']; 
que tendrá una posición con el id del registro a eliminar por cada checkbox que haya sido chequeado:
Código PHP:
foreach($_REQUEST['usuarios'] as $idUsuario)
{
    
$sql="DELETE FROM usuarios WHERE id=".$idUsuario.";";
    if(!
mysql_query($sql))
    {
        echo 
"ERROR: no se pudo eliminar el usuario de id: ".$idUsuario;
        exit();
     }

Esta respuesta sin duda corresponde al foro de PHP mucho más que al de javascript. ¡Suerte!
  #3 (permalink)  
Antiguo 05/01/2010, 08:44
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Si tio eso de eliminar tambien se puede hacer en java script a la vez trabajando con php hice una eliminacion parecida en php pero solo me elimina datos numericos osea su codigo pero cuando es alfanumerico no elimina seria cuestion de probara en java script o ajax.

Gracias d todas maneras.
  #4 (permalink)  
Antiguo 05/01/2010, 09:26
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Eliminar tipo hotmail con checks

Se puede hacer con AJAX, pero eso es independiente de los tipos de datos que elimines. Para que te pueda ayudar a hacerlo con AJAX primero sería útil saber qué es lo que no estás podiendo hacer (¿usar AJAX?, ¿saber cuáles checkbox se checkearon?) ¡Suerte!
  #5 (permalink)  
Antiguo 05/01/2010, 09:39
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Sale tio lo voy a tratar d hacer en ajax o javascript posteo el codigo haber en que fallo saludos..
  #6 (permalink)  
Antiguo 06/01/2010, 09:29
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Haber quien m puede apoyar con este tema ya voy a colocar mi codigo pero tengo problemas.
  #7 (permalink)  
Antiguo 06/01/2010, 13:04
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Eliminar tipo hotmail con checks

Podremos ayudarte si tú nos ayudas a entenderte .
De todos modos, lo que tienes que hacer es iterar sobre tus checkboxes para saber cuáles están checkeados, armar con sus ids una cadena y pasarla mediante AJAX a un script que lo procese y que devuelva algún flag para indicar que todo ha ido bien. Si ese flag se recibe, simplemente remueves los checkboxes eliminados del DOM. Supongo que esa es la idea general, intenta hacerlo tú y si tienes problemas con algo, pregunta. Pero intenta hacer preguntar más particulares, porque la otra alternativa es escribir todo el código, pero la idea es que lo hagas tú. ¡Suerte!
  #8 (permalink)  
Antiguo 18/01/2010, 15:11
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Hola.. haber si me pueden dar una mano.
Mira tengo dos funciones en java script.
En la cual pretendo eliminar mediante check el registro seleccionado.


Pero cuando le doy eliminar pues no m hace nada.

Pero si detecta si eh seleccionado un check o no pareciera que no atrapara el valor.

Mira primero te voy a mostrar como elimino elementos sin utilizar check..

Esta metodo esta hecho en mvc.



controler..

Si encuentro data pues la muestro $lista usuarios.. contiene la data ps esta grabada en una sesion.

if(isset($lista_usuarios[$i]["nomusu"])){ ?>
<td align="center" valign="middle"><div align="center"></div></td>
<tr><td height="32">
<div align="center">
<input type="checkbox" name="checkbox" value="checkbox<?=$codigo?>" id="checkbox<?=$codigo?>" /> //Este es el check aqui pretendo que elimine
</div>
<div class="pintar"> </div></td>
<td align="center" valign="middle">
<span class="tablaDato">
<?=$lista_usuarios[$i]["nomusu"]?>
</span>
<div align="left">
<div align="left"></div></td>
<td class="tablaDato"><?=$lista_usuarios[$i]["apeusu"]?></td>
<td class="tablaDato"><?=$lista_usuarios[$i]["dir_user"]?></td>
<td class="tablaDato"><?=$lista_usuarios[$i]["dni_user"]?></td>
<td class="tablaDato"><?=$lista_usuarios[$i]["tel_user"]?></td>
<td class="tablaDato"><?=$lista_usuarios[$i]["loginusu"]?></td>
<? $codigo=$lista_usuarios[$i]["nomusu"]; ?>

//atrapo el codigo para saber que registro voy a eliminar hago la pregunta confirmacion


<td align="center" valign="middle"><a href="http://www.forosdelweb.com/f13/controler/usuarios_controler.php?accion=del&codi=<?=$lista_u suarios[$i]["nomusu"] ?>" onClick="return confirm('Seguro deseas Eliminar el Registro? <?=$codigo?>')"><img src="http://www.forosdelweb.com/f13/imagenes/b_drop.png" width="16" height="16" alt="Eliminar" border="0" /></a></td>
aqui mando la accion seleccionada como parametro del y el codi que es el codigo que eh elegido.


La funciones de javascript

Esta es para seleccionar todos los check activarlos funciona bien..

<script>
function marcartodo(x) {
if(x==true){
for (i=0;i<frmusuarios.elements.length;i++){
if ((frmusuarios.elements[i].type=="checkbox")&&(frmusuarios.elements[i].checked==false)){
frmusuarios.elements[i].checked=true;
}
}
}
else{
for (i=0;i<frmusuarios.elements.length;i++){
if ((frmusuarios.elements[i].type=="checkbox")&&(frmusuarios.elements[i].checked==true)){
frmusuarios.elements[i].checked=false;
}
}
}
}
</script>


Esta funcion es para eliminar
<script>
function validar_chk() { //por siaca le puse tambien codigo haber si atrapa algo y nada
var f = document.frmusuarios
var chk = false;
var url;
var cod = "";
for (i=0; i < f.checkbox.length; i++) {
if (f.checkbox[i].checked == true) {
url="../controler/usuarios_controler.php='accion=del&codi=<?=$lista_ usuarios[$i]["nomusu"] ?>"; //Aqui lo reemplaze por codigo pero no atrapa nada
return url;
}
}
if (chk == false) {
alert("No has seleccionado ningun checkbox!!!")
return false
}
return true
}
</script>


usuarios_controler.php



session_start(); //iniciando la sesion jalando el model del usuario como su dto y la utilidades...
require_once "../model/usuario_model.php";
require_once "../dto/usuario_dto.php";
require_once "../utilities/consultas.php";

//Capturando la accion como el codi del registro..
$accion_elegida = $_REQUEST["accion"];
$codigo_atr = $_REQUEST["codi"];



Aqui si la accion el del elimina llamo a delete_usuario que esta en el model....

if ($accion_elegida == "del") {
$model_usuario=new usuario_model();
$model_usuario->delete_usuario($codigo_atr);
$_SESSION["msj"] ="<img src='../imagenes/b_drop.png' />Registro Eliminado Correctamente .";
//El mensaje... lo arroja cuando elimina---
?>
<script LANGUAGE="JavaScript">
var paginax="../view/usuarios.php"
location.href=paginax //aca retorna a usuarios.php

</script>
<?
}
?>


usuario_model.php


session_start(); //iniciamos la sesion
require_once '../dao/usuarios_dao.php'; //jalamos usuario dao

public function delete_usuario($dto){ //una funcion delete_usuario aqui el dto contiene toda la data del registro selecciionado

try {
$usuario_dao=new usuario_dao();

$usuario_dao->delete_usuario($dto);//aqui jalamos el delete usuario que esta en el dao
//$ncodigo
}
catch(Exception $e){ //esto esta con sus repestivos exception
throw $e;
}
}

usuario_dao.php


public function delete_usuario($dto){ //funcion delete usuario el dto contiene los seter y los geters osea toda la data
try{
$imp=factory_dao::get_implementacion($_SESSION["ds"]); //jalamos al factory para ver que tipo de gestor de bs uso en mi caso mysql es el ds
$imp->conectar();
$cad= "delete from usuarios where nomusu='".$dto."'"; //un delete para eliminar el usuario seleccionado...
$imp->execute_update($cad); //execute_update se usa porque es una actualizacion
}
catch(Exception $e)
{
throw $e;
}
}

Esto funciona muy bien .. siempre eh utilizado este metodo, el problema son los check.. hacerlos con checks.
  #9 (permalink)  
Antiguo 26/01/2010, 16:42
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Que fue amigos de foros del web (dggluz) me pueden apoyar con este tema.
  #10 (permalink)  
Antiguo 26/01/2010, 18:22
Avatar de dggluz  
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: Eliminar tipo hotmail con checks

Cita:
Iniciado por dquispe Ver Mensaje
Hola.. haber si me pueden dar una mano.
Esta funcion es para eliminar
<script>
function validar_chk() { //por siaca le puse tambien codigo haber si atrapa algo y nada
var f = document.frmusuarios
var chk = false;
var url;
var cod = "";
for (i=0; i < f.checkbox.length; i++) {
if (f.checkbox[i].checked == true) {
url="../controler/usuarios_controler.php='accion=del&codi=<?=$lista_ usuarios[$i]["nomusu"] ?>"; //Aqui lo reemplaze por codigo pero no atrapa nada
return url;
}
}
if (chk == false) {
alert("No has seleccionado ningun checkbox!!!")
return false
}
return true
}
</script>
Mmmm.... si pretendes eliminar todos los usuarios checkeados de una sola vez, debes cambiar la página que procesa, y manderle todos los "nomusu" seleccionados juntos (puedes concatenarlos en una cadena, separados por algún carácter espúreo). Adentro del for pones un return que saldrá del primero... eso no tiene mucho sentido en este caso. Te dejo que lo pienses un poco más, haz de vuelta el script y si algo no funciona postea el código (sólo el del script en cuestión, no el de todo tu proyecto, y de ser posible con la etiqueta HIGHLIGHT correspondiente), para que pueda ayudarte. ¡Suerte!

PD: para manejar mejor los checkboxes te recomiendo ponerles una clase (className) particular y luego trabajar sobre ese grupo con algunas de las funciones getElementsByClassName (mira este enlace).
  #11 (permalink)  
Antiguo 28/01/2010, 11:07
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Eliminar tipo hotmail con checks

Ok hermano voy hacer esta nota, pero pretendo eliminar algunos u otra opción todos los elementos.

Etiquetas: eliminar, hotmail, javascript, tipo
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 11:01.