inlcude_once.
Irantzu Leunda Biskarret wrote:
Bueno el problema que planteé al principio ya lo resolví, ahora tengo otro y es que después de que elimino lo que paso por el checkbox, necesito volver a cargar el formulario, pero me da error de conexión a base de datos porque ya tengo declarada dicha conexion.
Adjunto cdigo fuente completo.
ARCHIVO PROC_CAMBIOS_FECHA:
include ("conexion.php");//me conecto con la base de datos
$link=Conectarse();//fin de conexion//<br>
$result = mysql_query( "select * FROM contenido where fecha>='$fecha1' and fecha<='$fecha2' and ubicacion='NAVARRA' and enviar!='no' order by fecha asc", $link);
echo "<br><br><span class='tituloprincipal'>NAVARRA</span>";
echo "<form action='eliminar_fichas.php' method='post'>";
while ($row=mysql_fetch_array($result))
{
$num=$row["num"];
$fecha=$row["fecha"];
$formatfecha=formateo_fecha($fecha);
echo "<tr><td><input type='checkbox' name='campos[]' value='$num'><a href=../ventana_cambiosfecha.php?num=$num><span class='textonormal'>".$row['titulo'];
echo "</span></a></span></td>";
echo "<td><span class='negrita'>".$formatfecha;
echo "</span></td></tr>";
echo "<tr><td colspan=2 ><span class='titulocapitulo'>Cambios realizados en esta ficha: </span>".$row['cambios']."</td></tr>";
}
echo "<tr><td><INPUT TYPE='submit' name='accion' class='boton' VALUE='enviar'></td></tr>";
echo "<tr><td><INPUT TYPE='submit' name='accion' class='boton' VALUE='eliminar'></td></tr>";
//echo "<tr><td><input type='submit' name='Submit' value='eliminar'></td></tr>";
echo "</form>";
ARCHIVO ELIMINAR_FICHA
<?php
$accion =$_POST["accion"];
if ($accion == "eliminar")
{
if (is_array($_POST['campos'])){
$lista=implode(',',$_POST['campos']);
} else{
$lista=$_POST['campos'];
}
echo "<br>".$lista."<br>";
include ("conexion.php");//me conecto con la base de datos
$link=Conectarse();//fin de conexion//<br>
$result = mysql_query("SELECT * FROM contenido WHERE num IN($lista)",$link);
while ($row=mysql_fetch_array($result))
{
mysql_query("update contenido set enviar='no' where num IN($lista)",$link);
//include ("redirigir.php");
echo "<br/>.$row[titulo].<br/>";
}
mysql_close();
include ("proc_cambiosfecha.php");
}
if ($accion == "enviar")
{
include ("proc_cambiosfecha_no.php");
}
?>
----- Original Message -----
From: "Mauricio Cuenca" <[email protected]>
To: "Irantzu Leunda Biskarret" <[email protected]>
Cc: "LISTA CORREO PHP" <[email protected]>
Sent: Wednesday, January 20, 2010 2:56 PM
Subject: [PHP-ES] Re: Problemas con un formulario
Tienes que definir el campo de tu formulario como un array para que lo
recibas como array, algo como:
<input type="checkbox" name="campos[]"> usando las llaves []
Creo que es ese el problema.
--
Mauricio
2010/1/20 Irantzu Leunda Biskarret <[email protected]>
--Adjunto cdigo fuente completo.
ARCHIVO PROC_CAMBIOS_FECHA:
include ("conexion.php");//me conecto con la base de datos
$link=Conectarse();//fin de conexion//<br>
$result = mysql_query( "select * FROM contenido where fecha>='$fecha1' and fecha<='$fecha2' and ubicacion='NAVARRA' and enviar!='no' order by fecha asc", $link);
echo "<br><br><span class='tituloprincipal'>NAVARRA</span>";
echo "<form action='eliminar_fichas.php' method='post'>";
while ($row=mysql_fetch_array($result))
{
$num=$row["num"];
$fecha=$row["fecha"];
$formatfecha=formateo_fecha($fecha);
echo "<tr><td><input type='checkbox' name='campos[]' value='$num'><a href=../ventana_cambiosfecha.php?num=$num><span class='textonormal'>".$row['titulo'];
echo "</span></a></span></td>";
echo "<td><span class='negrita'>".$formatfecha;
echo "</span></td></tr>";
echo "<tr><td colspan=2 ><span class='titulocapitulo'>Cambios realizados en esta ficha: </span>".$row['cambios']."</td></tr>";
}
echo "<tr><td><INPUT TYPE='submit' name='accion' class='boton' VALUE='enviar'></td></tr>";
echo "<tr><td><INPUT TYPE='submit' name='accion' class='boton' VALUE='eliminar'></td></tr>";
//echo "<tr><td><input type='submit' name='Submit' value='eliminar'></td></tr>";
echo "</form>";
ARCHIVO ELIMINAR_FICHA
<?php
$accion =$_POST["accion"];
if ($accion == "eliminar")
{
if (is_array($_POST['campos'])){
$lista=implode(',',$_POST['campos']);
} else{
$lista=$_POST['campos'];
}
echo "<br>".$lista."<br>";
include ("conexion.php");//me conecto con la base de datos
$link=Conectarse();//fin de conexion//<br>
$result = mysql_query("SELECT * FROM contenido WHERE num IN($lista)",$link);
while ($row=mysql_fetch_array($result))
{
mysql_query("update contenido set enviar='no' where num IN($lista)",$link);
//include ("redirigir.php");
echo "<br/>.$row[titulo].<br/>";
}
mysql_close();
include ("proc_cambiosfecha.php");
}
if ($accion == "enviar")
{
include ("proc_cambiosfecha_no.php");
}
?>
----- Original Message -----
From: "Mauricio Cuenca" <[email protected]>
To: "Irantzu Leunda Biskarret" <[email protected]>
Cc: "LISTA CORREO PHP" <[email protected]>
Sent: Wednesday, January 20, 2010 2:56 PM
Subject: [PHP-ES] Re: Problemas con un formulario
Tienes que definir el campo de tu formulario como un array para que lo
recibas como array, algo como:
<input type="checkbox" name="campos[]"> usando las llaves []
Creo que es ese el problema.
--
Mauricio
2010/1/20 Irantzu Leunda Biskarret <[email protected]>
Hola, hago una consulta de datos por fechas y las muestro, luego con
checkbox tengo que cambiar un dato en la base de datos cuando el registro
está seleccionado, no se por que motivo el array me llega vacío.
Pongo aqui el pedazo de código. Como siempre, muchas gracias a todos.
$result = mysql_query( "select * FROM contenido where fecha>='$fecha1' and
fecha<='$fecha2' and ubicacion='NAVARRA' order by fecha asc", $link);
echo "<br><br><span class='tituloprincipal'>NAVARRA</span>";
$campos=array();
echo "<form action='eliminar_fichas.php' method='post'>";
while ($row=mysql_fetch_array($result))
{
$num=$row["num"];
$fecha=$row["fecha"];
$formatfecha=formateo_fecha($fecha);
echo "<tr><td><input type='checkbox' name='<? campos[$num] ?>'
value='no'><a href=../ventana_cambiosfecha.php?num=$num><span
class='textonormal'>".$row['titulo'];
echo "</span></a></span></td>";
echo "<td><span class='negrita'>".$formatfecha;
echo "</span></td></tr>";
echo "<tr><td colspan=2 ><span class='titulocapitulo'>Cambios realizados
en esta ficha: </span>".$row['cambios']."</td></tr>";
}
echo "<tr><td><input type='submit' value='eliminar'></td></tr>";
echo "</form>";
Aqui el eliminar_ficha.php
<?php
if(!empty($_POST['campos'])) {
$aLista=array_keys($_POST['campos']);
echo "<pre>";
print_r($aLista);
echo "</pre>";
foreach($aLista as $iId) {
$sQuery="UPDATE FROM tabla where id=$iId";
}
}
?>
checkbox tengo que cambiar un dato en la base de datos cuando el registro
está seleccionado, no se por que motivo el array me llega vacío.
Pongo aqui el pedazo de código. Como siempre, muchas gracias a todos.
$result = mysql_query( "select * FROM contenido where fecha>='$fecha1' and
fecha<='$fecha2' and ubicacion='NAVARRA' order by fecha asc", $link);
echo "<br><br><span class='tituloprincipal'>NAVARRA</span>";
$campos=array();
echo "<form action='eliminar_fichas.php' method='post'>";
while ($row=mysql_fetch_array($result))
{
$num=$row["num"];
$fecha=$row["fecha"];
$formatfecha=formateo_fecha($fecha);
echo "<tr><td><input type='checkbox' name='<? campos[$num] ?>'
value='no'><a href=../ventana_cambiosfecha.php?num=$num><span
class='textonormal'>".$row['titulo'];
echo "</span></a></span></td>";
echo "<td><span class='negrita'>".$formatfecha;
echo "</span></td></tr>";
echo "<tr><td colspan=2 ><span class='titulocapitulo'>Cambios realizados
en esta ficha: </span>".$row['cambios']."</td></tr>";
}
echo "<tr><td><input type='submit' value='eliminar'></td></tr>";
echo "</form>";
Aqui el eliminar_ficha.php
<?php
if(!empty($_POST['campos'])) {
$aLista=array_keys($_POST['campos']);
echo "<pre>";
print_r($aLista);
echo "</pre>";
foreach($aLista as $iId) {
$sQuery="UPDATE FROM tabla where id=$iId";
}
}
?>
Denyl Meneses Guillén
Dpto. Sistemas
GRUPO DELTRON S.A
Telf: 415 0101 anexo 1223
Calle Raúl Rebagliati 170
Urb. Santa Catalina - La Victoria
-----------------------------------------------------------------
"I know not with what weapons World War III will be fought, but World War IV will be fought with sticks and stones."