Foros del Web » Programando para Internet » Javascript »

Como mostrar/ocultar campos de una consulta con php

Estas en el tema de Como mostrar/ocultar campos de una consulta con php en el foro de Javascript en Foros del Web. Hola buenas, Mi idea es la siguiente , despues de mostrar los datos de una consulta a una base de datos, mediante una tabla, me ...
  #1 (permalink)  
Antiguo 23/03/2005, 09:06
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 3 meses
Puntos: 0
Como mostrar/ocultar campos de una consulta con php

Hola buenas,
Mi idea es la siguiente , despues de mostrar los datos de una consulta a una base de datos, mediante una tabla, me gustaria poder seleccionar columnas de esta y mostrarlas y ocultarlas.
Se os ocurre alguna finción o manera de hacerlo????
Muchas gracias.
  #2 (permalink)  
Antiguo 23/03/2005, 09:09
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Se puede hacer facilmente con DIV o Layers, o document.write, o alguna funcion JS, te recomiendo preguntar donde corresponde.

Saludos,
  #3 (permalink)  
Antiguo 23/03/2005, 09:13
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
.... No ya preguntaste en el foro de JavaScript???... eviten poner temas repetidos... política del foro.

( !!!! lo acabo de recordar.... ahora lo veo.. os prometo)
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #4 (permalink)  
Antiguo 23/03/2005, 10:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Generando tus resultados en tablas HTML comunes .. y aplicando las propiedades de capas o elementos "incrustrados" (como innertHTML() si mal no recuerdo) podrías hacerlo .. pero eso se gestiona TODO desde Javacript ... no desde PHP .. PHP tendrá que generar "todo dato visible" y vía Javacript ya decidiras que datos "ves o no" ..

Un saludo,
  #5 (permalink)  
Antiguo 23/03/2005, 15:03
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 3 meses
Puntos: 0
Puedo poner mi codigo pra ver si se puede hacer lo que me dices, os lo agrecería.
  #6 (permalink)  
Antiguo 23/03/2005, 23:08
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Saludos:

Marcemad me contactó por privado enviandome su código... Ya antes le habia dicho cómo podria hacerlo... le sugerí un código como esto:
Código:
<input type="checkbox" name="checkbox" value="checkbox" onClick="document.getElementById('campo').style.display=this.checked?'none':''">
<input type="text" id="campo" style="display:">
.. y le sugerí que, esos campos que quiera mostrar/ocultar los convirtiera a tablas (dentro de celda) y le aplicara una id... la cuál es la que busca la función anterior... así se oculta la tabla y no hay problema.

Bueno pués... como dije, me mandó su código; 15 columnas que aparentemente estan divididas en 2 secciones y solo quiere ocultar las 2 primera columnas... ... si habia una complicación era el que en php es común (porque es más fácil) ir mostrando los resultados por filas... entonces, si se iba a manejar con tablas como le dije... no se puede aplicar un bucle como es normal... mi solución fue primero guardar esas filas en una variable y mandarlas a imprimir posteriormente en su lugar... dentro de las etiquetas <table>... algo así:
Código PHP:
 <?
// conectamos, consultamos.. etc. (no es foro de PHP :-D)
while(condicion) {
$columna1.="<tr><td>".$celda['campo']."</td></tr>";
$columna2.="<tr><td>".$celda['campo']."</td></tr>";
}
// donde $columna será el HTML generado, $celda['campo'] será el resultado de la consulta y campo será un campo de la BD :-p
}
// entonces posteriormente... Generamos las tablas dentro de tablas. Esto es fácil en un editor visual... 
// ... al final las columnas nos deben de quedar como tablas independientes
?>
<tr><td><table id="algo"> <!-- si vamos a ocultar le asignamos una id --!>
<tr><td> Encabezado </td></tr> <!-- el titulo de la columna... por esta estructura se complica trabajar los bucles de forma normal --!>
<?=$columnaX // lo que guardamos... verán que no hace falta más ?> 
</table></td><td> <!-- etc... --!>
... un código a grandes razgos y quizá vago de cierta forma... pero no hay mayor ciencia.. Cualquier duda comuniquenmela... .. Bueno, esa fue mi solución... yo no trabajo con capas.. quizá se pueda, ojalá nos digan como...

Paz, amor y baile!!!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 10/07/2008 a las 18:21
  #7 (permalink)  
Antiguo 28/03/2005, 04:12
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 3 meses
Puntos: 0
Si añado checksbox no me elima la columna corrspondiente pq??

EJ :

<table width="100%" border="0" align="center">
<tr>
<td><table width="50%" border="0">
<tr>
<td>Zona
<input type="checkbox" name="checkbox" value="checkbox" onClick="document.getElementById('col1').style.dis play=this.checked?'':'none'" checked></td>
<td>C&oacute;digo
<input type="checkbox" name="checkbox" value="checkbox" onClick="document.getElementById('col2').style.dis play=this.checked?'':'none'" checked></td>
<td>Nombre
<input type="checkbox" name="checkbox" value="checkbox" onClick="document.getElementById('col3').style.dis play=this.checked?'':'none'" checked></td>
</tr>
</table>
  #8 (permalink)  
