KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010
-
3 mars 2005 à 09:11
KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010
-
4 mars 2005 à 15:23
Bonjour,
Voici mon soucis, et je ne sais pas comment faire . J'ai une liste déroulante dans laquelle j'ai des données émanant d'une base SQL. Je voudrais lorsque l'utilisateur tape les premières lettres dans cette liste quelle recherche automatiquement l'enregistrement. Actuellement, seul la première lettre est prise en compte. Est-il possible de faire cela ?
KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010 3 mars 2005 à 13:08
Tout d'abord merci pour ton info, ca m'a permis d'avancer.. Par contre je ne vois pas le pb, voici le code de ma page et lorsque je l'exécute j'ai une erreur sur le name "Utilisateur", l'explorateur me signale qu'il ne connait pas cette valeur ? Pouvez-vous m'aider, par avance merci
<?
session_start();
session_destroy();
session_start();
?>
<HTML>
<head>
<script type= "text/javascript">
function position()
{
window.print(utilisateur[n].text);
for (var n=0;n=rech.value)
{
utilisateur.selectedIndex=n;
n=utilisateur.length;
echo " CONNEXION A LA GESTION DES DEMANDES DE PRESTATIONS
\n";
echo "<form action ='login.php4' method= 'POST' >\n";
echo " <Center><colspan='2'> UTILISATEUR :
<SELECT NAME ='utilisateur' onkeyup= 'position()'>\n";
$sql = 'SELECT * FROM personne WHERE pers="OUI" ORDER BY Nom;';
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
echo "<OPTION></OPTION>";
while($data = mysql_fetch_array($req))
{
$utilisateuraffichenom=$data['Nom'];
$utilisateurafficheprenom=$data['Prenom'];
echo "<OPTION>$utilisateuraffichenom $utilisateurafficheprenom</OPTION>\n";
}
echo "</SELECT></Center>
\n";
echo "<Center> Mot de passe : </Center>
\n";
echo "<center></center>
\n";
echo "";
echo "</form>\n";
if ($Valider =='Valider')
{
// recherche si mot de passe
// Séparation nom et prenom
if (empty($motpasse))
{
echo '<script>alert("Erreur aucun mot de passe de saisie")</script>';
}
else
// CONTROLE LE MOT DE PASSE ET L UTILISATEUR
/// test de l utilisateur
{
$position=strrpos($utilisateur," ");
$nomutilisateur=substr($utilisateur,0,$position);
$prenomutilisateur=substr($utilisateur,$position+1);
$db = mysql_connect('localhost', 'root', '');
mysql_select_db('Annuaire',$db);
$sql = "SELECT * FROM personne WHERE Nom='$nomutilisateur' and Prenom='$prenomutilisateur' ORDER BY Nom;";
$req = mysql_query($sql) or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while($data = mysql_fetch_array($req))
{
if (($nomutilisateur=$data['Nom'])and ($prenomutilisateur=$data['Prenom'])and ($motpasse==$data['MDP']))
{
//Ok pour le mot de passe
$utilisateursit=$data['AGENT_SIT'];
$utilisateurgr=$data['CHEF_GR'];
$grutilisateur=$data['GR_PERS'];
$motdepasse=$data['MDP'];
$codeutilisateur=$data['Code_personne'];
session_register("nomutilisateur");
session_register("prenomutilisateur");
session_register("utilisateursit");
session_register("utilisateurgr");
session_register("grutilisateur");
session_register("motdepasse");
session_register("codeutilisateur");
session_register("selection");
echo "
<Center>Menu principal</center>
";
echo "<center></Center>";
}
else
{
echo '<script>alert("Mot de passe erroné")</script>';
}
}
}
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 mars 2005 à 15:05
bien,
déjà c'est plus simple si on poste la page générée
et pas la page php, sinon il nous faut les fichiers,
la base de données, charger php en local ...
et je vois dans la fonction position() :
window.print...
cet ordre, quand la page a été totalement
affichée ( ce qui est le cas ici car fonction
appelée sur le onkeyup d'un select )
efface tout la page, y compris les javascript.
[ pour controler : affciher la source après
cette action ], il faut donc voir la chose
autrement.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 3 mars 2005 à 15:07
bien,
déjà c'est plus simple si on poste la page générée
et pas la page php, sinon il nous faut les fichiers,
la base de données, charger php en local ...
et je vois dans la fonction position() :
window.print...
cet ordre, quand la page a été totalement
affichée ( ce qui est le cas ici car fonction
appelée sur le onkeyup d'un select )
efface tout la page, y compris les javascript.
[ pour controler : affciher la source après
cette action ], il faut donc voir la chose
autrement.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
Vous n’avez pas trouvé la réponse que vous recherchez ?
KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010 4 mars 2005 à 10:42
Salut Bultez,
Merci pour tes infos, je commence à comprendre le pb, par contre j'ai du mal à voir comment je peut faire pour corriger ce pb. Peux tu me donner un exemple plus précis. ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 mars 2005 à 11:22
à quoi sert window.print(utilisateur[n].text);? ça met le nom de l'utilisateur sur la page
[ en l'effaçant au préalable ], c'est tout
donc, inexploitable.
que faut-il faire dans position() ?
mais donne nous la page html générée, pas
la page php.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
</form>
<script type ="text/javascript">
function position()
{
for (var n=0;n=rech.value)
{
utilisateur.selectedIndex=n;
n=utilisateur.length;
}
}
}
</script>
Pour le window.print c'était pour faire un essai. Mais le problème que j'ai c'est que j'ai une erreur sur la ge où il m'indique que utilisateur est indéfinit ????
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 mars 2005 à 12:28
pas compris ce qu'il faut faire dans position()
j'y ai donc mis un message de la ligne sélectionnée
<HTML>
<head>
<title></title>
<script type= "text/javascript">
function position(zone)
{
alert ( zone ) ;
}
</script>
</head>
CONNEXION A LA GESTION DES DEMANDES DE PRESTATIONS
<form name ='login' action= 'login.php4' method='POST' >
<Center><colspan='2'> UTILISATEUR :
<SELECT NAME ='utilisateur'
onchange='position(this[this.selectedIndex].text)'>
<OPTION></OPTION>
<OPTION>ALAIN Olivier</OPTION>
<OPTION>ALOUX Guillot</OPTION>
</SELECT></Center>
<Center> Mot de passe :
</center>
</form>
</HTML>
name select[name select.selectedIndex].text ou .value
c'est la ligne sélectionnée.
nous dire ce qu'il faut faire dans position().
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010 4 mars 2005 à 12:39
Merci pour ton aide. J'ai testé ton code est c'est ok plus de messages d'erreur. Par contre dans position, ce que je voulais faire c'est de pouvoir taper les premières lettres d'une valeure de la boite de liste et que celle-ci se positionne au fur et à mesure sur l'enregistrement voulu ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 mars 2005 à 12:48
sur ce site, j'ai mis une source qui explique ça.
"traitements sur les select" je crois.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~
KILLGUNBLOOD
Messages postés19Date d'inscriptionjeudi 3 mars 2005StatutMembreDernière intervention19 mars 2010 4 mars 2005 à 13:09
J'ai vu ta source, mais j'ai un autre soucis, comment connaitre quelle touche l'utilisateur à frapper. Je m'explique, dans la liste déroulante, l'utilisateur tape ALA et s'il tape A je rentre dans la fonction position mais comment je sais sur quelle touche il a appuyé ?
cs_bultez
Messages postés13615Date d'inscriptionjeudi 13 février 2003StatutMembreDernière intervention15 octobre 201330 4 mars 2005 à 15:15
dans mon exemple, il faut que la saisie se fasse dans
un textbox, et on réagit avec onkeyup par exemple.
si on veux le faire directement dans le select, je ne
sais pas si c'est possible. onkeyup est-ce possible ?
de plus il faut détecter si c'est le 1er caractère, les suivants,
les touches annul, sélection, effacement, le copier/coller ....
pas si simple, si c'est possible.
Cordialement. Bul. ~Site~~[mailto:marcelBultez@tiscali.fr Mail]~