Foros del Web » Programando para Internet » PHP »

checkbox, php y enlaces

Estas en el tema de checkbox, php y enlaces en el foro de PHP en Foros del Web. Hola a todos!! Me gustaría plantearos el problema que me ha surgido en la elaboración de un panel de administración para una web que estoy ...
  #1 (permalink)  
Antiguo 29/04/2010, 12:47
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
checkbox, php y enlaces

Hola a todos!!

Me gustaría plantearos el problema que me ha surgido en la elaboración de un panel de administración para una web que estoy desarrollando.

Tengo una página donde me aparecen en un listado todos los contenidos que tengo grabados en una tabla 'contents' de mi base de datos.

Los elementos los muestro en un while y cada uno de ellos tiene un checkbox que usaré para seleccionar aquellos elementos a los que quiera aplicarle una acción. Segun he visto en otros mensajes de compañeros y en la página de php.net, he definido el checkbox de esta manera.

Código PHP:
<input type='checkbox' class='chkId' name='items[]' value='".$row['id']."'
Así, aquellos que seleccione se me grabaran en un array items[] con los 'id' específicos de cada uno de ellos como valor. Comprendo que con el $_POST["items"] recojo todos los valores seleccionados, tal como se indica en la web.

Ahora viene mi duda:
Tengo en un div superior un menu de enlaces tales como publicado, no publicado, eliminar, editar... de la manera siguiente:

Código:
<ul>
  <li><a href="#" name='published' title="Publicar"><img src="styles/images/publish.icon.png" /></a></li>
  <li><a href="#" name='unpublished' title="No Publicar"><img src="styles/images/unpublish.icon.png" /></a>
  <li><a ...
</ul>
Lo que quiero conseguir es algo al estilo de un correo como hotmail o gmail, donde aparecen todos los mensajes, escoges los que quieres y les aplicas un evento (eliminar, marcar como leido...).

¿Como tengo que tratar esos enlaces para que me hagan dichas funciones?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 29/04/2010, 12:59
 
Fecha de Ingreso: agosto-2009
Ubicación: Lanzarote - Canarias
Mensajes: 57
Antigüedad: 14 años, 8 meses
Puntos: 2
Respuesta: checkbox, php y enlaces

de esa forma lo que hace es que $_POST[items] queda como array puedes hacer la prueba haciendo
print_r($_POST[items])
y veras los resultados que te da, luego seria $_POST[items][0], $_POST[items][1], ...

Valla no termine de leer.

bueno sobre tu duda pues supongo que comprueba que checkbox estan activados y los procesa
  #3 (permalink)  
Antiguo 29/04/2010, 13:04
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Hola esdesign, entiendo lo que me dices para conseguir los valores seleccionados, pero mi pregunta mas bien va dirijida a como podría hacer, por el ejemplo que me dices, que al pulsar un enlace me ejecute el print que me comentas? Con un onclick en el enlace?

edito: Pues por lo que estoy viendo debe de ser una conjunción de código php para eliminar la entrada y con javascript para cargar la funcion... pero no acabo de encontrar un ejemplo aplicable a lo que busco.

Alguien sabe como? gracias!

Última edición por FRACTO; 29/04/2010 a las 13:33 Razón: agregar mas informacion
  #4 (permalink)  
Antiguo 29/04/2010, 13:34
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: checkbox, php y enlaces

Código:
<ul>
  <li><a href="" name='published' title="Publicar"><img onClick="enviar()" src="styles/images/publish.icon.png" /></a></li>
  <li><a href="#" name='unpublished' title="No Publicar"><img onClick="enviar()" src="styles/images/unpublish.icon.png" /></a>
  <li><a ...
</ul>

<script >
function enviar() {
document.formulario_name.submit();
}
</script>
Luego en el archivo que definiste en el "action" del form realizas el proceso.
__________________
Tu álbum de cromos online!!
  #5 (permalink)  
Antiguo 29/04/2010, 13:40
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Hola santris, en mi caso no me baso en un formulario. Dejo aqui el código para que sea mas entendible:

Código:
<div id="sub_menu">
    <h4>Enlaces rapidos:</h4>
    <ul>
    <li><a href="#" name='published' title="Publicar"><img src="styles/images/publish.icon.png" /></a></li>
    <li> | </li>
    <li><a href="#" name='published' title="No Publicar"><img src="styles/images/unpublish.icon.png" /></a></li>
    <li> | </li>
    <li><a href="#" title="Eliminar"><img src="styles/images/trash.icon.png" /></a></li>
    <li> | </li>
    <li><a href="#" title="Editar"><img src="styles/images/edit.icon.png" /></a></li>
    <li> | </li>
    <li><a href="index.admin.php?page=add_content" title="Crear"><img src="styles/images/create.icon.png" /></a></li>
    </ul>
</div>

..........