Antiguo 28/03/2005, 16:39
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Por favor haz tus consultas más explicativas.. lo más claras posible. Evietemos estar manejandonos por mensjaes de "no entido", "no resulta".. para responder con "por qué?", "explicanos"... para qué hacer algo en dos pasos cuando se puede hacer en uno?... Es para ayudarte mejor.

Ahora bien... trato de adivinar de que hablas de que quieres ocultar 2 columnas separadas... que por la estructura no podrás juntar en una tabla. Recuerdo haberte pasado el link a un post donde se hizo eso precisamente... Mi solución fue crear una función y llamar de una sola ves dichos parámetros.

Recuerdo el link: http://www.forosdelweb.com/f13/algo-parecido-faq-27-pero-sin-usar-marcos-274585/

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #9 (permalink)  
Antiguo 29/03/2005, 08:53
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 3 meses
Puntos: 0
Disculpa por no expresarme bien!!!!!!!
Lo que quería decir, es que el post que me pasaste funciona bien.
Me oculta las tablas correspondientes, pero al mostrar los datos de la consulta, no queda la informacion como si fuese una sola tabla, sino que aparecen difentes tablas cada una de una tamaño, y esto se debe pq los campos a mostrar son de difentes tamaño cada uno.
Espero haberme expresado mejor y lo siento mucho.
Disculpas.........
  #10 (permalink)  
Antiguo 29/03/2005, 12:24
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
... no te disculpes...

... sigo sin entender..... te requieres a que en pantalla te imprime algo como:

| dato-col1 | Este dato de la columa 2 es más largo.... | col3 | c4 |

aaahhh!!! ya sé a lo que te refieres... al ser tablas independientes... sus filas no están relacionadas.. osease, en mi columna/tabla 1 puedo tener filas de un solo englón... pero en otra puedo tener texto largo ocupando varias renglones por una sola fila.. entonces, el orden de las filas no corresponde... ... es cierto no pensé en eso :-p.

.... bien... no podemos ocultar por tabla, no podemos ocultar por filas... nos queda ocultar por celdas (<td> celda </td>)... lo que haria yo es crear una id por cada celda y con el checkbox llamar a una función que, mediante un ciclo, oculte todas esas celdas...

Algó más gráfico:primero tendríamos que ver cómo imprimir algo como esto:
Código HTML:
<table>
<tr><td id="a[]"> dato 1</td><td id="b[]">Dato 2</td></tr>
<tr><td id="a[]"> Dato 1 </td><td id="b[]">Dato 2 </td></tr>
</table> 
.. y posteriormente crear una función como:
Código:
function oculta(valor, checkbox){
     if(document.getElementById('checkbox')value=true)
          var accion="none";
     else var accion="";

     for(i=0; i<cantidad; i++) {
          document.getElementById('valor').style.display=accion;
     }
}
... donde con valor hariamos una referencia a la id de la celda, con checkbox pasariamos cuál checkbox es el que se pinchó.. vemos si esta seleccionado o no... y de ahí con un bucle ocultamos/mostramos las celdas. "cantidad" la podemos obtener desde PHP.. sería similar a los resultados obtenidos... aunque creo igual con JS se podría.. con la propiedad .leng??

Es un código vago y no funcional... no dispongo de los medios ni de el tiempo para hacerte un código funcional. Pero la idea ahí está y creo esa sí es funcional... Intentalo. Suerte!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"
  #11 (permalink)  
Antiguo 30/03/2005, 15:42
Avatar de moroccotopo  
Fecha de Ingreso: marzo-2005
Ubicación: Heroes Tecamac, Estado de México (entre Ecatepec y Tultitlan)
Mensajes: 6
Antigüedad: 19 años, 1 mes
Puntos: 0
De acuerdo Podria Tener La Solucion, Pero Requiero Mas Detalle Sobre Tu Problema

Llevo algo de tiempo progrmando en php con bases de datos postgres, dejame ver si te he entendido:tienes el resultado de una consulta y la muestras dentro de una tabla, si enmbargo requeires ocultar de momento el contenido de uan columna, mejora aún, eliminarla de la tabla sin perder los datos para poder mostrarlos de nueva cuenta cuando se requieran, ¿estoy en lo correcto?


Por favor avisame si aún tienes el problema, yo te puedo ayudar si estoy en lo correcto.
  #12 (permalink)  
Antiguo 30/03/2005, 15:59
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Pués hasta ahora he entendido solo quiere hacer esto:
--EDITO: Enlace caducado --
para qué?? ni idea ... no sé que vaya a hacer después... Cuál es tu idea/solución???... comentala.

Saludos!
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 14/07/2008 a las 17:07
  #13 (permalink)  
Antiguo 31/03/2005, 03:15
 
Fecha de Ingreso: enero-2005
Mensajes: 50
Antigüedad: 19 años, 3 meses
Puntos: 0
Si es eso exactamente muchas gracias, si quires te mando el codigo.
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 03:43.