Identificarte

Versión Completa : Borrar registros de un checkbox en PHP


Sponsored links
.




mayra13359
abril 28, 2007, 09:08
necesito borrar registros de una BD, los muestro en un checkbox y los envio a la pagina borrar.php a traves del action del formulario, pero cuando vinculo esto con javascript para confirmar si desea borrar, entonces no se como pasar los registros marcados a la funcion de java porque estos estan en un arreglo, bueno estoy desesperada porque he hecho miles de cambios y nada. AYUDENME.........

UAC_Likibuay
abril 28, 2007, 04:01
necesito borrar registros de una BD, los muestro en un checkbox y los envio a la pagina borrar.php a traves del action del formulario, pero cuando vinculo esto con javascript para confirmar si desea borrar, entonces no se como pasar los registros marcados a la funcion de java porque estos estan en un arreglo, bueno estoy desesperada porque he hecho miles de cambios y nada. AYUDENME.........

con que estas trabajando y yo te ayudo....
si kieres coloca parte de tu código para ver q estas haciendo...:rolleyes:

mayra13359
abril 30, 2007, 09:02
estoy trabajando con php dentro de html y con javascript
ahi va el codigo.......

<script language="JavaScript" type="text/JavaScript">
function preguntar(){
eliminar=confirm("¿Deseas eliminar este registro?");
if (eliminar)
window.location.href = "borrar.php?Marcar=;...el parametro es el que no se pasar de php a javascript...
else
alert('No se ha podido eliminar el registro...')
}
</script>
<form method="post" name="form1" action="" >
<td><input name="borrar" type="reset" class="style5" id="borrar" value="Borrar" onClick="preguntar();">
<?php
while ($row = mssql_fetch_array($QNoti_))
{
echo("<input type=checkbox name=Marcar[] value=".$row[0].">");
$c++;
printf("%s%s",$row[1],$row[2]);

echo("<br>");
// echo '------------------------------------------------------';
echo("<br>");
}
<?
el codigo es mas o menos asi, solo te envio lo fundamental, en la pagina borrar funciona bien, cuando enviaba el arreglo a traves del action del form, todo funciono bien, pero al incorporar javascript para confirmar, todo se fue a pique...

arthvrian
abril 30, 2007, 09:23
estoy especulando :P

pero no se podria poner en lugar de window.location un form1.submit?

digo yo, no se asi los datos pasarian por POST y no por GET

y si no se puede como dije antes, lo mas sencillo un for de acuerdo al numero de registros mostrados con un if para preguntar si esta chequeado, convirtiendolo en una cadena y añadiendoselo a la URL del window.location

UAC_Likibuay
abril 30, 2007, 01:10
mayra13359 asi lo hago yo... y me funciona.... teniendo en cuenta que yo no los borro de la tabla les cambio el estado a inactivo.

Aqui las funciones q guardan los elementos a ser eliminados y la funcion que marca todos los check dándole en el primero..

<script language="JavaScript">
function eliminando(envio) {
for (i=0;i<envio.elements.length;i++)
if ((envio.elements[i].type=="checkbox")&&(envio.elements[i].checked)){
envio.nfil.value=envio.elements[i].value+"*"+envio.nfil.value;
}
return true
}

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

Aqui el form... muestro todos los registros...
<form name="envio" enctype="multipart/form-data" method="post" action="elimina_noti.php" onSubmit="return eliminando(this);">// mira q aqui saca los que estan con el check true osea los q van a ser eliminados.
<fieldset>

<legend>Eliminar Noticias</legend>
<input name="nfil" type="hidden"/> <input name="haciendo" type="hidden"/>

<table width="675" >
<tr>
<th width="79" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">
<input type="checkbox" name="checkbox" value="checkbox" onclick="marcartodo(checked);" />
</div></th>
<th width="68" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">Titulo</div></th>
<th width="318" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">Noticia Breve </div></th>
<th width="100" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">Autor</div></th>
<th width="86" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">Fecha</div></th>
</tr>
<?
$cadenax2="Activo";
$sql = "SELECT * FROM noticias where estado like '$cadenax2'";
$result = mysql_query($sql, $conexion);
$ta=0;
$colo=0;
while ($row = mysql_fetch_array($result)){
$colo++;
if($colo==1)$color="#EBECEE";
if($colo==2)$color="#FFFFFF";
if($colo==2)$colo=0;
?>
<tr bgcolor="<?=$color?>"><th scope="row" align="center"><input type="checkbox" name="<?=$row[codigo]?>" value="<?=$row[codigo]?>" /></th><td align="center"><?=$row[titulo]?></td>
<td><p align="justify"><?=$row[noticia_breve]?></p></td>
<td align="center"><?=$row[creador]?></td><td align="center"><?=$row[fecha_creacion]?></td></tr>
<?

}
?>
<tr>
<th colspan="5" width="79" bgcolor="#BEBEBE" class="top" scope="col"><div align="center">
<input type="submit" name="submit" id="submit" class="boton2" value="Eliminar" onClick="hacer(1);" tabindex="6" />
</div></th>
</tr>
</table>

