Foros del Web » Programando para Internet » PHP »

chekbox que recoja si se pinchó

Estas en el tema de chekbox que recoja si se pinchó en el foro de PHP en Foros del Web. Tengo un problema con un formulario en el que puedo selecionar varios chekbox (que iran a un query) los valores los envía bien (a la ...
  #1 (permalink)  
Antiguo 09/09/2005, 10:19
 
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 20 años, 7 meses
Puntos: 0
chekbox que recoja si se pinchó

Tengo un problema con un formulario en el que puedo selecionar varios chekbox (que iran a un query) los valores los envía bien (a la misma página) , pero no se hacer para activar los enviados...

He estado intentado hacer algo para crear una variable ($checkeado) pero estoy atascado.

Espero me deis una ayudita.

Código PHP:
echo "
<form action=\""
.$_SERVER['PHP_SELF']."\" method='post'> 

  1 <input type='checkbox' name='seleccion[]' value='1' .$checkeado.>
  2 <input type='checkbox' name='seleccion[]' value='2' .$checkeado.>
  3 <input type='checkbox' name='seleccion[]' value='3' .$checkeado.>
<input type='submit' name='Submit' value='Enviar'> 
</form>"
;

if (!empty(
$_POST[seleccion]))
            {
            foreach (
$_POST['seleccion'] as $id){ 
            } 
}
else

// Formulario inhabilitado si no tenemos ninguna consulta.
    
echo "No hay de na"
}
?> 
  #2 (permalink)  
Antiguo 09/09/2005, 11:19
Avatar de SiR.CARAJ0DIDA  
Fecha de Ingreso: junio-2004
Ubicación: Acá
Mensajes: 1.166
Antigüedad: 20 años, 4 meses
Puntos: 4
si se selecciona un checkbox no se recibe nada, deberia ser

if (!isset($_POST[seleccion]))
{
foreach ($_POST['seleccion'] as $id){
}
  #3 (permalink)  
Antiguo 09/09/2005, 14:23
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Esta FAQ describe todo el proceso ... echale un vistazo:

http://www.forosdelweb.com/f18/faqs-php-530600-post518710/

Un saludo,
  #4 (permalink)  
Antiguo 12/09/2005, 05:54
 
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 20 años, 7 meses
Puntos: 0
se vuelve loco el checked

Hola, sigo intentandolo... las faq ya las lei pero no veo como recoger en la misma pagina los "checked"

Lo intento por mi cuenta y parece que no me va... pero creo que estoy en camino....

Código PHP:
<? 
$lista
=implode(',',$_POST['seleccion']); 
echo 
"E: $lista<br>";


$i1;

$tipo_checa="checked";
echo 
$tipo_checa;



// Realizar la conexión a la BD .. Seleccionar la BD a usar. 

// Ejecutar la consulta para obtener los datos de la BD. 
$resultado=mysql_query("SELECT * FROM tipo"); 

// Se inicial el formulario 
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\"> \n"

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD. 
while ($row mysql_fetch_array($resultado)){ 
  echo 
"<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['tipo_id']."\"".$i.">...".$row['tipo_nombre']."<br>"
  
$i=($i+1);
  if (
in_array($i,$seleccion)) { $i="checked";}
   



// Cerramos el formulario y ponemos nuestro botón de Submit. 
echo "<br><input type=\"submit\" name=\"Submit\" value=\"Enviar\">"
echo 
"</form>"
?>
  #5 (permalink)  
Antiguo 12/09/2005, 06:07
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Te hace falta un "if" para determinar si tu script ha de presentar los ckecbox o bien está en el proceso de que se envió ese formulario ..

Podría ser algo tipo

Código PHP:
if (empty($_POST['Submit'])){
// aquí recibes tus checkbox..
} else {
 
// aquí genera tus checbox. Es decir . . aquí tendrás que ter tu formulario completo (de <fom .. > a </form>)

Un saludo,
Un saludo,
  #6 (permalink)  
Antiguo 12/09/2005, 08:55
 
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 20 años, 7 meses
Puntos: 0
Mas o menos te entiendo

Mas o menos te entiendo, pero sigo sin que me salga como generar correctamente los "cheked".
  #7 (permalink)  
Antiguo 12/09/2005, 10:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Tines que tener presente que sólo recibiras los checkbox seleccionados .. no los que NO seleccionastes. El bucle lo usas para recorrer los que seleccionastes.

Pon el código que estés usando (despues de las recomendaciones que te hemos dato).

Un saludo,
  #8 (permalink)  
Antiguo 12/09/2005, 11:10
 
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 20 años, 7 meses
Puntos: 0
El codigo

El codigo, sigo en mi atasco, pues creo que no nos entendemos en cuanto que esta parte es un menú que siempre tiene que estar presente en la pagina, pues así discrimino en la busqueda de la BD.

Código PHP:
<? 
$lista
=implode(',',$_POST['seleccion']); 
echo 
"E: $lista<br>"//Veo cuales han sido selecionados al enviar.......

$i1;

// Ejecutar la consulta para obtener los datos de la BD. 
$resultado=mysql_query("SELECT * FROM tipo"); 

// Se inicial el formulario 
echo "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"POST\"> \n"

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD. 
while ($row mysql_fetch_array($resultado)){ 
  echo 
"<input type=\"checkbox\" name=\"seleccion[]\" value=\"".$row['tipo_id']."\"".$i.">...".$row['tipo_nombre']."<br>"
  
$i=($i+1);
  if (
in_array($i,$seleccion)) { $i="checked";} // Sustituyo $i por "checked" para que me aparezca los seleccionados anteriormente.


// Cerramos el formulario y ponemos nuestro botón de Submit. 
echo "<br><input type=\"submit\" name=\"Submit\" value=\"Enviar\">"
echo 
"</form>"
?> 
</body>
la variable $lista muestra los datos checados. ESTO FUNCIONA
El problema es que la pagina al hacer SUBMIT no muestra los checkeados.

Un saludo
  #9 (permalink)  
Antiguo 12/09/2005, 13:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 10 meses
Puntos: 129
Lo siento .. pero no entedí que es lo que deseas (lamentablemente no he probado el código para observalor: existe alguna posibilidad que dejes el código funcionando en algún sitio para que lo veamos funcionando?)

Un saludo,
  #10 (permalink)  
Antiguo 12/09/2005, 14:15
 
Fecha de Ingreso: marzo-2004
Mensajes: 81
Antigüedad: 20 años, 7 meses
Puntos: 0
seguimos

Mirare si se puede en algun sitio.

Lo que yo necesito es que los checkbox me salgan marcados si los marqué al darle a enviar, pues va a la misma página.

COsa que no ocurre.

Por eso intento sustituir la variable $i por checked

Quizas sea cosa de javascript o no se....
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 22:31.