Page 1 sur 2
Afficher résultat requête dans un title="
Posté : 02 nov. 2006, 19:57
par Cobra52
Bonjour à tous,
Je voudrais insérer le résultat (pseudo) d'une requête dans la balise title d'une image.
Jusque là ça va :
$sql = "SELECT pseudo FROM membres WHERE mes conditions ";
$result = mysql_query($sql) or die(mysql_error());
Et que les pseudo retournés s'affichent de cette manière dans la balise title :
A
B
C
D
E
...
Mais je ne sais pas comment m'y prendre avec le
echo '<img src="images/image.png" title=" ????? " alt="texte">';
Merci par avance pour votre aide.

Posté : 02 nov. 2006, 20:07
par polo
Bonjour,
tu n'a juste qu'a faire un truc du style:
<?php
// connexion à la base
// Requête
$sql = "SELECT pseudo FROM membres WHERE mes conditions ";
while($data = mysql_fetch_array($sql)) /* on créé une boucle afin de parcourir les résultats */
{
?>
<img src="images/image.png" title="<?php echo $data['pseudo']; ?>" alt="texte">
<?php
}
mysql_close(); // on ferme mysql
?>
Voila

Posté : 02 nov. 2006, 20:16
par Cobra52
Merci polo
Mais de cette manière, l'image est dupliquée du nombre de pseudo trouvé !
Et pour chaque image il y a un pseudo différent, normal.
Moi ce que je veux (aimerais), c'est une image et que les pseudo soient afficher dans la balise title et visiblent de cette manière losque l'on passse la souris sur l'image :
-----------
A
B
C
D
E
-----------
Posté : 02 nov. 2006, 20:23
par polo
Dans ces cas là:
<?php
// connexion à la base
// Requête
$sql = "SELECT pseudo FROM membres WHERE mes conditions ";
echo'<img src="images/image.png" title="'; /* ouvre le title avant de récupérer tous les pseudo */
while($data = mysql_fetch_array($sql)) /* on créé une boucle afin de parcourir les résultats */
{
echo $data['pseudo'].' '; // tous les pseudo sont listés
}
mysql_close(); // on ferme mysql
echo'" alt="texte">'; // on ferme le title
?>
Par contre je ne sais pas si tu peut les lister en colonne, tu peut essaié de mettre un br comme ceci:
echo $data['pseudo'].'<br />';
Mais je ne suis pas certain que ça marche
Voila

Posté : 02 nov. 2006, 21:20
par Cobra52
Voila !
C'est exactement ce que je voulais
2 petites choses, mon image ne s'affiche pas, et j'ai les pseudo affichés comme ça:
pseudo1<br>pseudo2<br>pseudo3<br>pseudo4 ...
Oui, je veux les afficher en colonne.
Merci pour ton aide

Posté : 02 nov. 2006, 21:28
par Cobra52
Pour l'image, c'est bon. J'avais fait une erreur (scr= au lieu de src=)

Posté : 02 nov. 2006, 21:45
par polo
J'avoue ne pas avoir d'idée, ça doit tous simplement être impossible,
tu peut essayé, de feinter en utilisant du css, comme ça tu pourra faire des sauts de ligne!
Voici un lien sympa
Clique ici
Voila

Posté : 02 nov. 2006, 21:48
par thehawk
tu peut aussi creer un nouvelle image avec un bibliotheque GD !!
Posté : 02 nov. 2006, 23:29
par Ultiny
Tu est obligé de faire des vrais sauts de ligne pour qu'ils apparaissent dans la bulle. J'ai rien trouvé de mieu. Ca fait un peu moche par contre au niveau du code... m'enfin.
<a href="#" title="Ligne 1
Ligne 2
Ligne 3">Coucou</a>
Posté : 03 nov. 2006, 10:33
par Vikchill
A mon avis il faut laisser tomber le title et passer par du css qui s'affichera en rollover ou un truc du genre.
Posté : 03 nov. 2006, 11:44
par Invité
Voila ce que j'ai trouvé en css :
Code : Tout sélectionner
/* liens pour infobulles */
.info {
background-color: #FFFFFF;
font-size: 13px;
position: relative;
color: #0000ff;
}
.info:hover {
background-color: #FFFFFF;
cursor: default;
color: #ffaf8f;
}
.info:visited {
color: #0000ff;
}
/* paramètres de l'infobulle */
.info span {
display: block;
position: absolute;
padding: 3px;
text-align: left;
z-index: 99;
top: 2em;
left: -9999px;
}
.info:hover span {
display: block;
left: 0;
position: absolute;
top:2em;
left: 2em;
width: 15em;
border: 1px solid #6699cc;
background-color: #eeeeee;
color: #6699cc;
text-align: justify;
font-weight: none;
padding: 1px;
}
Le code php :
$sql = "SELECT pseudo FROM membress WHERE mes conditions";
$result = mysql_query($sql) or die(mysql_error());
echo " <a class=\"info\" onclick=\"return false\" href=\"#\"><span>";
while ($row = mysql_fetch_array($result))
{
echo '- '.$row['prod_membre_pseudo'].' ';
}
echo "</span>???</a>";
1°) la couleur du texte ".info" est prise en compte
2°) la couleur du texte ".info:hover " n'est pas prise en compte
3°) la couleur du texte ".info:visited" est prise en compte
4°) dans ".info span " ou ".info:hover span " le "display: block;" n'est pas pris en compte, l'affichage des pseudo se fait en ligne et non en colonne
Merci pour votre aide.
Posté : 03 nov. 2006, 12:24
par Cobra52
C'est moi au dessus
Je ne m'étais pourtant pas déconnecté.
Posté : 03 nov. 2006, 13:02
par polo
Bon et bien je pense que tu à du te servir tu lien que je t'ai passé:
pour créer ton infobulle, tu doit le faire sous cette forme:
<a class="info" onclick="return false" href="#">infobulle<span>1<br />2<br />3</span></a>
ET vérifie que ton css correspond bien à ceci:
Code : Tout sélectionner
a.info{
position:relative;
z-index:24; background-color:#ccc;
color:#000;
text-decoration:none}
a.info:hover{z-index:25; background-color:#ff0}
a.info span{display: none}
a.info:hover span{
/*le contenu de la balise span ne
sera visible que pour l'état a:hover */
display:block;
position:absolute;
top:2em; left:2em; width:15em;
border:1px solid #6699cc;
background-color:#eeeeee; color:#6699cc;
text-align: justify;
font-weight:none;
padding:1px;
}
Et que tu insère bien la feuille de style dans ta page html comme ceci:
<link href=" ta feuille de style.css " rel="stylesheet" type="text/css" />
Maintenant, a toi de modifier dans ton code

Posté : 03 nov. 2006, 13:12
par Cobra52
Merci polo
Maintenant j'ai bien l'affichage en colonne !
Il me reste le "a.info:hover" qui ne prend pas la couleur du texte.
Posté : 03 nov. 2006, 14:39
par polo
Fais voir ton Css, et dit moi la couleur que tu veut utiliser pour le texte une fois la souris hover
