Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-06-2003
Fr@n Fr@n is offline
Registrado
 
Registrado: may 2003
Posts: 8
Poder: 0
Fr@n Va por buen camino
Unhappy heckbox...

Tema sesiones solucionado... ara tengo una consulta de Oracle, de una lista de personas... cada persona tiene asignado un checkbox, el codigo para saber si está checkeado es :

if ($nomvar)
{
echo "checkeado";
}
else
{
echo "no checkeado";
}

No ??????

Pués como puedo saber que persona es la que lo tiene checkeado y cual no ?? lo he probado haciendo la misma consulta en la pagina siguiente y haciendo:

stmt= ($conn, "select de la lista de personas" );
OCIExecute(stmt);

while (OCIFechtInto($stmt, &$data, OCI_ASSOC)
{
$nom=$data["NOMBRE_PERSONA"];
$ape=$data["APELLIDO_PERS"]

// Y aki pongo el if del checkbox

if ($checkbox)
{
echo "$nom $ape está checkeado";
}
else
{
echo "$nom $ape no está checkeado";
}
}

Pero siempre me pone la última persona mirada tantas veces como filas en el select como si no estuviera checkeado....

Es muy muy muy muy urgente puesto q me juego nota en un trabajo, agradeceria muchiiiiiiisimo un solución o almenos una respuesta aclarando algún posible fallo. Gracias por adelantado!!
Responder Con Cita
  #2  
Antiguo 02-06-2003
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Creo que aquí estamos confundiendo las cosas.

Una cosa es la consulta SQL y otra los valores del formulario como los recibe PHP.

Primero asegurate de estar recibiendo correctamente los valores. La página del formulario podría verse así:
Código:
<form method='post' action='consulta.php'>
<input type="checkbox" name="persona1">
<input type="checkbox" name="persona2">
<input type="checkbox" name="persona3">
<input type="submit">
</form>
Y 'consulta.php' recibirá los valores. Aunque la forma que pones para verificarlos puede funcionar lo más correcto sería así:

Código PHP:
check1 = isset($persona1);
check2 = isset($persona2);
check3 = isset($persona3); 
Si estos valores los recibes bien entonces el problema está en cómo haces la consulta. Revísala y luego nos cuentas.

// Saludos
Responder Con Cita
  #3  
Antiguo 02-06-2003
Avatar de Emilio
*Emilio* Emilio is offline
Capo
 
Registrado: may 2003
Ubicación: Palma de Mallorca
Posts: 2.635
Poder: 10
Emilio Va por buen camino
Para controlar checkbox en bucles yo suelo usar algo parecido a esto...

Código PHP:
<!--formulario.php -->
<form name="form" method="post" action="loquesea.php">
<?
while ($row mysql_fetch_array($result)) {
  
?>
  <input name="checkbox[]" type="checkbox" value="<? echo $row["CODIGO"]; ?>">
  aquí todo el HTML que quieras....
  <? 

?>
</form>
Código PHP:
<?
// loquesea.php
for ($i 0$i <= count$checkbox ); $i++) {
  echo 
"El cliente código ".$checkbox[$i]." ha sido seleccionado<br>";
}
?>
Ten en cuenta que checkbox no chequeados no son enviados por POST, por lo tanto si tienes 100 checkbox y sólo tres de ellos chequeados, únicamente esos serán enviados.

hacer uso de isset() está bien en ocasiones para controlar si recibimos o no un check, pero en bucles que generan los check no es muy buena técnica ya que a priori no sabes cuantos tienes que generar y controlar un chorro tan largo tendrías que hacer piruetas para asignarle valores y para controlar cuales llegan, por el contrario el uso de arrays en HTML en estos casos es más eficiente.

Saludos
Emilio
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:01:48.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi