Faire apparaitre directement des donées apres choix dans un liste
lorgard
Messages postés56Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention22 juillet 2009
-
7 juin 2006 à 09:37
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 2010
-
8 juin 2006 à 07:06
Plop tout le monde
j'ai une tite question,
j'ai recupéré des données dans une bdd MySql via
while ($row = mysql_fetch_assoc($rslt))
{echo "<option>".$row['prenom']."</option>";}
ca marche nickel
mais il y'a a d'autres champs dans la bdd et ce que j'aimerais, c'est que dés que l'utilisateur fait un choix dans la liste deroulante , j'affiche le reste des données qui lui sont relié ^^
exemple
le liste prenom
l'utilisateur choisi robert (oui je sais je sais lol) et a coté j'affiche age/poid/taille etc etc etc
ce qu'il me manque en fait c'est coment actualiser la page et aller chercher les données voulu au moment ou le choix est fait
(j'aimerais que ca se fasse automatiquement, sans passer par un bouton "ok")
si vous pouviez m'aider
merchi
lorgard
A voir également:
Faire apparaitre directement des donées apres choix dans un liste
Teclis01
Messages postés1423Date d'inscriptionmardi 14 décembre 2004StatutMembreDernière intervention29 décembre 20124 7 juin 2006 à 10:25
il suffit de mettre un attribut id a ton select ensuite tt devient plus simple:
on a ceci
<select id=id_select name=mon_select>
donc on utilise ceci :
document.getElementById('id_select')
--------------------------------------------------------------------------------------------------
Ilvaut mieux poser une question et passer pour bête que le rester toutesa vie
lorgard
Messages postés56Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention22 juillet 2009 7 juin 2006 à 10:31
replop
voici mon code de base
<?php
$db = mysql_connect('localhost','root','') or die ("erreur de connexion");
//on selectionne votre base
mysql_select_db('mysql',$db) or die ("erreur de base");
$rslt = mysql_query("SELECT id,date,prenom,email from test_tbl;") or die ("erreur sql ".mysql_error()); // on sélectionne les colonnes id,date,prenom,email de la table test_tbl
// Etape n°3 : Initialisation et lecture des lignes
$nb = mysql_num_rows( $rslt );
?>
<html>
while ($row = mysql_fetch_assoc($rslt))
{$tab[$nb]=$row['prenom];}
ca peut fonctionner?
pour mettre les info dans un tableau pour pouvoir l'utiliser directement apres
petite explication
j'ai une liste de 140 appli et une de180 serveur avec sur chacun logiciels installé dessus
je voudrais que lorsque tu choisi une appli dans la liste , les serveurs pouvant la supporter s'affichent automatiquement et que les logiciels installés sur ces serveur s'affichent eux aussi , automatiquement.
donc ce que j'ai la liste appli , ca c'est fait :)
j'aimerais que si l'utilisateur choisi appli 1 juste a coté il y ai marqué les servuer la supportant donc serv1 2 et 3
donc en selectionant l'appli je vais chercher les données, les met dans un tableau , et les affcihes.
donc plutot de que lier le tout comme ca
je peux pas plutot faire un for jusqu'a trouver l'appli séléctionné
puis faire le bon select et afficher le tout?
le seul probleme c'est que j'arrive pas a trouver le moyen de le faire automatiquement
je sais aller chercher les données dans lla bdd, bon faut que je trouve le moyen de les metre dans le tableau mais ca , ca doit etre expliqué quelque part et ca doit pas trop etre dur, le plus gros probleme c'est d'automatiser le tout :/
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 juin 2006 à 10:51
Ben oui c le même principe en fait, très exactement.
sur ton sekect, tu mets un onchange, qui va soumettre le formulaire au choix fait dans la liste.
Sur ce submit, tu vérifies donc que ta liste est bien postée avec une valeur. Si c'est le cas, tu fais ta requête en fonction du choix, et tu affiches le résultat de la requête.
Bref, mon tableau, c'est juste pour simuler une requête.
je suis en train de modifier mon code, j'en suis la
<?php$aTab array (1> array ('test', 'pour', 'une', 'blonde'),
2 => array ('difficile', 'ca?', 'non...'),
3 => array ('très', 'facile', 'en', 'fait!'));
?>
<?php
$db = mysql_connect('localhost','root','') or die ("erreur de connexion");
//on selectionne votre base
mysql_select_db('mysql',$db) or die ("erreur de base");
$rslt = mysql_query("SELECT id,date,prenom,email from test_tbl;") or die ("erreur sql ".mysql_error()); // on sélectionne les colonnes id,date,prenom,email de la table test_tbl
// Etape n°3 : Initialisation et lecture des lignes
$nb = mysql_num_rows( $rslt );
?>
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 7 juin 2006 à 12:25
Quand tu soumets un formulaire, tu récupères ses valeurs dans $_POST (ou $_GET).
Donc si ton select s'appelle nomSelect, tu récupères le choix utilisateur dans :
$_POST['nomSelect']
Ok ?
Sur ta page, comme je le fais avec mes listes liées, il te suffit de tester si $_POST['nomSelect'] existe et est bien un entiern, par exemple. Si oui (if...), tu effectues ta requête avec cette valeur :
SELECT ... FROM ... WHERE id = $_POST['nomSelect']
lorgard
Messages postés56Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention22 juillet 2009 7 juin 2006 à 14:11
replop, j'ai tésté ^^
a premiere vue je suis sur la bonne voie grace a toi ^^
il me reste cependant un petit blem ^^
je te passe mon code
<?php
$db = mysql_connect('localhost','root','') or die ("erreur de connexion");
//on selectionne votre base
mysql_select_db('mysql',$db) or die ("erreur de base");
$rslt = mysql_query("SELECT id,date,prenom,email from test_tbl;") or die ("erreur sql ".mysql_error()); // on sélectionne les colonnes id,date,prenom,email de la table test_tbl
// Etape n°3 : Initialisation et lecture des lignes
$nb = mysql_num_rows( $rslt );
Parse error : parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\program files\easyphp1-8\www\test\test2.php on line 40
la ligne 40 correspond a
$rslt2 = mysql_query("SELECT * FROM test_tbl WHERE id= $_POST['id'];") or die ("erreur sql 2".mysql_error());
la 2eme chose essayé est de mettre ca dans une variable donc
$a=$_POST['id']
et
$rslt2= mysql_query("SELECT * FROM test_tbl WHERE id=$a;")or die ("erreur sql 2".mysql_error());
la il me repond
<form id="mainForm" method="post"><select id=id_select name=id onchange="document.getElementById('mainForm').submit();> <option>1</option><option>2</option><option>3</option><option>4</option>
Notice : Undefined index: id in c:\program files\easyphp1-8\www\test\test2.php on line 32 erreur sql 2Erreur de syntaxe près de '' à la ligne 1</form>la ligne 32 correspond a $a =$_POST['id'];
il veut pas le prendre en compte ?
ou se situe mon erreur?
j'ai mit tout le code car comme je sais pas d'ou vien le probleme c'est plus facile pour vous de vous reperer ^^
lorgard
Messages postés56Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention22 juillet 2009 7 juin 2006 à 14:38
changement d'un petit bout de code :
<?php
while ($row = mysql_fetch_assoc($rslt))
{echo "<option>".$row['id']."</option>";}
$a=$_POST['id']; <===== je l'ai placé ici
?>
</select>
<?php
$rslt2= mysql_query("SELECT * FROM test_tbl WHERE id=1;") or die ("erreur sql 2".mysql_error()); ^
|
le ja vois ma liste deroulante mais si je met where id=$a , ca bug toujours.
il veut pas recconaitre la variable ^^
ce serais pas a cause du onchange() qui n'est pas valide? comme il n'y a pas de changement , il n'y pas de variable non ?
aidez moi sur le onchange svpj'ai essayé de tester via les exemples mais ca ne fonctionne pas :/
lorgard
Messages postés56Date d'inscriptionvendredi 26 avril 2002StatutMembreDernière intervention22 juillet 2009 7 juin 2006 à 14:46
quand je met un boutton submit tout fonctionne a part que j'affiche pas les bon elements, mais ca je sais pourquoi ^^
donc ca vien bien du onchange () :)