Liste déroulante + MySQL + Id et login

Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -  
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous !

Je dois récupérer les éléments d'un champ dans une table MySQL, pour ce fait tout va bien :
<select name="f_Mybook" style="width:100%">
<option><?php echo $CAS_VotreMybook; ?></option>
<?php
$sql = 'SELECT * FROM mybook_users  ';
$list = mysql_query($sql);
while ($data = mysql_fetch_array($list))
{echo'<option id="'.$data['user_id'].'">'.$data['user_login'].'</option>';}
?>
</select>
Il affiche le nom d'utilisateur comme prévu.

Le problème est là, lorsque je veux afficher l'id à la fin du lien et le nom complet de l'utilisateur, je n'ai que l'id qui s'affiche avec comme nom d'utilisateur le n° id.
$corps.=$CAS_Mybook." : <a href='http://monsite.com/?q=user/".$f_Mybook."' target='_blank'>".$f_Mybook."</a><br /><br />";


Pouvez-vous m'aider svp ?

Merci d'avance
A voir également:

9 réponses

ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Salut

d'où elles sortent tes variables $f_Mybook and co ?
J'imagine qu'elle contient l'id, si tu l'affiches à nouveau ensuite dans ton lien, je vois mal comment il pourrait y avoir autre chose que l'id dedans ^^
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Bah, quand je met :
$corps.=$CAS_Mybook." : <a href='http://monsite.com/?q=user/".$data['user_id']."' target='_blank'>".$data['user_login']."</a><br /><br />";
Il n'affiche absolument rien... Donc je me suis dit appeler le <select name="f_Mybook"
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Heu oui, mais comment veux-tu que $f_Mybook te donne l'id, mais aussi le nom ?
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Voilà pourquoi ce sujet sur ce forum ^^
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Bon, pour commencer il manque pas mal de code, on comprend pas grand chose là.

ta ligne là :
$corps.=$CAS_Mybook." : <a href='http://monsite.com/?q=user/".$f_Mybook."' target='_blank'>".$f_Mybook."</a><br /><br />";


on n'a aucune idée d'où elle sort, donc impossible de savoir ce qu'il devrait y avoir dans tes variables.
Je crois comprendre que c'est dans une nouvelle page et tu veux récupérer les données de ton formulaire ?

Tu peux procéder de plusieurs façon, mais si tu ne récupères que l'id, il va falloir faire une nouvelle requête pour récupérer les infos que tu n'as pas.
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
C'est un formulaire de contact. Dans celui-ci je dois récupérer depuis une liste déroulante, le nom d'utilisateur. Puis, lors de l'envoie du mail, le nom de l'utilisateur sélectionné devient un hypertexte.
Vu que le lien doit avoir l'identifiant de cet utilisateur qui me contact...

<a href='http://monsite.com/?q=user/".$f_Mybook."' target='_blank'>".$f_Mybook."</a>";


Cependant, si dans mon select je fais ceci :
<select name="f_Mybook" style="width:100%">
<?php
$sql = 'SELECT * FROM mybook_users  ';
$list = mysql_query($sql);
while ($data = mysql_fetch_array($list))
{echo'<option>'.$data['user_login'].'</option>';}
?>
</select>
Il m'affiche le nom d'utilisateur.

Une fois que je met un value= :
<option value="'.$data['user_id'].'">'.$data['user_login'].'</option>

Il m'affiche l'identifiant et plus le nom.
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
oui et je t'ai expliqué pourquoi plus haut.

Ce que tu peux faire, c'est un truc du genre :

<option value="'.$data['user_id'].'::'.$data['user_login'].'">'.$data['user_login'].'</option>


et ensuite :

$data = explode('::', $f_Mybook);
echo "<a href='http://monsite.com/?q=user/".$data[0]."' target='_blank'>".$data[1]."</a>";
0

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

Posez votre question
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Il me renvois un Array1
Le 1 étant l'identifiant de l'admin et dans la liste déroulante j'ai seulement cet unique enregistrement sur 6
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
quoi ? Ou ça ? quel endroit ?

Je t'ai donné 2 codes différents dont un qui a 2 instructions. Il faut être un peu plus précis et m'éviter de sortir ma boule de cristal à chaque fois :)

Tu peux me montrer ce que tu as mis exactement ?
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Désolé ThEBiShOp :s c le stress :D
Voici mon code :
<?php
$db = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS);
mysql_select_db(MYSQL_BASE,$db);

$sqls = 'SELECT * FROM mybook_users  ';
$lists = mysql_query($sqls);
while ($datas = mysql_fetch_array($lists))
{

$corps.=$CAS_Mybook." : ".$datas = explode('::', $f_Mybook)."<a href='http://monsite.com/?q=user/".$datas[0]."' target='_blank'>".$datas[1]."</a>"."<br /><br />";

<select name="f_Mybook" style="width:100%">
<option><?php echo $CAS_VotreMybook; ?></option>
<?php
echo'<option value="'.$datas['user_id'].'::'.$datas['user_login'].'">'.$datas['user_login'].'</option>';
?>
</select>
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
Je ne comprends plus vraiment, je pensais que ta ligne $corps... était à un autre endroit du code.
Là elle se retrouve avant ton formulaire alors qu'elle est censé utiliser les infos du formulaire, ça ne risque pas de marcher.

Tu peux me montrer ce que tu avais avant ?
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Voici toute ma page... peut-être que :s
https://zurb.com/chop#zc5yqrjl
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
en ligne 205 remplace la ligne que tu as par :

                    $data = explode('::', $f_Mybook);
                    $corps.=$CAS_Mybook . "&nbsp;&nbsp; : <a href='http://monsite.com/?q=user/" . $data[0] . "' target='_blank'>" . $data[1] . "</a>" . "<br /><br />";
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Il n'affiche toujours rien :s
Voici la page... https://zurb.com/chop#gt1a6zzx
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
juste en dessous ou au dessus mets un print_r($f_Mybook); et dis moi ce que ça marque.
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Il m'envoie le numéro de l'identifiant (3)
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
mmh, à la place des :: essaie de mettre juste un tiret, dans le formulaire et au niveau de $corps
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
print_r($data[0]); me renvois l'identifiant
print_r($data[1]); ne me renvois rien
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
print_r($f_Mybook); me renvois l'identifiant
print_r($data[0]); me renvois l'identifiant
print_r($data[1]); ne me renvois rien
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Ca va ressembler à ca donc ? https://zurb.com/chop#76zo30l7

Si oui, alors j'obtiens une erreur :
Warning: mysql_result(): Unable to jump to row 0 on MySQL result index 7 in /homez.724/sivop/www/casting_inscription.php on line 11

Ligne 11 :
$user_login = mysql_result($res_login, 0);
0
ThEBiShOp Messages postés 9307 Statut Contributeur 1 566
 
d'accord...

Est-ce que tu pourrais me communiquer tes codes ftp ? Je regarderai directement, je pourrai faire quelques tests et ça irait beaucoup plus vite.
0
Sinistrus Messages postés 1010 Date d'inscription   Statut Membre Dernière intervention   17
 
Non dsl :s c'est le ftp d'une entreprise... je n'ai pas le droit de le faire :s
0