Foros del Web » Creando para Internet » HTML »

Como activar el enlace en mi FAQ

Estas en el tema de Como activar el enlace en mi FAQ en el foro de HTML en Foros del Web. Buenas tardes, estoy trabajando en una FAQ para mi sitio, con PHP y con MySQLi, he logrado hacer varias cosas por ejemplo cuando estoy en ...
  #1 (permalink)  
Antiguo 09/11/2013, 13:05
Avatar de Mosiah16  
Fecha de Ingreso: abril-2010
Ubicación: Antofagasta
Mensajes: 70
Antigüedad: 13 años, 11 meses
Puntos: 1
Como activar el enlace en mi FAQ

Buenas tardes, estoy trabajando en una FAQ para mi sitio, con PHP y con MySQLi, he logrado hacer varias cosas por ejemplo cuando estoy en otra pagina me muestre un listado de las preguntas y el link te lleve a la sección de la otra pagina en donde está la pregunta, esto lo hago con el atributo name de html en el enlace.

Mi problema o más bien, mi duda es que utilizo algo particular para mostrar las preguntas y es que cuando hago clic en la pregunta ahí me la muestra(mostrar/ocultar), pero necesito hacer que cuando entre desde otra pagina me muestre la pregunta también y no solamente la ubicación en la pagina que es lo que logro con el atributo name.

Osea que me muestre la pregunta cuando hago Clic al igual cuando solo estoy en la pagina FAQ solamente que desde otra pagina.

Espero a verme explicado bien, aquí dejo mi código:

Listado:

Código PHP:
 <?php
    $registros
=mysqli_query($con"SELECT link,pregunta FROM faq") or die
    (
mysqli_error($con));
    while (
$reg=mysqli_fetch_array($registros))
    {
        echo 
'<ul class="arrows_list1"><li><a href="pagina.php?seccion=faq#'.$reg['link'].'">'
        echo 
htmlentities ($reg ['pregunta']);
        echo 
'</a>'
        echo 
'</li>';
        echo 
'</ul>';
    }
        
mysqli_close($con);
        
?>
Faq:

Código PHP:
?php
    $registros
=mysqli_query($con"SELECT link,pregunta,respuesta FROM faq") or die
    (
mysqli_error($con));
    while (
$reg=mysqli_fetch_array($registros))
    {
        echo 
'<span class="acc-trigger active"><a href="#" name="'.$reg['link'].'">'
        echo 
htmlentities ($reg ['pregunta']);
        echo 
'</a>'
        echo 
'</span>';
        echo 
'<div class="acc-container"><div class="content">';
        echo 
htmlentities($reg ['respuesta']);
        echo 
'</div></div>';
    }
        
mysqli_close($con);
        
?> 
Desde ya muchas gracias.
__________________
Tu mente es capaz de todo...
  #2 (permalink)  
Antiguo 10/11/2013, 15:23
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 7 meses
Puntos: 2237
Respuesta: Como activar el enlace en mi FAQ

Tu problema no es de PHP, sino de HTML, la etiqueta <a> con atributo name dejó de usarse hace algunos años.

Muevo tu tema a HTML donde podrán orientarte mejor.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 10/11/2013, 16:44
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 7 meses
Puntos: 2114
Respuesta: Como activar el enlace en mi FAQ

¿Cómo ocultas los elementos?

En principio, como dice Triby, para enlaces internos se hace directamente sobre el identificador de un elemento:

Código HTML:
Ver original
  1. <div id="algo"></div>
  2. <a href="#algo">Enlace a algo</a>

Si lo ocultas con CSS, entonces puedes hacer que se muestre el contenido de #algo usando una pseudo clase para cuando el hash de la URL corresponda con el identificador:

Código CSS:
Ver original
  1. #algo:target {
  2.   display: block;
  3. }

Obviamente no te valdrá mucho si tienes cien elementos que ocultar. Entonces podrías hacer algo tal que:

Código HTML:
Ver original
  1. <div id="algo" class="respuesta"></div>

Código CSS:
Ver original
  1. .respuesta {
  2.   display: none;
  3. }
  4. *:target {
  5.   display: block;
  6. }

Que debería de funcionar.

Última edición por pzin; 12/11/2013 a las 08:32 Razón: formato código

Etiquetas: enlace, faq, mysql, php, registro, select, sql
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 17:44.