PHP|Débutant :: Forums

Advertisement

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

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

#1 05-01-2011 16:19:08

ziko
Membre
Inscription : 22-12-2010
Messages : 43

[Résolu] Combobox + mysql

Bonjour bonjour, me voila confronter à un nouveau problème, j'alimente ma combobox depuis une table mysql, dans ma combo je retrouve les noms de tout les inscrits sur mon site.

Et je souhaite que lorsque je sélectionne un nom dans la combo, son adresse mail s'affiche automatiquement à coté du nom.

Alors ca à l'air tout bête mais je bloque, à mon avis il faudrait du javascripit pour récupérer le nom sélectionner, et du php pour afficher l'adresse mail correspondante au nom.

Et pour tout vous dire j'ai aucune idée de comment mettre ca en relation...

Si quelqu'un a un début de piste, MERCII

Hors ligne

#2 05-01-2011 17:01:02

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

Re : [Résolu] Combobox + mysql

Le plus propre serait de partir sur de l'ajax. En gros un appel à un script PHP pour rafraichir la valeur de l'email.

Sinon en javascript simple il faudrait construire un tableau javascript contenant les emails, et rafraichir l'email en allant piocher dans ce tableau.

Hors ligne

#3 05-01-2011 17:06:50

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

Re : [Résolu] Combobox + mysql

xTG a écrit :

Le plus propre serait de partir sur de l'ajax. En gros un appel à un script PHP pour rafraichir la valeur de l'email.

+1 avec xTG

xTG a écrit :

Sinon en javascript simple il faudrait construire un tableau javascript contenant les emails, et rafraichir l'email en allant piocher dans ce tableau.

Ça par contre, en termes de confidentialité, c'est plutôt moyen de transmettre tous les emails dans le source HTML.


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

#4 05-01-2011 17:11:25

ziko
Membre
Inscription : 22-12-2010
Messages : 43

Re : [Résolu] Combobox + mysql

hmm d'accord, je vais allé étudier un peu la doc ajax.

Merci pour vos réponses, je vous tiens au courant.

Edit : Qui pourrait m'expliquer le but d'un "framework" ? Je n'ai pas tout compris des explications, puis internet regorge de fausse info.

Dernière modification par ziko (05-01-2011 17:19:50)

Hors ligne

#5 05-01-2011 17:21:40

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : [Résolu] Combobox + mysql

Hors ligne

#6 05-01-2011 20:10:18

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

Re : [Résolu] Combobox + mysql

Maljuna Kris a écrit :

Ça par contre, en termes de confidentialité, c'est plutôt moyen de transmettre tous les emails dans le source HTML.

Ah bah net de brut c'est sûr ! Mais on peut toujours les enregistrer en les cassant et en recollant les morceaux à l'affichage. smile

Hors ligne

#7 06-01-2011 09:02:25

ziko
Membre
Inscription : 22-12-2010
Messages : 43

Re : [Résolu] Combobox + mysql

Pierrot a écrit :

Merci Pierrot pour cet article.
Donc j'ai lu le chapitre sur les framesworks et si j'ai bien compris, j'en aurai pas besoin pour ce que je veux faire, vrai ?

Ensuite j'ai regardé plusieurs exemples de code ajax et même avec les commentaires je n'arrive pas à comprendre comment cela fonctionne.

J'ai trouvé ce bout de code qui fait à peu près ce que je souhaite, si quelqu'un pouvait m'aider à comprendre comment ca fonctionne se serait sympa

.html


<html>
<head>
<script type="text/javascript">
function showUser(str)
{
if (str=="")
  {
  document.getElementById("txtHint").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","getuser.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<form>
<select name="users" onchange="showUser(this.value)">
<option value="">Select a person:</option>
<option value="1">Peter Griffin</option>
<option value="2">Lois Griffin</option>
<option value="3">Glenn Quagmire</option>
<option value="4">Joseph Swanson</option>
</select>
</form>
<br />
<div id="txtHint"><b>Person info will be listed here.</b></div>

</body>
</html>
 

.php


<?php
$q=$_GET["q"];

$con = mysql_connect('localhost', 'peter', 'abc123');
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("ajax_demo", $con);

$sql="SELECT * FROM user WHERE id = '".$q."'";

$result = mysql_query($sql);

echo "<table border='1'>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
<th>Hometown</th>
<th>Job</th>
</tr>"
;

while($row = mysql_fetch_array($result))
  {
  echo "<tr>";
  echo "<td>" . $row['FirstName'] . "</td>";
  echo "<td>" . $row['LastName'] . "</td>";
  echo "<td>" . $row['Age'] . "</td>";
  echo "<td>" . $row['Hometown'] . "</td>";
  echo "<td>" . $row['Job'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

mysql_close($con);
?>
 

le lien de l'exemple : Lien

Edit : c'est bon j'ai trouvé en bidouillant un peu le .php
Merci pour votre aide à tous, sujet résolu !

Dernière modification par ziko (06-01-2011 09:35:52)

Hors ligne

#8 06-01-2011 11:24:35

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

Re : [Résolu] Combobox + mysql

ziko a écrit :
Pierrot a écrit :

Merci Pierrot pour cet article.
Donc j'ai lu le chapitre sur les framesworks et si j'ai bien compris, j'en aurai pas besoin pour ce que je veux faire, vrai ?

Ça c'est vite dit.
Bien que je milite, aussi, pour une approche KISS, la séparation des langages (PHP, SQL, HTML, Javascript) qu'induit un patron de conception comme MVC (dont il est fait mention dans le tuto référencé par Pierrot, comme tu n'auras pas manqué de l'observer), me semble toujours préférable aux usines à gaz, genre DW, qui entremêle allègrement tout cela rendant la maintenance au mieux hypothétique.


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

#9 06-01-2011 16:11:01

ziko
Membre
Inscription : 22-12-2010
Messages : 43

Re : [Résolu] Combobox + mysql

Euh... soit je ne sais pas lire et j'ai loupé un truc, soit je suis totalement idiot. Mais je n'utilise pas DW, alors quel est le rapport ?

Conception MVC, moi pas connaitre, je débute en html, css, javascript,php ,sql et j'avoue que je m'embrouille assez comme ca pour ne pas rajouter une couche qui ne fera que me perdre un peu plus.

Pour l'instant ca marche, ce n'est peu être pas le meilleur moyen, mais je m'en contenterai en attendant d'être un peu plus au point sur certaines technologies.

Je tiens quand même à préciser que vos commentaires me sont très utiles pour avancer dans mon projet.

Donc merci à vous tous !

Dernière modification par ziko (06-01-2011 16:13:36)

Hors ligne

Pied de page des forums