CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Système de liens en php

Eligius
Eligius
Niveau 4
02 mai 2006 à 13:37:20

Bonjour tout le monde !

Je vous explique mon problème :
J´ai par exemple cette page :

<p><a href="#">Divers</a> | <a href="#">Menu</a> | <a href="#">Publicité</a></p>
<h2>Menu</h2>
<ul>
<li><a href="#">Liens 1</a></li>
<li><a href="#">Liens 2</a></li>

</ul>

Et j´aimerais que lorsque que l´on clique sur "Divers", "Menu", etc... Ca charge un nouveau texte (pas forcément une nouvelle page, on peut très bien faire tout dans le même fichier), mais sans recharger la page entière.

Donc pour faire ça, j´ai essayé avec switch, ça a pas marché, alors j´ai essayer avec un truc plus classique, des if et des else... ça a pas marché...
Je pense que ça vient du fait que j´ai déjà fait sur ma page d´accueil un script de news qui comporte des liens donc genre index.php?page=1
Et donc pour le menu, il faudrait des liens du genre index.php?page=1&id=2 (par exemple)

Mais je ne maîtrise pas bien les liens du style là (avec des &), donc quelqu´un pourrait-il juste m´expliquer ?
Je n´ai rien trouvé sur le site du zéro ou en cherchant sur Google, et ici j´ai trouvé quelques topics qui correspondaient (1 ou 2) mais ça ne répondait pas vraiment à ma question.

Merci d´avance...
@+++

deepblue
deepblue
Niveau 16
02 mai 2006 à 17:37:03

Voici le principe, a toi d´adapter le code :
http://simmstein.be/phpcode/?rub=tutos&amp;titre=petitefentrejavascript

Eligius
Eligius
Niveau 4
02 mai 2006 à 20:43:54

C´est exactement ce que je cherchais. Mais je n´avait rien trouvé parce que je cherchais en php mais en fait c´est très pratique comme ça en javascript.

En tout cas, ça marche nickel.
Merci beaucoup !
:-)
@+++

deepblue
deepblue
Niveau 16
02 mai 2006 à 20:56:32

de rien

Eligius
Eligius
Niveau 4
11 mai 2006 à 20:53:38

Ah désolé mais j´ai un autre problème maintenant...
On va prendre par exmemple le même code, donc maintenant avec le javascript ça donne un peu près ça :

<div id="sidebar">
<p><a href="#" onclick="ouvrir(´divers´);">Divers</a> | <a href="#" onclick="ouvrir(´menu´);">Menu</a> | <a href="#" onclick="ouvrir(´pub´);">Publicité</a></p>
<div id="divers">
<h2>Divers</h2>
<ul>
<li><a href="#">Liens</a></li>
<li><a href="#">Liens</a></li>
</ul>
</div>
<div id="menu">
<h2>Photoshop</h2>
<ul>
<li><a href="#">Liens</a></li>
<li><a href="#">Liens</a></li>
</ul>
</div>
<div id="pub">
<h2>Publicité</h2>
<ul>
<li><a href="#">Liens</a></li>
<li><a href="#">Liens</a></li>
</ul>
</div>

et en fait j´aimerais ne pas avoir à utiliser la fonction fermer... c´est à dire que je voudrais que dès qu´on clique sur un autre lien, ça ferme l´ancien automatiquement...
:question:
Par exemple je suis sur "Menu" et quand je clique sur "Divers" ça ferme "Menu" automatiquement.
Bon là je pense que je suis clair.
J´ai donc été voir sur le site du zéro pour faire des boucles, des conditions ou n´importe quoi mais je ne suis pas très doué en php (mais bon ça s´apprend) mais le fait que même théoriquement je vois pas comment on pourrait faire...
Quelqu´un peut m´aider svp ?

deepblue
deepblue
Niveau 16
11 mai 2006 à 21:02:03

function cacher()
{
var tableau = new Array("id 1 a fermer", "id 2 a fermer", "...");
for(var u = 0; u < tableau.length ; ++u) {

document.getElementById(tableau[u]).style.displa
y = "none";
}
}

onclick="cacher();ouvrir(´menu´);"

Yoda_Software
Yoda_Software
Niveau 30
11 mai 2006 à 21:12:18

Quelques fonctions utiles :

/* Montre/Cache un div */

