Foros del Web » Programando para Internet » PHP »

Problema con listado de servicios con checkbox

Estas en el tema de Problema con listado de servicios con checkbox en el foro de PHP en Foros del Web. Buenas foreros, Tengo un problema con unos formularios de administración para listados de servicios que utilizan checkbox. Os explico el problema. Desde un formulario de ...
  #1 (permalink)  
Antiguo 29/08/2010, 04:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 36
Antigüedad: 16 años, 4 meses
Puntos: 0
Problema con listado de servicios con checkbox

Buenas foreros,

Tengo un problema con unos formularios de administración para listados de servicios que utilizan checkbox. Os explico el problema.

Desde un formulario de alta solicito una serie de datos, entre estos datos se encuentran los servicios que realizan las empresas, que los tengo mediante checkbox para que las empresas elijan aquellos más acordes a su actividad.

Los datos de las empresas los guardo en una tabla, mientras que los listados de servicios los guardo en otra tabla.

Código PHP:
<?php
        $link
=Conectarse();
               
$re=mysql_db_query($bd,"select id_categoria, nombre_es, nombreurl_es from tcategorias order by nombre_es",$link);
               while(
$li=mysql_fetch_array($re)) {
                 
$num=$num+1;
                 if(
$actividades[$num]==$li[id_categoria]) {
                     echo 
'<li><input type="checkbox" class="formulario_alta_checkbox" name="actividades[',$num,']" value="',$li[id_categoria],'" checked="checked" class=\"formulario_alta_checkbox\" />',$li[nombre_es],'</li>'; }
                 else {
                     echo 
'<li><input type="checkbox" class="formulario_alta_checkbox" name="actividades[',$num,']" value="',$li[id_categoria],'" class=\"formulario_alta_checkbox\" />',$li[nombre_es],'</li>'; }
               }
           
?>
El problema que tengo es a la hora de administrar las fichas de las empresas, ya que no estoy pudiendo listar bien los servicios que realizan para poder activar algún servicio u otro de las distintas empresas.

Es decir, que no me sale el listar los servicios con los correspondientes checkbox con la propiedad checked.

Alguna ayudita???
  #2 (permalink)  
Antiguo 29/08/2010, 10:53
Avatar de geq
geq
 
Fecha de Ingreso: agosto-2006
Ubicación: Rosario
Mensajes: 655
Antigüedad: 17 años, 8 meses
Puntos: 22
Respuesta: Problema con listado de servicios con checkbox

Hola,

¿La tabla categorias contiene todos los posibles servicios y $actividades los correspondientes a la empresa en cuestión?

Si es así, prueba utilizar in_array() para ver si $li['id_categoria'] se encuentra en $actividades, en lugar de $actividades[$num]==$li[...]

Saludos!
  #3 (permalink)  
Antiguo 30/08/2010, 00:37
 
Fecha de Ingreso: noviembre-2007
Mensajes: 36
Antigüedad: 16 años, 4 meses
Puntos: 0
Respuesta: Problema con listado de servicios con checkbox

Hola,

Explico un poco más sobre cómo esta montada la base de datos.

En la tabla tcategorias es donde guardo el listado de servicios que pueden realizar las empresas.
Esta tabla tiene:
- id_categoria
- nombre_es
- nombreurl_es

Luego tengo otra tabla, empresas_tcategorias, que va guardando los servicios que realiza cada empresa, ya que la tabla se compone de:
- id
- id_empresa
- id_tcategoria

En la programación que tengo listo sin problemas los servicios que realiza cada empresa, pero en el panel de administración quiero tener una ficha completa de cada empresa para poder modificar, añadir y eliminar la información.
Ahí es donde viene mi problema ya que no sé listar los servicios y que aparezcan con checked los servicios que tenga cada empresa.

Cómo tendría que hacerlo?

Saludos y muchas gracias por la ayuda!
  #4 (permalink)  
Antiguo 30/08/2010, 10:47
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 1 mes
Puntos: 101
Respuesta: Problema con listado de servicios con checkbox

Cita:
if($actividades[$num]==$li[id_categoria])
Es decir que necesitas dos bucles. Uno para cada listado. Pero me parece más conveniente la propuesta de in_array()

Etiquetas: checkbox, listado, servicios
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 23:25.