Variante PHP et onclick

Résolu/Fermé
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 - 25 févr. 2010 à 16:23
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 - 26 févr. 2010 à 11:30
Bonjour,
Je c'est pas si c'est possible, mais j'aimerai modifier une variante php avec un onclick.
un truc du genre :

$variante = 0;

if (onclick) { $variante = $variante+1; }

if ($variante == 0) { echo "aaaaaaa"; }
if ($variante == 1) { echo "bbbbbbb"; }
if ($variante == 2) { echo "cccccccc"; }
.....


mon probléme, c'est le "onclick" comment le représenter comme active ou non ?
A voir également:

11 réponses

bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
25 févr. 2010 à 16:56
pas forcement changer de page, mais la recharger. Ensuite je peux t'inviter à regarder ce bout de code que j'ai écris ya quelques heures sur un autre problème, peut être t'inspireras-t-il.

<table width="500" border="1" cellspacing="0" align="center">
<tr>
<td width="290" class="lien" onclick="document.getElementById('texte').innerHTML = 'P1';">
<p>Menu 1</p>
</td>
<td width="200" rowspan="2"><div id="texte">Navigez avec le menu de gauche</div></td>
</tr>
<tr>
<td class="lien" onclick="document.getElementById('texte').innerHTML = 'P2';">
<p>Menu 2</p></td>
</tr>
</table>
1
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
26 févr. 2010 à 08:10
J'ai repris mon code pour tester l'image et ça marche, j'ai juste éviter de mettre de " ou des ' dans la balise image:
<td width="290" class="lien" onclick="document.getElementById('texte').innerHTML = '<img src=/image.jpg />';">

Si tu veux un truc plus perfectionner tu fait un ptit truc du genre :

<script>
function aff(image, largeur) {
document.getElementById('texte').innerHTML='<img src="'+image+'" width="'+largeur+'" />';
}
</script>

<table width="500" border="1" cellspacing="0" align="center">
<tr>
<td width="290" class="lien" onclick="aff('/image.jpg', '150px');">
<p>Menu 1</p>
</td>
<td width="200"><div id="texte">Navigez avec le menu de gauche</div></td>
</tr>
</table>
1
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
25 févr. 2010 à 16:33
Je pense pas que ce soit possible car le onclick n'est pas du php mais un évènement html qui exécute un js la plupart du temps. Et sans recharger la page, tu ne pourra pas influencer les variables php qui sont coté serveur.
J'espère ne pas dire de bêtises.
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
25 févr. 2010 à 16:44
merci de t'as réponse bloodchecker, je pensais comme toi, mais je me dit que c'est bizard quand même, ça me parai télement simple de dire que si je clic là tel valeur égal x !
ya pas un autre moyen que le onclick ? il y a que javascript qui peut détécter un clic ?

en faite, je veux juste afficher une image, représenté par un variante dans une boucle, et pouvoir changer l'image en cliquant sur un fléche à coté de l'image !
c'est incroyable que ça soit si compliquer pour faire un truc comme ça.

ça fait le 3éme jours que je passe là dessus, et j'ai toujour rien, j'éssaye de simplifier de plus en plus mes demande, mais t'as réponse est là seul que j'ai depuis c'est 3 jours, et elle n'ai pas trés encourragente pour moi :)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
25 févr. 2010 à 16:48
bah tu le fait en rechargeant la page a chaque clique ca devrai je pense marcher.
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
25 févr. 2010 à 16:54
ouais, j'y avais pensé, mais là ça serai plus digne de mon site :D
je veux bien laisser tomber les effets, le design, mais là faut pas pousser lol si c'est pour changer de page à chaque clic, je préfére encore rien faire :D
je crois que je vais devoir laisser tomber cette idée pour quelque temps.

Merci quand même de ton aide
Je reste dans l'éspoire que quelqu'un à une solution :)
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
25 févr. 2010 à 16:57
Salut,

A vrai dire, il y a une solution pour mélanger du PHP et du Javascript : l'AJAX.

Mais bon, après, ca devient légèrement plus compliqué.

Après, tu peux toujours jouer sur l'affichage des images avec le javascript. Par exemple, tu peux changer la source d'une balise img, ou masquer/afficher l'image en question.

Je ne suis pas sûr d'être clair, hésite pas à demander si t'as besoin d'autres explications ;)
0
bloodchecker Messages postés 339 Date d'inscription mercredi 2 juillet 2008 Statut Membre Dernière intervention 29 février 2012 35
25 févr. 2010 à 17:03
oui mais je pense que l'AJAX ne permet pas de modifier une variable php avec js pour autant.
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
25 févr. 2010 à 17:14
merci, je suis entraint d'analyser toutes les possiblitées ton script bloodchecker, c'est pas mal, le seul probléme c'est que j'ai 1 bouton par image, mais je suis justement entraint de voir si je pen arranger ça ;)
Merci
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
25 févr. 2010 à 17:42
HOUAAAHOUUUU !!!!!!!

Merci bloodchecker pour ton script, j'ai réussi à en faire un truc encore mieux que ce que je voulais :)

en faite, j'éxécute quelque requéte sur les derniére photos, puis j'attribu une variante pour chaque lots de 4 photos, exemple :

p = photo

$lot1 = p1 p2 p3 p4
$lot2 = p2 p3 p5 p6
$lot3 = p3 p4 p6 p7
......

puis je met ton script, seulement à la place de mettre "menu1" "menu2" ... je mais une petite barre design, puis j'ai remplcer le onclick par onmouseover, et il me reste plus que à mettre les barres cote à cote en dessous des variante "lot" et juste en fesant glisser la souris sur les barres, les images défilerons.

c'est pas merveilleux tout ça :)

bon, aprés faut encore que j'arrive à faire la mise en page, mais je pense que je devrais m'en sortir ;)

Merci infiniment
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
25 févr. 2010 à 20:09
j'ai parlé trop vite, ça fonctionne pas pour afficher une image !
lorsque c'est que du texte, ca fonctionne bien, mais si c'est un lien, ou une image, alors là plus rien fonctionne !
y a t'il une solution ?

voici le script que j'ai adapté :

            $sql_pict = mysql_query("SELECT sid, url2 FROM " . GALLERY_TABLE . " WHERE autor = '" . $autor . "' AND level < '2' AND autor != '' ORDER BY date DESC LIMIT 0, 1");
            list($sid0, $url0) = mysql_fetch_array($sql_pict);

				$pict01 = "<a href=\"index.php?file=Gallery&amp;op=description&amp;sid=" . $sid0 . "\"><img src=\"" . $url0 . "\" height=\"95\"></a>";

            $sql_pict = mysql_query("SELECT sid, url2 FROM " . GALLERY_TABLE . " WHERE autor = '" . $autor . "' AND level < '2' AND autor != '' ORDER BY date DESC LIMIT 1, 2");
            list($sid1, $url1) = mysql_fetch_array($sql_pict);

				$pict02 = "<a href=\"index.php?file=Gallery&amp;op=description&amp;sid=" . $sid1 . "\"><img src=\"" . $url1 . "\" height=\"95\"></a>";


echo "<table width=\"100\" style=\"border-collapse:collapse\" align=\"center\">"
. "<tr style=\"border-collapse:collapse\"><td colspan=\"20\" align=\"center\"><div id=\"texte\" align=\"center\">1</div></td></tr>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '" . $pict01 . "';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '" . $pict02 . "';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_gauche_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td>"
. "<td style=\"border-collapse:collapse\" align=\"center\" class=\"lien\" onmouseover=\"document.getElementById('texte').innerHTML = '';\"><img src=\"modules/Gallery/images/barres/barre_droite_b.png\"></td></table>";
0
kisscool387 Messages postés 260 Date d'inscription jeudi 22 novembre 2007 Statut Membre Dernière intervention 20 août 2016 11
26 févr. 2010 à 11:30
Génial bloodchecker, t'es mon sauveur, c'est le 4éme jour lol, mais bon c'est encore que le matin :D
j'ai enlevé les " comme t'as dit, est CA MARCHE !
hier soir j'avais abendonné le projet et j'ai juste affiché 4 photos sans défilement possible, mais là cette foi si c'est bon j'ai testé tout fonctionne à merveille merci 1000fois
0