Besoin d'aide javascript/php
rubixcube
Messages postés
8
Date d'inscription
Statut
Membre
Dernière intervention
-
rubixcube Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
rubixcube Messages postés 8 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis en train de developper un gestionnaire de tâches.
J'ai mis dans la page qui affiche les tâches d'une personne une liste déroulante pour pouvoir ( au choix ) , ses tâches, les tâches de quelqu'un d'autre ou les tâches de totu le monde.
Je voudrais que lorsque l'on clique sur un élément de la liste déroulante, le tableau qui affiche les informations concernant la tâche se mette a jour tout seul.J'ai donc commencer un petit bout de javascript :
qui me permet de récuperer l'id de l'utilisateur. Or, dans mon code php , j'ai une requete ou sql ou il y a :
je voudrais donc récuperer le login associé a l'id récupéré, l'envoyer au php pour que sa affiche les tâches concernant l'utilisateur sélectionné , masi j'ai du mal a trouvé ce dont j'ai besoin sur le net , si quelqu'un veut bien medonner une solution...
ps : voici mes codes en entier :
liste_taches.php
script.php :
je suis en train de developper un gestionnaire de tâches.
J'ai mis dans la page qui affiche les tâches d'une personne une liste déroulante pour pouvoir ( au choix ) , ses tâches, les tâches de quelqu'un d'autre ou les tâches de totu le monde.
Je voudrais que lorsque l'on clique sur un élément de la liste déroulante, le tableau qui affiche les informations concernant la tâche se mette a jour tout seul.J'ai donc commencer un petit bout de javascript :
function ChangePers(nom){ var val = nom.options[nom.selectedIndex].value; alert(val) ; }
qui me permet de récuperer l'id de l'utilisateur. Or, dans mon code php , j'ai une requete ou sql ou il y a :
$login = $_SERVER['PHP_AUTH_USER']; $requeteselect = 'SELECT a.id,a.titre,a.theme,b.login as utilisateur,echeance,commentaire, c.login as assigne_par FROM tache a,utilisateurs b, utilisateurs c WHERE b.id = a.utilisateur AND c.id = a.assigne_par AND a.echeance >= CURDATE() AND b.login = \''.$login.'\'';
je voudrais donc récuperer le login associé a l'id récupéré, l'envoyer au php pour que sa affiche les tâches concernant l'utilisateur sélectionné , masi j'ai du mal a trouvé ce dont j'ai besoin sur le net , si quelqu'un veut bien medonner une solution...
ps : voici mes codes en entier :
liste_taches.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <link rel = "stylesheet" type = "text/css" title = "CSS test" href = "styles.css" /> <link rel = "stylesheet" type = "text/css" title = "CSS test" href = "style.css" /> <script type="text/javascript" src="js/jquery-1.3.2.js"> </script> <script type="text/javascript"> function ChangePers(nom){ var val = nom.options[nom.selectedIndex].value; alert(val) ; } </script> <title>acceuil</title> </head> <body> <table border="1" id"tableau"> <tr> <th> titre </th> <th> théme </th> <th> utilisateur </th> <th> echéance </th> <th> commentaire </th> <th> assigné par </th> </tr> <?php include('script.php'); $tableau = array (); $i = 0; while ($tache = mysql_fetch_array($result)) { $tableau[$tache['id']]['titre'] = $tache['titre']; $tableau[$tache['id']]['theme'] = $tache['theme']; $tableau[$tache['id']]['utilisateur'] = $tache['utilisateur']; $tableau[$tache['id']]['echeance'] = $tache['echeance']; $tableau[$tache['id']]['commentaire'] = $tache['commentaire']; $tableau[$tache['id']]['assigne_par'] = $tache['assigne_par']; } foreach ($tableau as $tab) { echo '<tr> <td>'.$tab['titre'].'</td> <td>'.$tab['theme'].'</td> <td>'.$tab['utilisateur'].'</td> <td>'.$tab['echeance'].'</td> <td>'.$tab['commentaire'].'</td> <td>'.$tab['assigne_par'].'</td> </tr> '; } ?> </table> <select name="liste" id="notice" onchange="javascript:ChangePers(this)"> <? $requetepers = 'SELECT id,login FROM utilisateurs'; $res = mysql_query($requetepers) or die ($requetepers); $tabpers = array (); $j = 0; while ($personne = mysql_fetch_array($res)) { $tabpers[$personne['id']]['login'] = $personne['login']; $tabpers[$personne['id']]['id'] = $personne['id']; } foreach ($tabpers as $tabp) { $j = $tabp['id']; echo ' <option value='.$j.'>'.$tabp['login'].'</option> '; } $j = $j+1; echo '<option value='.$j.' >tous</option>'; switch($j) { default: } ?> </select> </body> </html>
script.php :
<?php $login = $_SERVER['PHP_AUTH_USER']; if ($affich != "tout") { include ('conf.php'); $requeteselect = 'SELECT a.id,a.titre,a.theme,b.login as utilisateur,echeance,commentaire, c.login as assigne_par FROM tache a,utilisateurs b, utilisateurs c WHERE b.id = a.utilisateur AND c.id = a.assigne_par AND a.echeance >= CURDATE() AND b.login = \''.$login.'\''; $result = mysql_query($requeteselect) or die ($requeteselect); } else { include ('conf.php'); $requeteselect = 'SELECT a.id,a.titre,a.theme,b.login as utilisateur,echeance,commentaire, c.login as assigne_par FROM tache a,utilisateurs b, utilisateurs c WHERE b.id = a.utilisateur AND c.id = a.assigne_par '; $result = mysql_query($requeteselect) or die ($requeteselect); } ?>conf.php :
<? function connection () { $serveur= "localhost"; $base = "db_gestiont96"; // database name $login = "db_gestiont96"; $pass = "gqQ23qdn"; $connect = MYSQL_CONNECT ($serveur,$login,$pass) or die("Connexion impossible"); mysql_select_db("$base") or die("Connexion impossible"); } connection(); $nom_authentification='Ediware'; $auth = false; // Assume user is not authenticated if (isset( $PHP_AUTH_USER ) && isset($PHP_AUTH_PW)) { // Formulate the query $sql = "SELECT * from utilisateurs WHERE login = '$PHP_AUTH_USER' AND pass = PASSWORD('$PHP_AUTH_PW')"; // Execute the query and put results in $result $result = mysql_query( $sql ) or die ( 'Unable to execute query.' ); // Get number of rows in $result. $num_verif = mysql_numrows( $result ); if ( $num_verif != 0 ) { // A matching row was found - the user is authenticated. $auth = true; $num_user=mysql_result($result,0,0); $administrateur=mysql_result($result,0,3); } } if ( ! $auth ) { header( 'WWW-Authenticate: Basic realm="Accès sécurisé '.$nom_authentification.'"' ); header( 'HTTP/1.0 401 Unauthorized' ); echo 'Accès refusé'; exit; } $devise='€'; $devise_pdf='€'; //header('Content-Type: text/html; charset=ISO-8859-1'); //header('Content-Type: text/html; charset=Windows-1252'); //header('Content-Type: text/html; charset=UTF-8'); ?>
A voir également:
- Besoin d'aide javascript/php
- Easy php - Télécharger - Divers Web & Internet
- Telecharger javascript - Télécharger - Langages
- Expert php pinterest - Télécharger - Langages
- A javascript error occurred in the main process - Forum Windows
- A javaScript error occurred in the main process - Forum Handicap / Accessibilté
9 réponses
Si j'ai bien compris, ton problème est juste de savoir comment actualiser un bout de ta page sans actualiser toute ta page.
Pour cela, tu peux faire appel à de l'AJAX avec la requete : XMLHttpRequest()
Voila un tutos si tu veux : http://www.siteduzero.com/tutoriel-3-4745-ajax-et-l-echange-de-donnees-en-javascript.html
Pour cela, tu peux faire appel à de l'AJAX avec la requete : XMLHttpRequest()
Voila un tutos si tu veux : http://www.siteduzero.com/tutoriel-3-4745-ajax-et-l-echange-de-donnees-en-javascript.html
autre petite question
j'ai ma table d'utilisateurs qui ressemble a sa
id | login | nom ...
1 | test | test ...
dans mon JS je récupère l'id , mais dans ma requête il me faut le login ... comment est ce que je peux faire ?
j'ai ma table d'utilisateurs qui ressemble a sa
id | login | nom ...
1 | test | test ...
dans mon JS je récupère l'id , mais dans ma requête il me faut le login ... comment est ce que je peux faire ?
Tu peux justement utiliser la requete : XMLHttpRequest() qui envoie une variable avec l'id à une page php, executé coté serveur.
Cette page php regarde ensuite dans ta table le login correspondant à ton id, et renvoie une variable contenant le login.
Pour savoir comment faire, lis bien la partie sur "L'objet XMLHttpRequest" dans le lien que je t'ai donnée.
Tout y est marquer :
-Envoi d'une requête HTTP
-Traitement côté serveur
-Récupération des données
Cette page php regarde ensuite dans ta table le login correspondant à ton id, et renvoie une variable contenant le login.
Pour savoir comment faire, lis bien la partie sur "L'objet XMLHttpRequest" dans le lien que je t'ai donnée.
Tout y est marquer :
-Envoi d'une requête HTTP
-Traitement côté serveur
-Récupération des données
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
je voudrais juste rajouter que le XMLHttpRequest() ne marche pas du tout ... c'est ptetre moi qui a merdé :
la fonction s'éxécute ( j'ai mis des alert dedans pour vérifier ) mais le tableau ne bouge pas , pas de rechargement , rien.
la fonction s'éxécute ( j'ai mis des alert dedans pour vérifier ) mais le tableau ne bouge pas , pas de rechargement , rien.
Enfaite il faut que ta page php renvoie le nouveau code html de l'interieur de ton tableau par :
Ensuite tu dois utiliser la fonction javascript innerHTML pour dire a ta page que cette partie (tu choisis la partie du code avec un id="" dans une <div>) du code doit changer.
ex:
echo "ici le code html avec les balises";
Ensuite tu dois utiliser la fonction javascript innerHTML pour dire a ta page que cette partie (tu choisis la partie du code avec un id="" dans une <div>) du code doit changer.
ex:
var reception = (egal a la reponse de ta requete XMLHttpRequest ) var change = document.getElementById('ton_id'); change.innerHTML=reception;
Ex si ton code de ta page était :
Dans ton script tu fais ta requete qui execute la page php qui est par exemple juste:
Ensuite tu receptionnes cette reponse et tu l'utilise avec innerHTML :
au final tu obtiendra :
<html> <head> </head> <body> <script type="text/javascript" scr="ton_script"></script> <div id="id_change"> </div> </body> </html>
Dans ton script tu fais ta requete qui execute la page php qui est par exemple juste:
echo "<p>Test </p>";
Ensuite tu receptionnes cette reponse et tu l'utilise avec innerHTML :
var reception = sData (nom de la variable de reponse dans le tutos) var change = document.getElementById('id_change'); (ici tu recupere l'emplacement où tu vas mettre e code) change.innerHTML=reception;
au final tu obtiendra :
<html> <head> </head> <body> <script type="text/javascript" scr="ton_script"></script> <div id="id_change"> <p>Test </p> </div> </body> </html>