Php ondblclick
Résolu/Fermé
A voir également:
- Php ondblclick
- Easy php - Télécharger - Divers Web & Internet
- \R php ✓ - Forum PHP
- Br php ✓ - Forum PHP
- Expert php - Télécharger - Langages
- Php echo image ✓ - Forum PHP
17 réponses
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
14 mars 2010 à 22:48
14 mars 2010 à 22:48
Je ne vois pas pourquoi tu souhaites utiliser les variables de sessions. Ces variables servent à conserver des données pendant toute une visite (session), jusqu'au temps où le navigateur est fermé.
Voici ce à quoi doit ressembler ta balise tr :
Voici ce à quoi doit ressembler ta balise tr :
<tr ondblclick="document.location.href = 'editer-client.php?id=' + this.getElementsByTagName('td')[0].firstChild.nodeValue;">Et sur ta page editer-client.php, tu auras la variable $_GET['id'] qui contient l'id du client.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
Modifié par avion-f16 le 14/03/2010 à 18:23
Modifié par avion-f16 le 14/03/2010 à 18:23
"dans une variable $noclient"
Il n'y a plus de PHP une fois la page envoyée au navigateur !!
Et sur "page.php" :
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
Il n'y a plus de PHP une fois la page envoyée au navigateur !!
<tr ondblclick="document.location.href = 'page.php?noclient=' + this.getElementsByTagName('td')[0].firstChild.nodeValue;">
Et sur "page.php" :
<?php session_start(); $_SESSION['noclient'] = $_GET['noclient']; header('Location: liste-clients.php'); ?>
Ton ordinateur ne fait pas ce que tu veux ... mais ce que tu lui dis de faire.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
15 mars 2010 à 17:57
15 mars 2010 à 17:57
C'est simple.
Au double clique (dblclick), on fait une redirection Javascript avec "document.location.href = cible".
Ici, cible est "this.getElementsByTagName('td')[0].firstChild.nodeValue".
this représente la balise <tr> elle-même. getElementsByTagName('td')[0] va réprésenter la première balise td contenu dans "this" (balise tr). Ensuite, avec "firstChild.nodeValue", nous récupérons le contenu de cette balise.
DOM est extraordinaire, je trouve !
Au double clique (dblclick), on fait une redirection Javascript avec "document.location.href = cible".
Ici, cible est "this.getElementsByTagName('td')[0].firstChild.nodeValue".
this représente la balise <tr> elle-même. getElementsByTagName('td')[0] va réprésenter la première balise td contenu dans "this" (balise tr). Ensuite, avec "firstChild.nodeValue", nous récupérons le contenu de cette balise.
DOM est extraordinaire, je trouve !
vlmath
Messages postés
794
Date d'inscription
vendredi 20 octobre 2006
Statut
Contributeur
Dernière intervention
4 septembre 2011
160
14 mars 2010 à 10:11
14 mars 2010 à 10:11
Salut,
Jamais vu l'option ondblclick, mais je pense que ça ne va pas comme ça ...
Tu ne peux pas mettre du PHP dans une page html ... le PHP sera exécuté lors de la création de la page, et renvoyé en static au navigateur. D'ailleurs, je suppose qu'il te dit qu'il y a un problème de header ... non ?
Ce que tu pourrait faire, c'est envoyer le formulaire à une page PHP qui t'enregistre ta variable, et qui te renvoye ensuite à ta page de clients.
Et ta page d'enregistrement :
J'ai pas du tout vérifié le code rajouter, mais l'idée est là. Essaye de voir ça :D
@Bientôt
Jamais vu l'option ondblclick, mais je pense que ça ne va pas comme ça ...
Tu ne peux pas mettre du PHP dans une page html ... le PHP sera exécuté lors de la création de la page, et renvoyé en static au navigateur. D'ailleurs, je suppose qu'il te dit qu'il y a un problème de header ... non ?
Ce que tu pourrait faire, c'est envoyer le formulaire à une page PHP qui t'enregistre ta variable, et qui te renvoye ensuite à ta page de clients.
<form action="test.php" method="post" id="form1"> <input type=hidden id="noclient" /> <table class="tabwhite" border="1"> <tr class="colone"> <td width="110">No Client</td> <td width="130">Téléphone</td> <td width="210">Prénom</td> <td width="210">Nom</td> <td width="130">Date</td> </tr> <tr ondblclick="javascript:form1.elementbyid('noclient').value='13851'; form.submit();"> <td>13851</td> <td>4189523386</td> <td>Marie-Christine</td> <td>Claude-Robert</td> <td>13/12/2008</td> </tr> </table> </form>
Et ta page d'enregistrement :
<?php $_SESSION['noclient']=$_POST['noclient']; header("Location: test.php");?
J'ai pas du tout vérifié le code rajouter, mais l'idée est là. Essaye de voir ça :D
@Bientôt
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai besoin que la variable no client se retrouve dans $_SESSION['noclient']. Donc, je pense que cela pourrais p-t marché:
<?php
$_SESSION['noclient']=javascript:form1.elementbyid('noclient');
header("Location: test.php");
?>
Mais comme je n'y connai rien en javascript, j'aurai besoin de quelque explication si tu le veux bien.
<tr ondblclick="javascript:form1.elementbyid('noclient').value='13851'; form.submit();">
De plus, 13851 sera une variable en php. Par exemple $noclient , qui sera dans une boucle afin d'afficher tout les client dans un tableau et donc en dooublecliquant sur la colone x, on devra récup le numéro du client.
merci
<?php
$_SESSION['noclient']=javascript:form1.elementbyid('noclient');
header("Location: test.php");
?>
Mais comme je n'y connai rien en javascript, j'aurai besoin de quelque explication si tu le veux bien.
<tr ondblclick="javascript:form1.elementbyid('noclient').value='13851'; form.submit();">
De plus, 13851 sera une variable en php. Par exemple $noclient , qui sera dans une boucle afin d'afficher tout les client dans un tableau et donc en dooublecliquant sur la colone x, on devra récup le numéro du client.
merci
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
14 mars 2010 à 17:53
14 mars 2010 à 17:53
Arrête de confondre ce qui se passe sur le serveur avec ce qui se passe sur le navigateur !
Le PHP et le Javascript n'ont aucun lien !
Le PHP et le Javascript n'ont aucun lien !
avion-f16 si t'a une solution pour que je récupere le numéro du client dans la variable $_SESSION['noclient'], je suis ouvert.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
14 mars 2010 à 18:09
14 mars 2010 à 18:09
Il est où le numéro du client ?
Dans un formulaire ?
Dans un formulaire ?
Si j'ai bien comprit, voici se que tu me sugere:
<?php
session_start();
$_SESSION['noclient'] = $_GET['noclient'];
header('Location: liste-clients.php');
?>
<head>
<title>Statistique</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="/doc_pc/css/doc_pc.css" />
</head>
<body>
<table class="tabwhite" border="1">
<tr class="colone" ondblclick="ondblclick="javascript:form1.elementbyid('noclient').value='13851'">
<td width="110">No Client</td>
<td width="130">Téléphone</td>
<td width="210">Prénom</td>
<td width="210">Nom</td>
<td width="130">Date</td>
</tr>
<?php $bd=mysqli_connect("localhost","root","","travail");
$result=mysqli_query($bd, "Select Id_Client, No_Tel_Client, Prenom_Client, Nom_Client, Date from client");
while ($ligne=mysqli_fetch_assoc($result)){
echo "<tr ondblclick="document.location.href = 'page.php?noclient=' + this.getElementsByTagName('td')[0].firstChild.nodeValue;">";
echo "<td>".$ligne['Id_Client']."</td>";
echo "<td>".$ligne['No_Tel_Client']."</td>";
echo "<td>".$ligne['Prenom_Client']."</td>";
echo "<td>".$ligne['Nom_Client']."</td>";
echo "<td>".$ligne['Date']."</td>";
echo "</tr>";
}?>
</table>
</body>
et sur ma page liste-clients.php'
je pourrais faire un echo $_SESSION['noclient']
<?php
session_start();
$_SESSION['noclient'] = $_GET['noclient'];
header('Location: liste-clients.php');
?>
<head>
<title>Statistique</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="/doc_pc/css/doc_pc.css" />
</head>
<body>
<table class="tabwhite" border="1">
<tr class="colone" ondblclick="ondblclick="javascript:form1.elementbyid('noclient').value='13851'">
<td width="110">No Client</td>
<td width="130">Téléphone</td>
<td width="210">Prénom</td>
<td width="210">Nom</td>
<td width="130">Date</td>
</tr>
<?php $bd=mysqli_connect("localhost","root","","travail");
$result=mysqli_query($bd, "Select Id_Client, No_Tel_Client, Prenom_Client, Nom_Client, Date from client");
while ($ligne=mysqli_fetch_assoc($result)){
echo "<tr ondblclick="document.location.href = 'page.php?noclient=' + this.getElementsByTagName('td')[0].firstChild.nodeValue;">";
echo "<td>".$ligne['Id_Client']."</td>";
echo "<td>".$ligne['No_Tel_Client']."</td>";
echo "<td>".$ligne['Prenom_Client']."</td>";
echo "<td>".$ligne['Nom_Client']."</td>";
echo "<td>".$ligne['Date']."</td>";
echo "</tr>";
}?>
</table>
</body>
et sur ma page liste-clients.php'
je pourrais faire un echo $_SESSION['noclient']
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
14 mars 2010 à 18:52
14 mars 2010 à 18:52
Non !
Le code PHP est dans une page à part (dans l'exemple que je t'ai donné : page.php)
Et la page "liste-clients.php" est la page contenant ton tableau.
Le code PHP est dans une page à part (dans l'exemple que je t'ai donné : page.php)
Et la page "liste-clients.php" est la page contenant ton tableau.
Sauf que comme je l'ai indiqué au début, j'ai besoin de listé tout les enregistrements dans un tableau pour ensuite lorsque je double clique sur une colonne, que cela me conduise a une autre page avec la variable $_SESSION['noclient'] pour affiché les données concernant le client voulu dans un formulaire et ainsi pouvoir les modifer au besoin.
De plus, j'ai pas trop comprit avec se que tu me sugere comment la variable $_SESSION['noclient'] se retrouve dans le tableau.
De plus, j'ai pas trop comprit avec se que tu me sugere comment la variable $_SESSION['noclient'] se retrouve dans le tableau.
S'était pas extremement clair sur mon premier post j'avoue, en plus j'y avais pas mis tout le code l'effet qu'il n'avais pas encore été ecrit.
avion-f16
Messages postés
19250
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
22 décembre 2024
4 505
14 mars 2010 à 19:57
14 mars 2010 à 19:57
Et ce n'est toujours pas clair.
Donc tu aimerais bien, si j'ai bien compris, afficher comme le profil du client quand on clique sur sa ligne ?
Si oui, alors que vient faire l'histoire des sessions ?
Donc tu aimerais bien, si j'ai bien compris, afficher comme le profil du client quand on clique sur sa ligne ?
Si oui, alors que vient faire l'histoire des sessions ?
non, lorsque la page se charge comme indiqué par mon dernier code poster, je veux que la liste des clients s'affiche dans la fenêtre avec quelque détail. Par la suite, une fois la page charger, que je puisse doublecliquer sur une ligne (<tr>) concernant par exemple le client xyz et ou le numéro du client xyz sera inscrite dans la variable session et une fois fait, qu'une nouvelle page soit chargé (header) ou il y aurai d'affiché toute les info du client dans un formulaire a l'aide de la variable session afin de pouvoir par exemple mettre a jour les informations du client. Par exemple un changement d'adresse.
Quand la page se charge, la liste des clients s'affiche dans la page. Une fois lister, on la consulte pour trouver le client xyz. On double clique sur la ligne du client xyz et le no du client se place dans la variable session et par la suite nous redirige (header) vers une nouvelle page affichant les détails du client dans un formulaire à l'aide de la variable session qui permet de retrouver les info dans la bdd et par la suite cela permet de par exemple changer l'adresse et de mettre a jour les informations.
Sa fonctionne.
Tu peu m'expliquer un peu histoire que je comprenne stp, car meme si sa marche, ses toujours plus utili de comprendre.
Merci
Tu peu m'expliquer un peu histoire que je comprenne stp, car meme si sa marche, ses toujours plus utili de comprendre.
Merci