<div id="manage_menu">
    <div id="total-lines"><h5>Número de entradas totales: <?php echo $num_entries; ?></h5></div>
        <table class="border">
        <thead>
        <tr>
            <th scope="col" width="15">Id</td>
            <th scope="col" width="25"><input type="checkbox" name="select_all" class="chkdAll" value=""></th>
            <th scope="col">Titulo</th>
            <th scope="col">Publicado</th>
            <th scope="col">Sección</th>
            <th scope="col">Categoría</th>
            <th scope="col" width="40">Autor</th>
            <th scope="col" width="60">Fecha</th>
        </tr>
        </thead>
            <tbody>
                <?php
                    while($row = mysql_fetch_assoc($entries)) {    
                        
                        echo "
                        <tr>
                            <td>".$row['id']."</td> 
                            <td><input type='checkbox' class='chkId' name='items[]' value='".$row['id']."'></th>
                            <td class='title'><a href='index.admin.php?page=list_content&id=".$row['id']."' class='";
                            
                            if($row['reviewed'] == 1)
                                echo "review";
                            
                            echo "'>".$row['title']."</a></td>
                            <td>";
                            
                            if($row['published'] == 1) {
                                echo "<img src='styles/images/publish.icon.png' width='25' height='25' />";
                            }
                            else {
                                echo "<img src='styles/images/unpublish.icon.png' width='25' height='25' />";
                            } 
                            echo "</td>
                            <td>".$row['section']."</td>
                            <td>".$row['category']."</td>
                            <td>".$row['author']."</td>
                            <td>".$row['fechasp']."</td>
                        </tr>
                        ";
                    }
                ?>
            </tbody>
        </table>
</div>
Exactamente lo que quiero es que al pulsar sobre cada uno de los enlaces superiores (dentro del div sub_menu) me ejecute la funcion específica para los elementos que tengo seleccionados del checkbox.

edito: Efectivamente, he estado intentando ver como lo hace hotmail y si, es javascript. Así que si algun admin quiere trasladar este post al foro correcto seguiré preguntando por allí.

Gracias!!

Última edición por FRACTO; 29/04/2010 a las 14:00
  #6 (permalink)  
Antiguo 29/04/2010, 14:17
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: checkbox, php y enlaces

Cita:
Iniciado por FRACTO Ver Mensaje
Hola santris, en mi caso no me baso en un formulario.
Un checkbox no basado en un form???

El checkbox es un elemento del form
__________________
Tu álbum de cromos online!!
  #7 (permalink)  
Antiguo 29/04/2010, 14:22
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Ahora si que me has dejado a cuadros jejeje

Si me comentas que los checkbox siempre van unidos a un form, entonces si que estoy del todo perdido jaja. Yo entendia que los enlaces que tengo en un div superior podrían hacer de boton y aplicar funciones a los elementos seleccionados con el checkbox a partir de su id.
  #8 (permalink)  
Antiguo 29/04/2010, 14:26
Avatar de santris  
Fecha de Ingreso: agosto-2009
Ubicación: Sant Feliu de Llobregat
Mensajes: 955
Antigüedad: 14 años, 8 meses
Puntos: 66
Respuesta: checkbox, php y enlaces

Quizás te interese:

http://www.desarrolloweb.com/articulos/995.php
__________________
Tu álbum de cromos online!!
  #9 (permalink)  
Antiguo 29/04/2010, 14:35
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Tienes toda la razon compañero, en todas las páginas que veo los checkbox siempre van introducidos dentro de un form. Bueno, siempre dicen que no te acostarás sin aprender algo nuevo jeje.

Entonces el primer paso que voy a hacer es introducir mis checkbox dentro de un form. Entonces mi pregunta se transforma en: ¿se puede tener enlaces en un div, externo al form, que me ejecuten las funciones como si se trataran de botones submit?

Como se lia la cosa jaja
  #10 (permalink)  
Antiguo 29/04/2010, 15:39
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Bueno, parece que he encontrado esto:

http://www.rinconastur.net/php/php74.php

Creo que es lo que estaba buscando, aunque en este caso todo se crea a partir de un input = submit y yo lo que quiero es que se haga el submit mediante un enlace.

Seguiré buscando y si alguien puede hecharme una mano, seguro que la cogeré bien fuerte ejej
  #11 (permalink)  
Antiguo 30/04/2010, 01:52
 
Fecha de Ingreso: noviembre-2007
Mensajes: 45
Antigüedad: 16 años, 4 meses
Puntos: 1
Respuesta: checkbox, php y enlaces

Bueno, parece que por la mañana está uno mas fresco.

He buscado dentro de las faqs y he encontrado un ejemplo basado en lo que yo buscaba.

http://www.forosdelweb.com/f18/faqs-...tml#post518710

He seguido los pasos que dice ahí y he conseguido que seleccionando los elementos del checkbox los puedo eliminar. Se me ha abierto el cielo porque creo que ahora sabré aplicar diferentes acciones sobre esos elementos como cambiar su estado de publicado a no publicado o viceversa.

Una solucion que he pensado ha sido englobar todo el div, desde el menu de los enlaces que tenia hasta el final, dentro de un form. Así, donde tenia los enlaces los substituyo por inputs=submit y con css puedo trabajar sobre ellos para que tengan el aspecto que quiera.

Esto lo he probado y me ha funcionado correctamente.

Lo único que me quedaría ahora es que al darle al submit no me vaya a otra página a trabajar con el proceso, sino que me lo procese en la misma pantalla y se refresque con la acción realizada. Supongo que esto debería hacerlo con javascript no? Tambien estoy viendo mientras miro el código que si hago diferentes inputs tendré que diferenciarlos para que cada uno al pulsarlo me ejecute una función diferente, cosa que ahora veo extraño ya que igualmente siempre el $_POST['elementos_seleccionados'] siempre es igual para todos, ya que siempre la accion a realizar se hace sobre esos elementos.

A ver que me comentais.

Un saludo!!

Última edición por FRACTO; 30/04/2010 a las 02:19

Etiquetas: checkbox, enlaces
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 12:48.