Foros del Web » Programando para Internet » PHP »

Haber si me pueden ayudar..

Estas en el tema de Haber si me pueden ayudar.. en el foro de PHP en Foros del Web. Buenas! Haber, les presento mi duda Estoy programando un script de intercambio de enlaces, y tengo un problemita, cuando saco el formulario (con checkboxs) para ...
  #1 (permalink)  
Antiguo 31/03/2007, 12:47
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Haber si me pueden ayudar..

Buenas! Haber, les presento mi duda

Estoy programando un script de intercambio de enlaces, y tengo un problemita, cuando saco el formulario (con checkboxs) para elegir las categorias, quiero que cuando se imprima la pantalla saque ya como seleccionadas las categorias que anteriormente tenia seleccionadas (Imaginemos que edita y quiere cambiar de categorias)..

Las categorias las tengo en una tabla que tiene como campos: id_categoria, nombre y descripcion, y con un bucle While leo todos los campos y los imprimo en pantalla. Pero luego necesito poner otro bucle que lea todos los campos de una tabla que tengo creado que asocia el id_web con el id_categoria, es decir la web y la categoria con la que está asociada esa categoria...No sé si me explico, rogaria que me explicaran como arreglar esto o de que otra forma hacerlo...Un saludo y MUCHISIMAS GRACIAS de antemano!!
  #2 (permalink)  
Antiguo 31/03/2007, 16:39
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Haber si me pueden ayudar..

Nadie que me pueda ayudar?? Empiezo a entrar en un momento desesperante xDD
  #3 (permalink)  
Antiguo 31/03/2007, 17:52
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Haber si me pueden ayudar..

La verdad nunca se me habia presentado algo similar, pero de momento se me ocurre que lo que podrias hacer es tomar todas las categorias de la web que estas imprimiendo y meterlas en un Array(). Por ejemplo la web sitio.com esta en estas categorias:

Código PHP:
<?php
//ids de las categorias elegidas, obviamente este arreglo deberias generarlo dinamicamente con una consulta a a la tabla de las categorias por web
$categorias_elegidas = Array(13579);
?>

Supongo que por otro lado tendras el bucle para mostrar TODAS las categorias que existen en tu sistema...solo te faltaria ir preguntando si la categoria que vas a pintar esta o no en el arreglo de las categorias que posee la web...

Código PHP:
<?php
//ids de las categorias elegidas, obviamente este arreglo deberias generarlo dinamicamente con una consulta a a la tabla de las categorias por web
$categorias_elegidas = Array(13579);

while(
$row mysql_fetch_array($result))
{
          if(
in_array($row["id_categoria"], $categorias_elegidas))
          {
                      
//pintas el checkbox marcado
          
}else{
                     
//pintas el checkbox desmarcado
          
}
}
?>

Bueh, espero que te sirva.

Saludos
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #4 (permalink)  
Antiguo 31/03/2007, 18:06
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Haber si me pueden ayudar..

Sii!!! Eso quiero hacer, pero no sé como rellenar un array con una consulta (el caso del primer código) ME SALVAS LA VIDA! jaja, muchas gracias !! Es eso lo que buscaba! Lo pensé pero no supe llevarlo a la práctica. Asi que si pudieras ayudarme con el código SQL..Un saludo!
  #5 (permalink)  
Antiguo 31/03/2007, 18:10
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Haber si me pueden ayudar..

Para llevar las categorias elegidas a un arreglo es simple. Haces la consulta SQL

SELECT id_categoria FROM categorias_elegidas WHERE id_web = $id_web_actual

Y luego metes todo a un Array:

Código PHP:
<?php
$categorias_elegidas 
= Array();
while(
$row mysql_fetch_array($result))
{
       
$categorias_elegidas[] = $row["id_categoria"];
}
?>
Buscas todas las categorias:

SELECT * FROM categorias

Y las pintas:

Código PHP:
<?php
while($row mysql_fetch_array($result))
{
          if(
in_array($row["id_categoria"], $categorias_elegidas))
          {
                      
//pintas el checkbox marcado
          
}else{
                     
//pintas el checkbox desmarcado
          
}
}
?>
Y ah esta casi todo hecho :P
__________________
Federico.

Mi página: www.jourmoly.com.ar
  #6 (permalink)  
Antiguo 31/03/2007, 18:19
Avatar de AdRiAnCeTe  
Fecha de Ingreso: marzo-2007
Mensajes: 140
Antigüedad: 17 años, 1 mes
Puntos: 0
Re: Haber si me pueden ayudar..

Cita:
Iniciado por Fridureiks Ver Mensaje
Para llevar las categorias elegidas a un arreglo es simple. Haces la consulta SQL

SELECT id_categoria FROM categorias_elegidas WHERE id_web = $id_web_actual

Y luego metes todo a un Array:

Código PHP:
<?php
$categorias_elegidas 
= Array();
while(
$row mysql_fetch_array($result))
{
       
$categorias_elegidas[] = $row["id_categoria"];
}
?>
Buscas todas las categorias:

SELECT * FROM categorias

Y las pintas:

Código PHP:
<?php
while($row mysql_fetch_array($result))
{
          if(
in_array($row["id_categoria"], $categorias_elegidas))
          {
                      
//pintas el checkbox marcado
          
}else{
                     
//pintas el checkbox desmarcado
          
}
}
?>
Y ah esta casi todo hecho :P
No te puedes imaginar todo lo que te agradezco tu ayuda en este momento...MIL GRACIAS, despues de todo un dia entero comiendome la cabeza, era algo tan simple.......jaja, Un saludo amigo!
  #7 (permalink)  
Antiguo 31/03/2007, 18:38
 
Fecha de Ingreso: julio-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 1.304
Antigüedad: 18 años, 9 meses
Puntos: 6
Re: Haber si me pueden ayudar..

Me alegro que te haya servido

Saludos.
__________________
Federico.

Mi página: www.jourmoly.com.ar
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 01:58.