PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 09-07-2010 18:06:31

t14
Membre
Inscription : 10-09-2009
Messages : 96

Corriger une ligne php

Bonjour,

J'ai cette ligne en php, qui est censé afficher une image, et l'agrandir à côté au passage de la souris. Mais j'ai des erreurs dans la ligne dû aux ' et " sad :

$str.= '<td><a href="#"
onmouseover="showTooltip('
<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src="../images/choristes/ ' . $row['photo'] . '" width='500'></div>');"
onmouseout="hideTooltip()"><img id="big" src="../images/choristes/ '
. $row['photo'] . '" width="200" onmouseout="hideTooltip()" /></a>
<div id="bulle"></div></td>'
;

Pouvez-vous me corriger cette ligne ?

Merci.

Dernière modification par t14 (09-07-2010 18:21:18)

Hors ligne

#2 09-07-2010 18:21:31

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Corriger une ligne php

Saluton,
Essayes comme ça

$str.= sprintf("<td><a href=\"#\" onmouseover=\"showTooltip('<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src=\"../images/choristes/%s\" width='500'></div>')\" onmouseout=\"hideTooltip()\"><img id=\"big\" src=\"Giacopini Lorenzo.JPG\" width=\"200\" onmouseout=\"hideTooltip()\" /></a><div id=\"bulle\"></div></td>",$row['photo']);

Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 09-07-2010 18:35:15

t14
Membre
Inscription : 10-09-2009
Messages : 96

Re : Corriger une ligne php

Ca marche pas !
J'avais auusi fait une erreur au départ pour le 2° src=.
J'ai corrigé, et voici ta ligne :

  $str.= sprintf("<td><a href=\"#\" onmouseover=\"showTooltip('<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src="../images/choristes/ ' . $row['photo'] . '%s\" width='500'></div>')\" onmouseout=\"hideTooltip()\"><img id=\"big\" src="../images/choristes/ ' . $row['photo'] . '" width=\"200\" onmouseout=\"hideTooltip()\" /></a><div id=\"bulle\"></div></td>".$row['photo']);
 

A la fin, tu avais mis .........></td>",$row['photo']);
j'ai corrigé en .........></td>".$row['photo']);

Mais ça fonctionne toujours pô !
J'ai : Parse error: syntax error, unexpected '.'
et ça ne provient pas du $str. (pareil si j'enlève le point).

Mais dès le début, pour <div class='info'>, le <div est en noir, et la suite en bleu ! Là, y'a déjà un truc ???

Dernière modification par t14 (09-07-2010 18:36:10)

Hors ligne

#4 09-07-2010 18:49:19

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : Corriger une ligne php

Désolé mais j'ai piqué une crise de rire ! lol

En fait Kris n'a pas fait de faute (tout du moins celle que tu as cité), c'est le fonctionnement correct de sprintf().
A voir la coloration je dirai que la syntaxe de Kris est tout ce qu'il y a de plus juste (d'autant plus qu'il se trompe rarement sur ce point ayant tout un tas de bonnes astuces, le cas du sprintf). Testes là sans rien modifier. ^_-

Hors ligne

#5 10-07-2010 17:12:06

t14
Membre
Inscription : 10-09-2009
Messages : 96

Re : Corriger une ligne php

xTG a écrit :

Désolé mais j'ai piqué une crise de rire ! lol

En fait Kris n'a pas fait de faute (tout du moins celle que tu as cité), c'est le fonctionnement correct de sprintf().
A voir la coloration je dirai que la syntaxe de Kris est tout ce qu'il y a de plus juste (d'autant plus qu'il se trompe rarement sur ce point ayant tout un tas de bonnes astuces, le cas du sprintf). Testes là sans rien modifier. ^_-

Si je met tel que =>

  $str.= sprintf("<td><a href=\"#\" onmouseover=\"showTooltip('<div class='info'><img id='big' src=\"../images/choristes/%s\" width='500'></div>')\" onmouseout=\"hideTooltip()\"><img id=\"big\" src=\"../images/choristes/%s\" width=\"60\" onmouseout=\"hideTooltip()\" /></a><div id=\"bulle\"></div></td>",$row['photo']);  
 

J'ai comme message d'erreur : Warning: sprintf() [function.sprintf]: Too few arguments pour cette ligne ! sad

Hors ligne

#6 10-07-2010 19:09:15

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : Corriger une ligne php

Exact, il faut répéter deux fois $row['photo'] puisqu'il y a 2 %s ou bien remplacer chaque %s par %1s


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#7 10-07-2010 22:23:42

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Corriger une ligne php

Bonsoir,

Juste un détail aussi, j'ai vu dans le sprintf des propriétés non échappées

maljuna a écrit :

$str.= sprintf("<td><a href=\"#\" onmouseover=\"showTooltip('<div class='info'><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id='big' src=\"../images/choristes/%s\" width='500'></div>')\" onmouseout=\"hideTooltip()\"><img id=\"big\" src=\"Giacopini Lorenzo.JPG\" width=\"200\" onmouseout=\"hideTooltip()\" /></a><div id=\"bulle\"></div></td>",$row['photo']);
 
$str.= sprintf("<td><a href=\"#\" onmouseover=\"showTooltip('<div class=\"info\"><strong>Logo de presentation</strong><br>ici la photo est la meme<br><img id=\"big\" src=\"../images/choristes/%s\" width=\"500\"></div>')\" onmouseout=\"hideTooltip()\"><img id=\"big\" src=\"Giacopini Lorenzo.JPG\" width=\"200\" onmouseout=\"hideTooltip()\" /></a><div id=\"bulle\"></div></td>",$row['photo']);

C'était juste pour dire un truc wink

++ bonne soirée

Dernière modification par Jc (10-07-2010 22:25:28)


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#8 11-07-2010 13:58:37

t14
Membre
Inscription : 10-09-2009
Messages : 96

Re : Corriger une ligne php

Maljuna Kris a écrit :

Exact, il faut répéter deux fois $row['photo'] puisqu'il y a 2 %s ou bien remplacer chaque %s par %1s

Salut Maljuna Kris ! J'ai remplacé les %s pas %1s, et c'est pariel ! pffffffffffff .......... hmm

=> Warning: sprintf() [function.sprintf]: Too few arguments

Jc, qu'entends tyu par "j'ai vu dans le sprintf des propriétés non échappées" ??

sad

Hors ligne

#9 11-07-2010 23:39:36

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Corriger une ligne php

Bonsoir,

suffit de comparer le bloc initial de code que j'ai link et celui qui est corrigé dessous.


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums