Transmettre des données d'une page a l'autre
Résolu/Fermé
karango
Messages postés
80
Date d'inscription
vendredi 29 juillet 2016
Statut
Membre
Dernière intervention
10 janvier 2023
-
Modifié le 28 avril 2018 à 08:31
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - 29 avril 2018 à 02:19
karango Messages postés 80 Date d'inscription vendredi 29 juillet 2016 Statut Membre Dernière intervention 10 janvier 2023 - 29 avril 2018 à 02:19
A voir également:
- Transmettre des données de page en page php
- Supprimer une page word - Guide
- Page d'accueil iphone - Guide
- Traduire une page web - Guide
- Word numéro de page 1/2 - Guide
- Créer une page facebook - Guide
2 réponses
ice_handler
Messages postés
27
Date d'inscription
mardi 24 mars 2015
Statut
Membre
Dernière intervention
2 mai 2019
28 avril 2018 à 08:36
28 avril 2018 à 08:36
Tu pourrais utiliser les variables de session.
Tu fais
session_start();
Et ensuite tu utilise
$_SESSION[`variable`] = $tavariablemois
Et quand tu changera de page tu pourra réutiliser la variable de session tel quel
Tu fais
session_start();
Et ensuite tu utilise
$_SESSION[`variable`] = $tavariablemois
Et quand tu changera de page tu pourra réutiliser la variable de session tel quel
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
28 avril 2018 à 08:44
28 avril 2018 à 08:44
Bonjour,
Donc.. le "lien" dont tu parles... c'est de l'AJAX.
Il faudrait donc, pouvoir disposer du "mois" à afficher dans un champ masqué de ta page index.php
Récupérer cette valeur dans le script JS, l'envoyer (en ajax) à ton fichie retrieve.php.
Dans index.php, en haut juste en dessous de la fonction f_mois
$mois_select = !empty($_GET['mois']) ? $_GET['mois'] : 1; //par défaut, si aucun mois choisi, on prend le 1
Dans index.php juste avant ton tableau
Dans le fichier JS:
Dans le fichier retrieve.php
Enfin... j'ai écrit de tête.
Tu devrais trouver d'autres infos sur la documentation officielle de datatable....
par exemple : https://datatables.net/reference/option/ajax.data
Au passage, ta fonction f_mois, au lieu d'utiliser des switch case, pourrait simplement utiliser un array
mais galere les deux pages php sont lie par une page js
Donc.. le "lien" dont tu parles... c'est de l'AJAX.
Il faudrait donc, pouvoir disposer du "mois" à afficher dans un champ masqué de ta page index.php
Récupérer cette valeur dans le script JS, l'envoyer (en ajax) à ton fichie retrieve.php.
Dans index.php, en haut juste en dessous de la fonction f_mois
$mois_select = !empty($_GET['mois']) ? $_GET['mois'] : 1; //par défaut, si aucun mois choisi, on prend le 1
Dans index.php juste avant ton tableau
<input type="hidden" id="mois_select" value="<?php echo $mois_select; ?>">
Dans le fichier JS:
$(document).ready(function() { manageCommandTable = $("#manageCommandTable").DataTable({ "ajax": { "url": "/public/src/commands/retrieve.php", "type": "POST", "order": [], "data": { "mois": $("#mois_select").val(); } });
Dans le fichier retrieve.php
$mois = !empty($_POST['mois']) ? $_POST['mois'] : NULL; $sql = "SELECT * FROM commandes join clients using(cl_id) where EXTRACT(MONTH FROM co_date)=".$mois;
Enfin... j'ai écrit de tête.
Tu devrais trouver d'autres infos sur la documentation officielle de datatable....
par exemple : https://datatables.net/reference/option/ajax.data
Au passage, ta fonction f_mois, au lieu d'utiliser des switch case, pourrait simplement utiliser un array
function f_mois($m) { $a_mois = array("","Janvier","Fevrier","Mars","Avril","Mai","Juin","Juilliet","Aout","Septembre","Octobre","Novembre","Decembre"); return f_mois[$m]; }
karango
Messages postés
80
Date d'inscription
vendredi 29 juillet 2016
Statut
Membre
Dernière intervention
10 janvier 2023
28 avril 2018 à 13:05
28 avril 2018 à 13:05
Donc.. le "lien" dont tu parles... c'est de l'AJAX.
non c'est php
voila le lien issu de ma function f_mois:
non c'est php
voila le lien issu de ma function f_mois:
echo '<ul class="nav nav-stacked">';
for ($i=1; $i <= 12; $i++) {
echo '<li class="text-center">';
echo '<a href="/public/src/commands/index.php?mois='.$i.'">'.f_mois($i).'</a>';
echo '</li>';
}
echo '</ul>';
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
28 avril 2018 à 13:11
28 avril 2018 à 13:11
Donc.. le "lien" dont tu parles... c'est de l'AJAX.
Non Non... je confirme.. c'est de l' AJAX !
(je parle de ta phrase :
es deux pages php sont lie par une page js
Sais tu au moins ce que c'est ???
C'est ce qui permet, à un script JAVASCRIPT de communiquer avec un script PHP.
Quoi qu'il en soit, je t'ai donné la solution à ta question.
Merci de clore le sujet une fois que tu auras pu le mettre en place.
karango
Messages postés
80
Date d'inscription
vendredi 29 juillet 2016
Statut
Membre
Dernière intervention
10 janvier 2023
29 avril 2018 à 00:31
29 avril 2018 à 00:31
apres avoir mise en place voici l'erreur envoyer par le server:
SyntaxError: missing } after property list
[Learn More]
commands.js:11:39
note: { opened at line 10, column 12
commands.js:10:12
commands.js
retrieve.php
SyntaxError: missing } after property list
[Learn More]
commands.js:11:39
note: { opened at line 10, column 12
commands.js:10:12
commands.js
"ajax": {
"url": "/public/src/commands/retrieve.php",
"type": "POST",
"order": [],
"data": {
"mois": $("#mois_select").val();
}
}
retrieve.php
$mois = !empty($_POST['mois']) ? $_POST['mois'] : NULL;
$output = array('data' => array());
$sql = "SELECT * FROM commandes join clients using(cl_id) where EXTRACT(MONTH FROM co_date)=".$mois;
jordane45
Messages postés
38138
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 avril 2024
4 649
29 avril 2018 à 01:45
29 avril 2018 à 01:45
retire le point-virgule à la ligne
"data": { "mois": $("#mois_select").val() }
karango
Messages postés
80
Date d'inscription
vendredi 29 juillet 2016
Statut
Membre
Dernière intervention
10 janvier 2023
29 avril 2018 à 02:19
29 avril 2018 à 02:19
parfait...! vous etes un ange, merci.