8792 sujets

Développement web côté serveur, CMS

Voila, je viens d'achever un site pour une entreprise (vente en ligne). J'exploite une bdd où sont stockés les produits.
J'ai voulu, pour eviter les popups, utiliser la methode présentée sur Alsacréation, c'est a dire de cacher un calque et de le faire apparaitre au clic. Le probleme c'est que mes pages sont dynamiques avec php ...donc le div doit l'etre aussi pour que ca marche.
Bref celui qui a une idée a gagné ! Pour l'instant, je suis resté gentillement aux popups ...

Merci ...++
Administrateur
Bonjour à toi aussi Smiley ohwell

Désolé pour la touche d'humour peut-être mal placée dès ton arrivée, mais tu as fait plusieurs fautes éliminatoires Smiley biggol

juju_bilation a écrit :
utiliser la methode présentée sur Alsacréation, c'est a dire de cacher un calque

1- AlsacréationS
2- "Calques" = Smiley sm

juju_bilation a écrit :
Le probleme c'est que mes pages sont dynamiques avec php ...donc le div doit l'etre aussi pour que ca marche.
Bref celui qui a une idée a gagné ! Pour l'instant, je suis resté gentillement aux popups ...

Je ne comprend pas ton problème : PHP ne fait que générer du code HTML (ou JavaScript) je suppose dans ton cas.
S'il peut générer une popup classique (onclick=...), alors pourquoi ne pourrait-il pas générer un <div> ? Smiley confus

Je crois qu'il va falloir être un peu plus précis, montrer ton code par exemple.

Bonne chance.

PS : je déplace dans le salon des langages serveur puisqu'apparemment ton problème vient du PHP et n'a rien à voir avec les CSS.
Modifié par Raphael (13 Jun 2005 - 10:15)
Bonjour ....
(je note et pourtant j'étais averti, puisque je traîne sur ce forum depuis 1 mois, qu'il fallait être sage sous peine de se faire ...comment dire ...démonter ...(ou détruire au choix))

En tout cas, comme c'est cette fois ci moi la personne en question ... heureux de faire ta connaissance !

Je précise donc : J'ai un include d'un fichier php dans ma page principale qui liste tous les produits. Et quand on clique sur un produit, ça ouvre les détails. Et même ça l'ajoute au panier si on clique sur le petit panier a coté. Le problème c'est que j'aimerais éviter toutes ces popups. Donc j'aurais aimé savoir si qq avait une idée géniale...
Si je remplace ma popup panier par un div par exemple, comment il va pouvoir rafraîchir mon panier quand je clique. A moins que je réécrive tout mon panier avec un get javascript pour qu'il rafraîchisse la page... En fait je suis perdu !

Je n'ai pas envie non plus de coller mon code la ...je ne suis pas prêt psychologiquement Smiley sweatdrop (bien qu'il soit valide W3C)

PS: Je remercie en passant ceux qui ont fait les tutos, ils m'ont été d'une grande aide pour le design de mon site (et le respect des normes)
Salut,

En fait il n'y a aucune difficulté particulière dans la mesure où PHP te permet de dynamiser le contenu de ta page HTML. Tu peux très bien créer des DIV cachés et des boutons spécifiques faisant appel à une fonction affiche/cache qui recevrait en paramètre l'id du DIV concerné.

Lances toi, on t'aidera Smiley smile
Merci beaucoup Solo.

Je vais me lancer, je ne fais que ca d'ailleurs ! Surtout que c'est le meilleur endroit pour apprendre.
En plus comme je suis en stage à Shanghai ....je n'ai que ca à faire !
Ce petit concours tombe à pic d'ailleurs ... Mais vais je arriver en 1 mois de temps à faire un truc pour ne pas vous faire trop honte ... Il va bien me falloir le livre de Raphael (félicitations au passage)...mais je n'ai pas encore d'adresse postale.
Smiley bawling
Bon j'ai peut-être la solution à ton problème:
XMLHttpRequest
Quezako ?
C'est un truc de fou qui est en train de se développer pas mal. Schématiquement, tu peux faire un appel direct à ton serveur en javascript. Voici un petit tutorial.
http://openweb.eu.org/articles/objet_xmlhttprequest/[/url]
Dans ton cas, tu places dans ton code une balise:
<div id="produit"></div>

qui contiendra les caractéristiques de ton produit. Comment remplir cette balise ? Très simple. quand tu cliques sur un bouton, tu récupères l'évènement (onclick), tu fais un appel à ton objet XmlHttpRequest en lui donnant l'url d'une page php (+ id de ton produit dans l'url) qui génère le code html propre au produit. Tu récupères ce code html en javascript et tu fais un
document.getElementById("produit").innerHTML = <données renvoyées par XmlHttpRequest>

Ca a l'air un peu brouillon comme cela, mais au final c'est vraiment pas compliqué !
Si tu veux un exemple concret:
http://www.google.com/webhp?complete=1&hl=en[/url]
ou bien google mail !
Amuse toi bien
Hello,

XHR dans ce cas n'est pas une bonne solution. En terme de référencement il faut plutôt avoir les informations dans la page. Les moteurs de recherches n'utilisent pas javascript Smiley cligne
Tout à fait d'accord avec toi Solo sur le principe !
Sauf que dans le post original, si j'ai bien compris ce qu'il voulait faire, le réferencement n'ai pas pris en compte. Je m'explique: juju_bilation a une page , par exemple search.php, et il veut que dans cette page, quand il clique sur un produit, un div apparaît avec le détail d'un produit et SANS recharger la page. Donc dans ce cas, que tu visionnes le produit "bouilloire" ou "charentaise" , c'est la même page qui est affichée, à l'occurence search.php !
Ok merci Macpom !
Au passage, je voulais juste dire que le XmlHttpRequest doit être utilisé avec modération.
J'ai à peu près cerné le principe de XmlHttpRequest, mais je ne vois pas comment on pourrait utiliser cette méthode avec une Base de Données MySQL. Est-ce possible ? envisageable ?
Lu,

Il ne faut pas entendre la collaboration de XHR et d'une base de données dans ce sens.

XHR te permet d'effectuer une requête vers un service web via HTTP(donc l'objet attend une réponse). Un service web c'est un mot pour décrire un processus qui attend un message et qui en retourne un et ce quelque soit le type d'application de l'appelant. Ce processus peut donc très bien mettre en marche une routine PHP qui ira piocher des infos dans ta BDD pour la retourner(un simple echo dans ton cas) soit sous format texte soit sous format XML. XHR dispose donc de propriétés te permettant de capturer ces informations une fois retournée. A toi de voir si tu veux les traiter via DOM ou sous forme de texte.

Bon courage!