function DivRadio(nom, numero)
{
var NumDiv = 1;
if (document.getElementByName) // Pour les navig
ateurs récents
{
while (document.getElementByName(nom + NumDiv))
{
if (NumDiv != numero)
{
SetDiv = document.getElementByName(nom + NumDiv);
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
}
else
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.all ) // Pour les vieilles ver
sions
{
while (document.all[nom + NumDiv])
{
if (NumDiv != numero)
{
SetDiv = document.all[nom + NumDiv];
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
}
else
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.layers) // Pour les très vieil
les versions
{
while (document.layers[nom + NumDiv])
{
if (NumDiv != numero)
{
SetDiv = document.layers[nom + NumDiv];
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
}
else
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
}

function DivStatus(nom, numero)
{
var divID = nom + numero;
if (document.getElementByName && document.getEle
mentByName(divID)) // Pour les navigateurs récents
{
Pdiv = document.getElementByName(divID);
PcH = true;
}
else if (document.all && document.all[divID]) //
Pour les vieilles versions
{
Pdiv = document.all[divID];
PcH = true;
}
else if (document.layers && document.layers[divI
D]) // Pour les très vieilles versions
{
Pdiv = document.layers[divID];
PcH = true;
}
else
{
PcH = false;
}
if (PcH)
{
Pdiv.className = (Pdiv.className == ´cachediv´) ? ´´ : ´cachediv´;
}
}

/* Cache tous les divs ayant le même préfixe */

function CacheTout(nom)
{
var NumDiv = 1;
if (document.getElementByName) // Pour les navig
ateurs récents
{
while (document.getElementByName(nom + NumDiv))
{
SetDiv = document.getElementByName(nom + NumDiv);
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.all ) // Pour les vieilles ver
sions
{
while (document.all[nom + NumDiv])
{
SetDiv = document.all[nom + NumDiv];
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.layers) // Pour les très vieil
les versions
{
while (document.layers[nom + NumDiv])
{
SetDiv = document.layers[nom + NumDiv];
if (SetDiv && SetDiv.className != ´cachediv´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
}

/* Montre tous les divs ayant le même préfixe */

function MontreTout( nom )
{
var NumDiv = 1;
if (document.getElementByName) // Pour les navig
ateurs récents
{
while (document.getElementByName(nom + NumDiv))
{
SetDiv = document.getElementByName(nom + NumDiv);
if (SetDiv && SetDiv.className != ´´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.all) // Pour les vieilles vers
ions
{
while (document.all[nom + NumDiv])
{
SetDiv = document.all[ nom + NumDiv ];
if (SetDiv && SetDiv.className != ´´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
else if (document.layers) // Pour les très vieil
les versions
{
while (document.layers[nom + NumDiv])
{
SetDiv = document.layers[nom + NumDiv];
if (SetDiv && SetDiv.className != ´´)
{
DivStatus(nom, NumDiv);
}
NumDiv++;
}
}
}

/* Inverse les divs : Cache les divs visible et montre les divs cachés :) */

function InverseTout(nom)
{
var NumDiv = 1;
if (document.getElementByName) // Pour les navig
ateurs récents
{
while (document.getElementByName(nom + NumDiv))
{
SetDiv = document.getElementByName(nom + NumDiv);
DivStatus(nom, NumDiv);
NumDiv++;
}
}
else if (document.all) // Pour les vieilles vers
ions
{
while (document.all[nom + NumDiv])
{
SetDiv = document.all[nom + NumDiv];
DivStatus(nom, NumDiv);
NumDiv++;
}
}
else if (document.layers) // Pour les très vieil
les versions
{
while (document.layers[nom + NumDiv])
{
SetDiv = document.layers[nom + NumDiv];
DivStatus(nom, NumDiv);
NumDiv++;
}
}
}

Yoda_Software
Yoda_Software
Niveau 30
11 mai 2006 à 21:24:51

Pour ceux qui préfèrent, le fichier contenant les fonctions ci-dessus :
http://perso.wanadoo.fr/yodas-world/download/show_hide.js

Eligius
Eligius
Niveau 4
11 mai 2006 à 21:29:38

Ahhh ! Merci beaucoup les gars ! Je crois que je peux m´en sortir maintenant !
:-d

Sous forums
  • Aide à l'achat Mac
  • Création de sites web
  • Internet
  • Macintosh
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment