Foros del Web » Programando para Internet » PHP »

Problema al eliminar mediante checks

Estas en el tema de Problema al eliminar mediante checks en el foro de PHP en Foros del Web. Hola a toda esta gran comunidad. Tengo un problemita no puedo eliminar los datos mediante checks. Muestro el codigo.. Pagina modelo. <? session_start(); if ($_SESSION["acceso"]==1){ ...
  #1 (permalink)  
Antiguo 16/06/2009, 12:11
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Problema al eliminar mediante checks

Hola a toda esta gran comunidad.


Tengo un problemita no puedo eliminar los datos mediante checks.

Muestro el codigo..


Pagina modelo.

<?
session_start();
if ($_SESSION["acceso"]==1){ ?>
<?
include ("logic_pandora.php");
$obj=new logic_pandora();
$cn=$obj->conectar();
if(isset($_POST["btngrabarmo"]))
{
$obj->GrabarModelos($_POST["txt_cmodelo"],$_POST["txt_dmodelo"]);
}
if(isset($_POST["btnBuscar"])){
$bus=trim($_POST["txtcad"]);
}
?>

<?
if (isset($_POST["btneditarm"]))//Para Editar..
{
$obj->ModificarModelos($_POST["txt_cmodelo"],strtoupper($_POST["txt_dmodelo"]));
}

//eliminar mediante el boton las filas con los checks seleccionados
if(isset($_POST["btnEliminarm2"])){
$rsm=mysql_query("Select * from modelos order by cod_modelo",$cn);
for($t=1;$t<=mysql_num_rows($rsm);$t++){
if(isset($_POST["chk$t"])){
$cadel="Delete from modelos where cod_modelo=".$_POST["chk$t"];
mysql_query($cadel,$cn);
echo "codigo a eliminar".$cadel;
}}
}

//Atrapa el valor enviado por el hipervínculo
$vcodmod=$_GET["codt"];
if(isset($vcodmod)){
$cadena="Delete from modelos where cod_modelo=".$vcodmod;
mysql_query($cadena,$cn);
}

?>

<html>
<head>
<title>Listado de Modelos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
body{
height:100%;
border:solid;
border-width:1px;
border-color:#CCCCCC;
}
</style>

<script>
function Nuevo_Modelo(){
document.location.href="insertar_modelos.php";
}
</script>
<script>
function Editar_Modelo(){
document.location.href="editar_modelos.php";
}
</script>
<script>
function Filtrar_Modelos(){
document.location.href="filtrar_modelos.php";
}
</script>

<link href="Plantillas/Enlaces.css" rel="stylesheet" type="text/css">
<style type="text/css">
<!--
.boton2 {width: 133px;
height: 18px;
background:url(imagenes/btn2z.PNG);
}
.boton1 {
width: 80px;
height: inherit;
background:url(imagenes/btn1z.PNG);
border: 0px;
}
-->
</style>
</head>
<body style="margin:0px; margin-right:0px; margin-left:0px;" onLoad="top.document.title='Listado de Celulares - Sistema SISTRPM version 1.Zero para Cobra - Peru SAC '">
<script language="javascript">
function Imprimir_Modelo()
{ window.open("reporte_modelos.php","hija","height=5 00,width=820, location=no, menubar=no resizable=no, scrallbar=no, status=no, toolbar=no,title=no");
}
</script>
<body topmargin="0">

<?
if(isset ($bus)){
$_SESSION["modelos"]="Select * from modelos where des_modelo like'".$bus."%' order by cod_modelo";
}else{
$_SESSION["modelos"]="select * from modelos order by cod_modelo"; // crear el esquema de base de datos
}

$nr=mysql_query($_SESSION["modelos"]);
$numeroRegistros=mysql_num_rows($nr);
if($numeroRegistros<=0)
{
echo "<div align='center'>";
echo "<font face='verdana' size='2'>No se encontraron resultados</font>";
echo "</div>";
}else{
//////////calculo de elementos necesarios para paginacion
//tamaño de la pagina
$tamPag=23;

//pagina actual si no esta definida y limites
if(!isset($_GET["pagina"]))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$pagina = $_GET["pagina"];
}
//calculo del limite inferior
$limitInf=($pagina-1)*$tamPag;

//calculo del numero de paginas
$numPags=ceil($numeroRegistros/$tamPag);
if(!isset($pagina))
{
$pagina=1;
$inicio=1;
$final=$tamPag;
}else{
$seccionActual=intval(($pagina-1)/$tamPag);
$inicio=($seccionActual*$tamPag)+1;

if($pagina<$numPags)
{
$final=$inicio+$tamPag-1;
}else{
$final=$numPags;
}

if ($final>$numPags){
$final=$numPags;
}
}

//fin de dicho calculo
//creacion de la consulta con limites

$sql=$_SESSION["modelos"]." limit ".$limitInf.",".$tamPag;
$rsm=mysql_query($sql);

//PAGINACION

?>
<form name="modelos" method="post" action="">
<div id='cont' scrolling="yes">
<table width="100%" border="0" bordercolor="#000000" cellpadding="0" cellspacing="0">
<tr height="25">
<td width="60"><div id="Plus" align="center">
<input type="button" class="Plus" value="Nuevo" onClick="Nuevo_Modelo()" title="Nuevo Modelo">
</div></td>
<td width="7"><div align="center" class="Estilo10">|</div></td>
<td width="52"><input type="button" class="Plus" value="Filtrar" onClick="Filtrar_Modelo()" title="Filtrar">
<td width="69"><div id="Plus" align="center">
<input name="btnEliminarm2" type="submit" class="Plus" id="btnEliminarm2" title="Eliminar" value="Eliminar">
</div>
<td width="8"><div align="center"><span class="Estilo10">|</span></div></td>
<td width="20"><span class="Estilo2"><img src="imagenes/print.gif" align="absmiddle" onClick="Imprimir()" title="Imprimir" style="cursor:pointer;"></span></td>
<td width="166"><div align="right"><span class="Estilo5">Descripci&oacute;n </span></div></td>
<td width="326"><span class="Estilo3">
<label>
<input name="txtcad" type="text" id="txtcad" size="40" />
</label>
</span></td>
<td width="167"><span class="Estilo3">
<input name="btnBuscar" type="submit" id="btnBuscar" value="Buscar" />
</span></td>
<td width="141">&nbsp;</td>
</tr>
</table>
<table width="100%" border="0" bordercolor="#000000" cellpadding="0" cellspacing="0">
<tr>
<td width="69" height="30" background="file:///C|/AppServ/www/Pandora/Imagenes/full.PNG"><div align="center"><img src="imagenes/b_drop.png" title="Active los checks a eliminar" align="middle"></div></td>


<img src="imagenes/print.gif" align="absmiddle" onClick="Imprimir()" title="Imprimir" style="cursor:pointer;">

<td width="121" height="30" background="file:///C|/AppServ/www/Pandora/Imagenes/full.PNG" class="Estilo2"><div align="left" class="Estilo9"><span class="Titulo">Codigo</span></div></td>
<td width="792" height="30" valign="middle" background="file:///C|/AppServ/www/Pandora/Imagenes/full.PNG" class="Estilo2"><div align="center" class="Estilo9">
<div align="left" class="Estilo9"><span class="Titulo">Descripcion</span></div>
</div></td>
<td width="16" height="30" valign="middle" background="file:///C|/AppServ/www/Pandora/Imagenes/full.PNG" class="Estilo2"><div align="center" class="Estilo9">
<div align="right"><img src="imagenes/b_edit.png" title=" Haga click en la fila a modificar" align="middle"><span class="Estilo11">&darr;</span></div>
</div></td>
</tr>
<tr>
<td align="center" valign="middle" class="Estilo2"><div align="center">
<?
while($fila=mysql_fetch_array($rsm))
{ $f++;
if($f%2==0)
{ echo"<tr class=pares>"; }
else
{ echo"<tr class=impar>"; }
echo"<td><input type='checkbox' name='' value='$fila[0]'></td>";
echo"<td><span class=Estilo2>".$fila[0]."</span></td>";
echo"<td><span class=Estilo2>".$fila[1]."</span></td>";
echo"<td><a href=editar_modelos.php?cod=".$fila[0]."><center><img src='imagenes/b_edit.png' border=0 title='eliminar'></center></a></td>";
echo"<td><a href=modelos.php?codt=".$fila[0]."><center><img src='imagenes/b_drop.png' border=0 title='Eliminar'></center></a></td>";
echo"</tr>";
}
?>
</div>
<td align="center" valign="middle" class="Estilo2"></a></td>
</tr>
<tr>
<td colspan="6" bgcolor="#E8E8E8" height="2">
</tr>

<tr>
<td height="20" colspan="6" align="left" valign="middle" class="Estilo46">&nbsp;&nbsp;Haga click en la pagina que desee visualizar</td>
</tr>
</table>
</div>

<div id="footer">
<table width="100%" border="0" bgcolor="#F2F7FD" cellspacing="0">
<tr>
<td colspan="2" bgcolor="#CCCCCC" height="1"></td>
</tr>
<tr>
<td width="50%" height="20"><span class='Estilo9'>&nbsp;<? echo $numeroRegistros;?> Modelos</span></td>
<td width="50%">
<div align="right" class="Estilo99">
P&aacute;gina<?php
//////////a partir de aqui viene la paginacion
if($pagina>1)
{
echo "<td align='center' valign='top'>";
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1).">";
echo "<font face='verdana' size='2'>Anterior</font>";
echo "</a></td> ";
}

for($i=$inicio;$i<=$final;$i++)
{
if($i==$pagina)
{
echo "<td align='center' valign='top'>";
if($i==$numPags) {
echo "<font face='verdana' size='2'><b>".$i."</b> </font></td>";
}else{
echo "<font face='verdana' size='2'><b>".$i."</b> </font></td>"; }
}else{
echo "<td align='center' valign='top'>";
echo "<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."'>";
echo "<font face='verdana' size='2'> ".$i."</font></a></td>";
}
}
if($pagina<$numPags)
{
echo "<td align='center' valign='top'>";
echo " <a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."'>";
echo "<font face='verdana' size='2'>Siguiente</font></a></td>";
}
}
//fin de la paginacion

