Foros del Web » Programando para Internet » PHP »

recolectar informacion de varios checbox dinamicos

Estas en el tema de recolectar informacion de varios checbox dinamicos en el foro de PHP en Foros del Web. Bueno lo que pretendo hacer es creear CHECKBOX dinamicamente, esto lo realizo en el archivo pp.php y funciona, el nombre que le asigno es el ...
  #1 (permalink)  
Antiguo 12/08/2004, 09:13
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 19 años, 10 meses
Puntos: 0
recolectar informacion de varios checbox dinamicos

Bueno lo que pretendo hacer es creear CHECKBOX dinamicamente, esto lo realizo en el archivo pp.php y funciona, el nombre que le asigno es el propio id de mi consulta, ahora quiere recolectar que checkbox seleccionaron en el archivo p2.php pero no obtebgo ningun datos, Si me pueden ayudar de favor, tengo mal el codigo, error de logica,existe un metodo mejor o que onda aqui les dejo el codigo de los 2 archivos.

NOTA: La conexion a mi BD, no tengo problemas funciona perfectamente ya que he realizado consultas o simplemente en este archivo me muestra 20 checkbox con su respectivos ID, por lo cual omito los datos de la conexion con unas xxx


archivo pp.php

Cita:

<?php
echo "<form action='p2.php' method='post' name='lista'>";
$conn = ocilogon("xxx", "xxx", "xxx");
$csql = ociparse($conn,"SELECT ID FROM ORDEN_SERVICIOS WHERE STATUS='A' ORDER BY ID");
ociexecute($csql);
while (ocifetch($csql))
{
$vidmayd=ociresult($csql,"ID");
echo "<label><input name='$vidmayd' type='checkbox' value='$vidmayd'>$vidmayd</label><br>";
}
OCILogOff($conn);
echo "<input name='btnEnviar' type='submit' value='Enviar'>";
echo "</form>";
?>

archivo p2.php

Cita:
<?php

$conn = ocilogon("xxx", "xxx", "xxx");
$csql = ociparse($conn,"SELECT ID FROM ORDEN_SERVICIOS WHERE STATUS='A' ORDER BY ID");
ociexecute($csql);
while (ocifetch($csql))
{
$v=ociresult($csql,"ID");
$va=$HTTP_POST_VARS['$v'];
echo "Selecciono: $va <br>";

}
OCILogOff($conn);


?>
__________________
The God Father
__________________________________________
No hay un error tan grande como el de no seguir adelante (:pensando:) William Blake
  #2 (permalink)  
Antiguo 12/08/2004, 09:34
 
Fecha de Ingreso: abril-2004
Ubicación: Viña del Mar
Mensajes: 16
Antigüedad: 20 años
Puntos: 0
Bueno lamento informarte que tu solución no la encontraras en php, debes usar javascript para poder recolectar los datos marcados en los checkbox. Te doy un ejemplo de lo que hablo:

Cuando haces el submit debes poner algo como esto:

<INPUT TYPE=submit NAME="Seleccionar" VALUE="Enviar" onClick="return validar();">

con eso llamas a una función javascript, la cual seria mas o menos asi:

function validar() {

for (i=0;i<formulario.elements.length;i++)
{
if (formulario.elements[i].type=="checkbox")
{
if(formulario.elements[i].checked)
{
if (document.formulario.arreglo.value==0)
document.formulario.arreglo.value=formulario.eleme nts[i].value;
else
document.formulario.arreglo.value=document.formula rio.arreglo.value+":"+formulario.elements[i].value;

}
}
}

document.formulario.arreglo.value=document.formula rio.arreglo.value+":"+"hol";
document.formulario.valido.value=1;
}

Lo que hace esa función es dejar los valores de cada checkbox como un string, el cual despues por medio de php debes separar, sería algo como esto:

while (strpos($arreglo, ":")!=0){
$p0=strpos($arreglo, ":") ;
$valorcheckbox = substr($arreglo,0,$p0);
$largo=strlen($arreglo);
$arreglo=substr($arreglo,$p0+1,$largo);
//ya tienes los valores separados, ahora tienes que manipularlos
}

Con todo ese codigo deberias poder extraer los valores de cada checkbox dinamico que creaste, no te puedo explicar el codigo javascript porque sino cambiarían el mensaje para ese foro. Ojala puedas entenderlo y te recomiendo leer un poco sobre ese lenguaje.


Saludos,
  #3 (permalink)  
Antiguo 12/08/2004, 09:42
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
mm Bueno .. sin complicarse mucho ..

Si a un elemento de tu formulario le das nombre tipo "array" .. PHP entenderá que es un array y así lo tendrás que recoger:

