Comunidad de diseño web y desarrollo en internet online

Delete con ventana de confirmacion

Citar            
MensajeEscrito el 08 Abr 2011 05:05 am
Hola

Estoy intentando que cuando alguien de click al link "Eliminar Cliente" muestre un pop-up que diga "Estas seguro que deseas elimar al usuario" si le doy que si que proceda a borrar el registro, pero si le doy que no que no haga nada.

Encontre un ejemplo pero no se como hacer que cuando se le de click al link suceda la accion, es decir que llame a esa funcion, no se como decirle que llame a esa funcion al dar click en "Eliminar Cliente",

Asi se ve un submenu:

Código HTML :

<ul class="sb_menu">
            <li><a href="../index.php">Inicio</a></li>
            <li><a href="ingresar.php">Ingresar Cliente</a></li>
            <li><a href="buscarcliente.php">Buscar Cliente</a></li>
            <li><a href="editar.php?cliente=<?php echo $row_detalles['CLIENTE']; ?>">Modificar Cliente</a></li>
            <li><a href="#">Eliminar Cliente</a></li>
            <li><a href="<?php echo $logoutAction ?>">Salir</a></li>
          </ul>
        </div>
        <div class="gadget">
          <div class="clr"></div>
          <ul class="ex_menu">


Me gustaria que cuando doy click a

Código HTML :

<li><a href="#">Eliminar Cliente</a></li>


me muestre el pop up

encontre este ejemplo

Código Javascript :

<script type="text/javascript">
<!--
function confirmation() {
    var answer = confirm("Deseas eliminar este registro?")
    if (answer){
        // code for deleting record
    }
    else{
        // do nothing
    }
}
//-->
</script> 


otra pregunta aqui dentro del

Código Javascript :

if (answer){
        // code for deleting record
    }


Debe ir codigo php? seria algo asi?

Código Javascript :

if (answer){
        <php?
               mysql_query("DELETE FROM birthdays WHERE id=$id");
         php>
    }


Les agradezco su ayuda soy nuevo en esto.

Saludos

Por pelonms7

33 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Abr 2011 10:02 am
Te recomiendo que le des un vistazo a jquery y a su evento .load

Por One

Claber

1488 de clabLevel

5 tutoriales

Genero:Masculino  

Programador Web

chrome
Citar            
MensajeEscrito el 08 Abr 2011 02:44 pm
javascript solo se ejecuta del lado del cliente y php del lado de servidor y estos 2 no puede interactuar directamente el confirm de javascript solo sirve para devolver un valor de verdadero su pulso en si y false cuando pulso no ahora lo que puedes hacer es que cuando el cliente hace click le lance el confirm y este puede ahcer acciones con su if else de ejemplo que tienes ahora para tu caso solo seria esto

Código HTML :

<li><a href="#" onclick="return confirm('deseas elimar al este usuarucho del sistema?');">Eliminar Cliente</a></li>

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 08 Abr 2011 03:37 pm
Te recomiendo que hagas lo siguiente


Código HTML :

<a href="#" onClick="confirmation(<?php echo $idregistro; ?>)">Eliminar Registro</
a>

Y luego en confirmation


Código Javascript :


function confirmation(idreg){

if(confirm('Esta seguro que desea eliminar el registro?')){

location.href='pagina.php?eliminar='+idreg;




}



y pagina.php en la parte de arriba



Código PHP :

if(isset($_GET['eliminar']){

$sql='Delete from blablabla where id='.$_GET['eliminar'];

mysql_query($sql);


}





Eso funciona, saludos

Por sebifrost

61 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 May 2011 03:41 pm
Hola, wenas !

Soy nuevo en este foro.

Tengo ese código que usted ha dicho que funciona.

Yo quiero borrar un registro de una BDD de MySQL. La página está hecha en PHP y también tiene Javascript para estas cosas. La cuestión es que cuando me sale el alert y le doy a aceptar, no hace absolutamente nada.

Soy bueno en PHP y javascript lo estoy dominando cada día, pero yo esto de borrar lo hacía con PHP solamente. Sin embargo, me he dado cuenta que para mi aplicación, que la usa bastante gente, es necesario poner javascript para que sea más rápido.

El código es el siguiente:

- 1º he puesto la función de javascript:

<!-- Función para el alert de eliminar un registro: -->
<script language="javascript" type="text/javascript">
function borrarRemision(rem){
if(confirm("¿Está seguro que desea borrar esta remisión?")){
location.href="borrarRemision.php?idRem="+rem;
}
}
</script>

- 2º el botón con el onclick y el href (tal cual lo tiene usted en la página):

<button type="button" name="btnBorrar" STYLE="background-color:transparent; border:none; cursor:pointer" onclick="borrarRemision(<?php echo $idRem; ?>) "href="#">

$idRem es una variable a la que le asigno un campo de una tabla:
while($fila = mysql_fetch_array($consultaTabla1)){
$idRem = $fila['IdRem'];
}

- 3º la consulta DELETE desde el isset con el $_GET['idRem'], que es el nombre del parámetro en la función borrarRemision() por lo que he visto en su aporte:

if(isset($_GET['idRem'])){
mysql_query(" DELETE FROM Remisiones
WHERE Remisiones.IdRemision = ".$_GET['idRem']." ");
}

TODO ESTO ES EN LA MISMA PÁGINA PHP COMO BIEN DICE QUE HAY QUE PONERLO.

Si ve el fallo o cree que falta o sobra algo, ayúdeme, por favor.

Muchísimas gracias !!

P.D.: BUEN FORO, POR CIERTO !

Por ysedtai

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 11 May 2011 05:02 pm
ysedtai:
Dices que has puesto todo esto en un solo archivo. Pues bien. Modifica lo siguiente:

Código PHP :

if(isset($_GET['idRem'])){
  echo "Estoy a punto de borrar el registro: ".$_GET['idRem'];
  mysql_query(" DELETE FROM Remisiones WHERE Remisiones.IdRemision = ".$_GET['idRem']." ");
  if (mysql_errno() > 0) { 
    echo "MySQL ha dicho: "mysql_errno().": ".mysql_error();
  } else {
    echo "El registro fue borrado.";
  }
}

Esto es para saber si realmente borra lo que debe borrar y no produce error al intentar hacerlo.
Sugerencia: cuando estés desarrollando siempre controla que las consultas SQL no devuelvan error.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 12 May 2011 08:04 am
Hola, DriverOp.

He puesto lo que me has dicho, pero no me hace nada.
Pero ahora no sé qué pasa que ni con lo mío de antes (que había dicho que al menos me salía el confirm) me sale el confirm (con lo de usted tampoco).

Sólo he cambiado el isset mío por el que me pasó usted.

De todas formas, le paso otra vez mi código (el esencial para esto, no todo) para ver si ve algo que sobra, falta o está incorrecto.

--------------------------------
Código:

<!-- Función para el mensaje de eliminar un registro: -->
<!-- EN CURSO... -->
<script language="javascript" type="text/javascript">
function borrarRemision(rem){
if(confirm("¿Está seguro que desea borrar esta remisión?")){
location.href="borrarRemision.php?idRem="+rem;
}
}
</script>

------------------------------ Botón:

<button type="button" name="btnBorrar" STYLE="background-color:transparent; border:none; cursor:hand" onclick="borrarRemision(<?php echo $idRem; ?>) "href="#"> <img src="Imagenes/delete.png" width="22" height="22" border="0" title="Borrar remisión" >
</button>

--------------------------------- ISSET (el suyo):

if(isset($_GET['idRem'])){

echo "Estoy a punto de borrar el registro: ".$_GET['idRem'];

mysql_query(" DELETE FROM Remisiones
WHERE Remisiones.IdRemision = ".$_GET['idRem']." ");

if (mysql_errno() > 0) {
echo "MySQL ha dicho: ".mysql_errno().": ".mysql_error();
} else {
echo "El registro fue borrado.";
}

}

Gracias de nuevo !

Un saludo !

-----------------------------------------------

Por ysedtai

1 de clabLevel



Genero:Masculino  

msie8
Citar            
MensajeEscrito el 12 May 2011 01:15 pm
La única explicación lógica es que el isset() esté dando falso y por lo tanto no existe el parámetro idRem por GET. ¿Estás segura que la función JavaScript borrarRemision está llamando al script PHP correcto?.

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 13 May 2011 10:29 am
A ver ... la página donde está todo esto es datosDocumento.php. La acabo de cambiar en la función.

Me despisté porque antes tenía la consulta DELETE en borrarRemision.php porque estaba intentando hacerlo de otra manera que tampoco di con la solución. De todas formas, cuando tenía la consulta DELETE en borrarRemision.php para hacerlo por separado, al menos se veía con un 'echo' el parámetro que pasaba cuando le daba a 'Aceptar'. Pero igualmente no borraba.

Ahora que he cambiado de borrarRemision.php a datosDocumento.php en la función, tampoco sale el confirm.

Si usted supiera otra manera de hacer un borrado de registro con el confirm, me gustaría que me explicase cómo se hace.

Gracias.

P.D.: eso de ... ¿estás segura...? ....mmm......... soy un chico. jajajaja

Por ysedtai

1 de clabLevel



Genero:Masculino  

msie8

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.