?>

<?
if(isset ($_POST["btnEliminar"]))
{

for($k=1;$k<=$a;$k++)
{
$x="chk".$k;

if($_POST[$x]!="")
{
$cad="Delete from modelos where cod_modelo=".$_POST[$x];
$obj->ejecutarActualizacion($cad);
echo"codigo atrapado".$cad;
?>
<script language='javascript'>
location.href='../Pandora/index.php'
</script>
<?
} // fin del if
} //fin del for
} // fin del if
}
?>

/////Nota. En este codigo muestro los datos hasta atrapo el valor seleccionado peor nada no elimina.

y los campos.. Por siaka.
  #2 (permalink)  
Antiguo 16/06/2009, 13:33
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Problema al eliminar mediante checks

Eso es mucho codigo como para tratar de leerlo asi directo, trata de colocarlo entre [ php ] y [ /php ] (sin los espacios).
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 16/06/2009, 13:56
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema al eliminar mediante checks

Esta bien hay dos codigos d eliminacion que utilizo uno es al hacerle clic a una imagen.
El otro darle clic al check y darle a eliminar, te lo muestro.

Esto es si se pulso el botn eliminar.
,
if(isset($_POST["btnEliminarm2"])){
$rsm=mysql_query("Select * from modelos order by cod_modelo",$cn);
for($t=1;$t<=mysql_num_rows($rsm);$t++){
if(isset($_POST["chk$t"])){
$cadel="Delete from modelos where cod_modelo=".$_POST["chk$t"];
mysql_query($cadel,$cn);
echo "codigo a eliminar".$cadel;
}}
}

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