<input type="el que sea" name="variable[]" value="el valor">

En PHP lo obtendras como array vía:

Código PHP:
foreach ($_POST['variable'] as $variable){
   echo 
$variable."<br>";

(hay una FAQ más completa que habla del tema y sus usos)

Un saludo,
  #4 (permalink)  
Antiguo 12/08/2004, 10:20
Avatar de padrino  
Fecha de Ingreso: mayo-2004
Ubicación: Aguascalientes, Ags. la tierra de la gente buena
Mensajes: 161
Antigüedad: 19 años, 10 meses
Puntos: 0
Eureka

Gracias, por contestar,

te agradesco Lord of Death, aunque te dire que me asustaste por que no tenia solucion en php, lamentablemente no conosco mucho de javascript se poco de java y se que es igual pero quiero profundisarme en un lenguaje y obte por php, a parte lo unico que he utilizado son los applet de java y pues no secompara con php es mucho mas sencillo.


con respecto a Cluster gracias por tu respuesta me salvaste la vida, funciona perfectamente, era lo que queria, espero poder ayudarte en alguna duda que tengas, aunque me lleves ventaja de conocimientos pero pondre todo mi esfuerzo.






bites
__________________
The God Father
__________________________________________
No hay un error tan grande como el de no seguir adelante (:pensando:) William Blake
  #5 (permalink)  
Antiguo 12/08/2004, 13:15
Avatar de TeKuLiN  
Fecha de Ingreso: agosto-2004
Ubicación: Santiago, Chile
Mensajes: 4
Antigüedad: 19 años, 8 meses
Puntos: 0
yo estoy realizando un sitio tambien con checkboxes dinamicos y utilizo un arreglo para almacenar y recuperar los datos... es mucho mas practico asi que te recomiendo la solucion escrita por cluster
  #6 (permalink)  
Antiguo 20/10/2004, 23:44
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
yo tengo un problema... los checkboxs que tengo, no son fijos, sino que los tengo que traer de la base de datos... no se como hacer... en fin ahora hago un tema nuevo.
__________________
Ignacio
  #7 (permalink)  
Antiguo 21/10/2004, 06:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por ignacio_giri
yo tengo un problema... los checkboxs que tengo, no son fijos, sino que los tengo que traer de la base de datos... no se como hacer... en fin ahora hago un tema nuevo.
Si te fijas .. estos checkbox tampoco son fijos .. su valor es extraido de una BD.

Puedes ver un ejemplo completo en esta FAQ:
http://www.forosdelweb.com/f18/faqs-php-530600-post518710/


Un saludo,
  #8 (permalink)  
Antiguo 21/10/2004, 19:19
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
gracias Cluster, voy a ver que puedo hacer para arreglarlo, parece dificil, despues les comento como me fue, saludos
__________________
Ignacio
  #9 (permalink)  
Antiguo 31/10/2004, 20:29
Avatar de ignacio_giri  
Fecha de Ingreso: febrero-2003
Ubicación: Argentina, Rosario
Mensajes: 585
Antigüedad: 21 años, 2 meses
Puntos: 0
no puedo hacer que los datos de los checkbox seleccionados se guarden, digamos...

$agregar = "INSERT INTO $tabla ......................."

como hacer para que los valores que uno selecciona en los checkboxes se guarden en un campo de mysql, encima un campo INT que tiene el autoincrement de la tabla, porque estoy relacionando tablas.

Proveedores y Articulos... y tengo que elegir cuando agrego los Articulos, me aparece la lista de proveedores en forma de checkbox... eso funciona, si...

Pero los articulos solo los vendes algunos de los proveedores, entonces tengo que seleccionarlos en forma de checkbox, pero no se como guardarlos :(

Saludos
__________________
Ignacio
  #10 (permalink)  
Antiguo 25/11/2005, 17:12
Avatar de gabyweb  
Fecha de Ingreso: enero-2002
Ubicación: Lima
Mensajes: 364
Antigüedad: 22 años, 3 meses
Puntos: 0
Cómo hacer qué sólo muestre los checkboxes que yo elijo, porque con el foreach los muestra todos
__________________
Gaby :adios:
  #11 (permalink)  
Antiguo 27/11/2005, 19:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por gabyweb
Cómo hacer qué sólo muestre los checkboxes que yo elijo, porque con el foreach los muestra todos
Inicia un nuevo tema y ahí expón el código que usas explicando como lo usas .. Sobre todo define "que yo elijo" (por qué sólo los checkbox que uno selecciona son los que pasa su valor (el "value" que se defina) al script de proceso .. por eso no entiendo (sin ver tu código completo) por qué "muestra todos")

Un saludo,
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 09:38.