</fieldset>
</form>



Aqui la parte php....
donde les cambia el estado en la tabla a los elementos que elegiste en el form...

<?php
$t=strlen($nfil); //nfil es un campo donde se guardan los elementos que le diste check, q no te asuste me toco hacerlo asi, y asi me funciona perfectamente.

$p=0;

for($i=0;$i<$t;$i++){
$x=substr($nfil,$i,1);
if($x!='*'){
$pal=$pal.$x;
}
else{
$p++;
$veli[$p]=$pal;
$pal='';
}
}

for($i=1;$i<=$p;$i++){

$estado='Inactivo';
$sql = "UPDATE noticias SET estado='$estado' where codigo='$veli[$i]'";
mysql_query($sql);
?>
<script>
alert("Noticia eliminada con exito.");
var targetURL="elimina_noti.php"
window.location=targetURL
</script>
<?
}
?>


bueno.. espero sea de tu utilidad...
disfrutarlo... :P

mayra13359
abril 30, 2007, 02:05
UA©-LiKÍßÜ奫ا», me gusta mucho tu nombre, sabes, gracias por tu ayuda, ahora voy a probar tu codigo, pero me gusta mas de esa forma, o sea, poner la noticia inactiva, porque asi la puedo aprovechar en otra ocasion si me hace falta, GRACIAS.

UAC_Likibuay
abril 30, 2007, 02:15
UA©-LiKÍßÜ奫ا», me gusta mucho tu nombre, sabes, gracias por tu ayuda, ahora voy a probar tu codigo, pero me gusta mas de esa forma, o sea, poner la noticia inactiva, porque asi la puedo aprovechar en otra ocasion si me hace falta, GRACIAS.

Listo... me alegra q le guste mi nombre.. je je je:-p
bueno me cuentas como te va con el código.. y si pasa algo me lo haces saber yo te ayudo con mucho gusto.:P
likibuay@hotmail casi siempre en linea..:)

mayra13359
mayo 2, 2007, 08:22
En esta linea me parsea un error $t=strlen($nfil);
me devuelve
parse error, unexpected '[', expecting ')' in c:\MiWeb\Noticias\borrar_noticia1.php on line 116

UAC_Likibuay
mayo 2, 2007, 08:29
En esta linea me parsea un error $t=strlen($nfil);
me devuelve
parse error, unexpected '[', expecting ')' in c:\MiWeb\Noticias\borrar_noticia1.php on line 116




nena.... fue un error del editor de laneros...
$t=strlen($nfil);
asi es.... q te sirva.. :muerto:
me avisas...

mayra13359
mayo 2, 2007, 09:19
Gracias por tu ayuda pero a mi me funcionaba el codigo de borrar lo que caundo le agregaba la funcion confirm de Javascript es cuando se trababa el paragua y me doy cuenta que tu codigo no pregunta si desea borrar o no y es eso lo que yo deseo que haga que antes del action del formulario vaya a una funcion para confirmar si desea borrar o no, todo el mundo me dice que no puedo pasar variables de php a javascript y no encuentro este tipo de codigo en ninguna pagina, me entiendes?

UAC_Likibuay
mayo 2, 2007, 10:14
Gracias por tu ayuda pero a mi me funcionaba el codigo de borrar lo que caundo le agregaba la funcion confirm de Javascript es cuando se trababa el paragua y me doy cuenta que tu codigo no pregunta si desea borrar o no y es eso lo que yo deseo que haga que antes del action del formulario vaya a una funcion para confirmar si desea borrar o no, todo el mundo me dice que no puedo pasar variables de php a javascript y no encuentro este tipo de codigo en ninguna pagina, me entiendes?

mmmm..... pero eso es facil....
pa cuando e seso... ahora mismo no tengo tiempo...
deja me desocupo y te ayudo.. te parece..? :rolleyes:

mayra13359
mayo 3, 2007, 07:14
Para cuando tu puedas, yo espero.........pero no es tan facil.

UAC_Likibuay
mayo 3, 2007, 10:01
Para cuando tu puedas, yo espero.........pero no es tan facil.
solo es hacer...
q salga un alert de verificacion... y ya verdad?:rolleyes:

mayra13359
mayo 3, 2007, 01:05
Mira debe ser con un confirm, la funcion es mas o menos asi,
<script language="JavaScript" type="text/JavaScript">
function preguntar(){
eliminar=confirm("¿Deseas eliminar este registro?");
if (eliminar)
window.location.href = "borrar.php?Marcar=;...el parametro es el que no se pasar de php a javascript...
else
alert('No se ha podido eliminar el registro...')
}
</script>
Que sucede que no se puede llamar al php de borrar en el action del formulario porque no espera la confirmacion y pasan aunque se de cancelar, si no desde el javascript y entonces hay que pasarle el arreglo de php y no los coje, yo guardo los checkbox marcados en la variable $Marcar[] que es de arreglo y luego los tengo que pasar por la url a la pagina borrar, pero las variables de php, java no las reconoce ...Me entiendes?...

UAC_Likibuay
mayo 3, 2007, 01:22
Mira debe ser con un confirm, la funcion es mas o menos asi,
<script language="JavaScript" type="text/JavaScript">
function preguntar(){
eliminar=confirm("¿Deseas eliminar este registro?");
if (eliminar)
window.location.href = "borrar.php?Marcar=;...el parametro es el que no se pasar de php a javascript...
else
alert('No se ha podido eliminar el registro...')
}
</script>
Que sucede que no se puede llamar al php de borrar en el action del formulario porque no espera la confirmacion y pasan aunque se de cancelar, si no desde el javascript y entonces hay que pasarle el arreglo de php y no los coje, yo guardo los checkbox marcados en la variable $Marcar[] que es de arreglo y luego los tengo que pasar por la url a la pagina borrar, pero las variables de php, java no las reconoce ...Me entiendes?...

listo... yo se como hacer... fresca... ya lo hago y te lo envio.... esta pendiente...
salu2 :rolleyes:

UAC_Likibuay
mayo 3, 2007, 01:42
ya esta..... aqui esta tu pedido...
bueno eso creo....
solo tiene q cambiar esta funcion y ya...
utilice lo q colocaste del mensaje de confirmación...
ya sabes cambia esta funcion por la que esta en el otro codigo y ya...
me informas como te fue. chau:P

function hacer(j) {
if(j=="1"){
eliminar=confirm("¿Deseas eliminar este registro?");
if (eliminar){
envio.haciendo.value="eliminando";
}
else{
envio.haciendo.value="noeliminando";
alert('No se ha podido eliminar el registro...')
}
}

}

mayra13359
mayo 4, 2007, 12:52
UA©-LiKÍßÜ奫ا» (http://www.laneros.com/member.php?u=12135) vbmenu_register("postmenu_1673622", true); , nada...
siempre se va a borrar aunque le de cancelar

UAC_Likibuay
mayo 4, 2007, 01:18
UA©-LiKÍßÜ奫ا» (http://www.laneros.com/member.php?u=12135) vbmenu_register("postmenu_1673622", true); , nada...
siempre se va a borrar aunque le de cancelar
eso no puede ser, yo lo probe con una web q tengo y me funciono perfecto...

function hacer(j) {
if(j=="1"){
eliminar=confirm("¿Deseas eliminar este registro?");
if (eliminar){
envio.haciendo.value="eliminando";
}
else{
envio.haciendo.value="noeliminando"; //MIRA ESTA VARIABLE NO DEJA Q SE BORREN
alert('No se ha podido eliminar el registro...')
}
}

}
mira.. q es imposible q no te funcione.....
prueba nuevamente o si no me dices.. a ver si lo hago de ora forma q te funcione a ti ..

mayra13359
mayo 10, 2007, 02:55
Gracias amigo UA©-LiKÍßÜ奫ا» (http://www.laneros.com/member.php?u=12135) vbmenu_register("postmenu_1675928", true); por tu ayuda
estuve unos dias sin trabajar pero ahora probe el codigo, hice unos arreglillos y funciono
Gracias, gracias.....etc
un saludo desde Cuba.

UAC_Likibuay
mayo 10, 2007, 03:33
Gracias amigo UA©-LiKÍßÜ奫ا» (http://www.laneros.com/member.php?u=12135) vbmenu_register("postmenu_1675928", true); por tu ayuda
estuve unos dias sin trabajar pero ahora probe el codigo, hice unos arreglillos y funciono
Gracias, gracias.....etc
un saludo desde Cuba.

listo me alegro mucho....
salu2 desde Colombia :)