Nada tengo una pagina similar y si elimina..
Niendo porque si atrapa el valor no lo elimina con el echo se ve el valor atrapado, lo raro es que los nombres de los campos y las variables estan bien no hay error de sintaxis no bota error...
Ayuda

//Atrapa el valor enviado por el hipervínculo
$vcodmod=$_GET["codt"];
if(isset($vcodmod)){
$cadena="Delete from modelos where cod_modelo=".$vcodmod;
mysql_query($cadena,$cn);
}

?>



-------------------------------
Muestro los campos..


<?
while($fila=mysql_fetch_array($rsm))
{ $f++;
if($f%2==0)
{ echo"<tr class=pares>"; }
else
{ echo"<tr class=impar>"; }
echo"<td><input type='checkbox' name='' value='$fila[0]'></td>";
echo"<td><span class=Estilo2>".$fila[0]."</span></td>";
echo"<td><span class=Estilo2>".$fila[1]."</span></td>";
echo"<td><a href=editar_modelos.php?cod=".$fila[0]."><center><img src='imagenes/b_edit.png' border=0 title='eliminar'></center></a></td>";
echo"<td><a href=modelos.php?codt=".$fila[0]."><center><img src='imagenes/b_drop.png' border=0 title='Eliminar'></center></a></td>";
echo"</tr>";
}
?>
--------------------------------------------------------

//creacion de la consulta con limites

$sql=$_SESSION["modelos"]." limit ".$limitInf.",".$tamPag;
$rsm=mysql_query($sql);




-----------------------------------------------------
El segundo codigo de eliminar.....
<?
if(isset ($_POST["btnEliminar2"]))
{

for($k=1;$k<=$a;$k++)
{
$x="chk".$k;

if($_POST[$x]!="")
{
$cad="Delete from modelos where cod_modelo=".$_POST[$x];
$obj->ejecutarActualizacion($cad);
echo"codigo atrapado".$cad;
?>
<script language='javascript'>
location.href='../Pandora/index.php'
</script>
<?
} // fin del if
} //fin del for
} // fin del if
}
?>
  #4 (permalink)  
Antiguo 16/06/2009, 13:57
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema al eliminar mediante checks

Tio ya coloque el codigo pedistes espero ayuda... y ideas de como hacerlo...
  #5 (permalink)  
Antiguo 19/06/2009, 15:10
Avatar de dquispe  
Fecha de Ingreso: mayo-2009
Ubicación: Lima
Mensajes: 232
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Problema al eliminar mediante checks

Esta solucionado el error era el nombre de la variabel..


while($fila=mysql_fetch_array($rsm))
{ $f++;
if($f%2==0)
{ echo"<tr class=pares>"; }
else
{ echo"<tr class=impar>"; }
echo"<td><input type='checkbox' name='chk$f' value='$fila[0]'></td>"; ///Aqui era el error del name de la variable por eso no eliminaba
echo"<td><span class=Estilo2>".$fila[0]."</span></td>";
echo"<td><span class=Estilo2>".$fila[1]."</span></td>";
echo"<td><span class=Estilo2>".$fila[2]."</span></td>";
echo"<td><a href=editar_modelos.php?cod=".$fila[0]."><center><img src='imagenes/b_edit.png' border=0 title='eliminar'></center></a></td>";
echo"<td><a href=modelos.php?cod=".$fila[0]."><center><img src='imagenes/b_drop.png' border=0 title='Eliminar'></center></a></td>";
echo"</tr>";
}
?>


Ahora la doda es porque solo elimina si el codigo generado es 1,2,3
y si es ejemplo: mmm-001, mm-002 no lo logra eliminar que cosa tan rara en fin quisiera saber cual es el motivo.

Osea me explico para ser mas especifico..


cod_modelo des_modelo

tt-001 MODELO NOKIA 1208

tt-002 MODLEO NOKIA 3600

Asi no elimina..


Pero si le agrego un campo mas a la tabla modelos si elimina.

cod_modelo serie_modelo des_modelo

1 tt-001 modelo nokia1208
2 tt-002 modleo nokia 3600.

si es asi si elimina no entiendo el porque si inicia con un numero simple el cod_modelo si elimina pero si inicia por ejemplo tt-002 no elimina cosa mas rara.

Es una duda.. cual sera la solución.
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 03:45.