[PHP]Incrémenter variable lien
Fermé
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
-
18 juin 2007 à 15:49
mam's - 21 juin 2007 à 13:33
mam's - 21 juin 2007 à 13:33
A voir également:
- [PHP]Incrémenter variable lien
- Lien url - Guide
- Créer un lien pour partager des photos - Guide
- Verifier un lien - Guide
- Easy php - Télécharger - Divers Web & Internet
6 réponses
Essaie alors un truc du genre :
if ( ! isset($_GET['dis']) ) // si la variable $_GET['dis'] n'est pas définie (le lien n'a pas été cliqué)
$dis = 0; // on initialise la variable dis à 0
else
$dis = $_GET['dis']; // sinon, on l'initialise au résultat de la requête.
avec cela, je pense que ca devrait aller mieux !
if ( ! isset($_GET['dis']) ) // si la variable $_GET['dis'] n'est pas définie (le lien n'a pas été cliqué)
$dis = 0; // on initialise la variable dis à 0
else
$dis = $_GET['dis']; // sinon, on l'initialise au résultat de la requête.
avec cela, je pense que ca devrait aller mieux !
Alors le probleme est surement dans le fait que tu ne devrais initialiser la variable dis à 0 que lorsque ta page est appelée pour la première fois : sinon ta variable est remise à 0 à chaque fois que ton code s'exécute. Au lieu de :
$dis=0;
Essaie plutot :
if (! isset($dis)) // la fonction isset renvoie true si la variable passée en paramètre est définie, et false sinon.
$dis = 0;
Et aussi, assure toi que tu récupères bien les variables que tu passes dans l'URL du tableau $_GET.
Avec ca, ca devrait aller mieux.
$dis=0;
Essaie plutot :
if (! isset($dis)) // la fonction isset renvoie true si la variable passée en paramètre est définie, et false sinon.
$dis = 0;
Et aussi, assure toi que tu récupères bien les variables que tu passes dans l'URL du tableau $_GET.
Avec ca, ca devrait aller mieux.
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
18 juin 2007 à 17:20
18 juin 2007 à 17:20
Comment faire pour récuperer cela dans l'url avec $_GET[dis] ?
J'essaye mais je ne fais que des erreurs... :s
J'essaye mais je ne fais que des erreurs... :s
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
18 juin 2007 à 15:57
18 juin 2007 à 15:57
Voici le code qui manque pour faire fonctionner le programme.
Aidez-moi s'il vous plaît.
Merci !
function browse($dir, $pExtension) { $files = array(); if($handle = opendir($dir)) { while( false !== ($file = readdir($handle)) ) { $getExt = explode(".", $file); $countExt = count($getExt); $fExt = $countExt - 1; $myExt = $getExt[$fExt]; if( ($myExt == $pExtension) && ($file != ".") && ($file != "..") ) { $files[] = $file; } } } return $files; closedir($handle); } $Extensions = array( "exe", "mp3", "php", "zip", "doc", "db", "txt", "BAT", "SYS", "log", "xls", "ppt", "pdf", "bmp", "gif", "jpg", "png", "php3", "htm", "html", "css", "js" );
Aidez-moi s'il vous plaît.
Merci !
Salut,
J'ai juste regardé vite fait ton code, et je ne vois pas où tu incrémentes la variable $dis.....
J'ai juste regardé vite fait ton code, et je ne vois pas où tu incrémentes la variable $dis.....
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
18 juin 2007 à 16:16
18 juin 2007 à 16:16
Excuse-moi, je me suis mal exprimé, je veux faire incrémenter la variable en cliquant sur le lien, mais je ne sais pas comment.
J'avais essayé ça :
Mais ça ne marche pas...
Aidez-moi s'il vous plaît.
Merci !
J'avais essayé ça :
echo "<th><b>Fichier(s) <a href=\"$PHP_SELF?dir=".rawurlencode($dir)."&dis=".($dis+1)."\">".strtoupper($findExt)."</a></b> (".$countFile.") :</th><td> </td>";
Mais ça ne marche pas...
Aidez-moi s'il vous plaît.
Merci !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
DSL un tit test
111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111
111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111111111111111110000000000000000011111111111111111110000000000000000000011111111111111111111110000000000000011111111111111
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
19 juin 2007 à 13:32
19 juin 2007 à 13:32
Je vous rappel mon code pour afficher une extension :
Grace à mam*s quand je clique sur un lien j'incrémente $dis et ça m'affiche toutes les extensions.
Comment faire pour n'afficher que sur l'extension que je souhaite visualiser en cliquant sur le lien prédéfinit ?
$ExpExt = $Extensions; sort($ExpExt); echo "<table cellspacing=\"1\" cellpadding=\"4\" border=\"1\">"; // On crée un tableau en html ; par la suite on affichera les extensions. foreach($ExpExt as $findExt) { $getFile = browse($dir, $findExt); // Appel de fonction browse stocké dans une variable $getFile $countFile = count($getFile); // On compte le nombre d'éléments dans $getFile et on le stock dans une variable $countFile. if($countFile != 0) { if( !isset($_GET['dis']) ) { $dis = 0; }else { $dis = $_GET['dis']; $dis++; } echo "<tr style=\"font-size:8pt;font-family:arial;text-align=left\">"; // Purement esthétique au niveau de la police contenu dans le tableau : à modifier selon les goûts. echo "<th><b>Fichier(s) <a href=\"$PHP_SELF?dir=".rawurlencode($dir)."&dis\">".strtoupper($findExt)."</a></b> (".$countFile.") :</th><td> </td>"; // Affiche une catégorie d'extension et son nombre. foreach($getFile as $myFile) { if($dis != 0) { echo "<td>- ".$myFile."</td><td> </td>"; // Affiche l'extension de la catégorie. } } echo "</tr>"; } } echo "</table>";
Grace à mam*s quand je clique sur un lien j'incrémente $dis et ça m'affiche toutes les extensions.
Comment faire pour n'afficher que sur l'extension que je souhaite visualiser en cliquant sur le lien prédéfinit ?
Le problème, c'est que dans cette partie la :
s'exécute pour chacune de tes extensions, alors qu'elle ne devrait s'exécuter que pour l'extension sélectionnée.
Tu devrais utiliser une variable qui te permettra de savoir quelle extension a été sélectionnée.
foreach($getFile as $myFile) { if($dis != 0) { echo "<td>- ".$myFile."</td><td> </td>"; // Affiche l'extension de la catégorie. } }
s'exécute pour chacune de tes extensions, alors qu'elle ne devrait s'exécuter que pour l'extension sélectionnée.
Tu devrais utiliser une variable qui te permettra de savoir quelle extension a été sélectionnée.
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
>
mam's
20 juin 2007 à 11:00
20 juin 2007 à 11:00
J'ai essayé de faire un foreach de $findExt as $Ext, mais ça ne marche pas (ça crée une erreur).
Comment faire pour chaque extension trouvée, lui affecter une variable dans mon code ?
-> $myFile correspond au fichier avec l'extension.
-> $getFile correspond à la variable contenant l'appel de fonction de browse().
Aidez-moi s'il vous plaît.
Merci !
Comment faire pour chaque extension trouvée, lui affecter une variable dans mon code ?
-> $myFile correspond au fichier avec l'extension.
-> $getFile correspond à la variable contenant l'appel de fonction de browse().
Aidez-moi s'il vous plaît.
Merci !
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
25
>
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
20 juin 2007 à 12:35
20 juin 2007 à 12:35
J'ai réussi à créer une variable qui prend chaque extension.
Maintenant je cherche à faire un lien pour chaque extension, et lorsque je clique dessus, ça n'affiche que les fichiers portant la même extension.
Comment faire ? Je ne vois pas l'algorithme à mettre en place...
foreach($ExpExt as $findExt) { $getFile = browse($dir, $findExt); $countFile = count($getFile); if($bis != 0) { if($countFile != 0) { echo "<tr style=\"font-size:8pt;font-family:arial;text-align=left\">"; echo "<th><b>Fichier(s) <a href=\"$PHP_SELF?dir=".rawurlencode($dir)."&bis&dis\">".strtoupper($findExt)."</a></b> (".$countFile.") :</th><td> </td>"; $Ext[] = $findExt; // Cette variable prend chaque extension ! foreach($getFile as $myFile) { if($dis != 0) { echo "<td>- ".$myFile."</td><td> </td>"; } } echo "</tr>"; } } }
Maintenant je cherche à faire un lien pour chaque extension, et lorsque je clique dessus, ça n'affiche que les fichiers portant la même extension.
Comment faire ? Je ne vois pas l'algorithme à mettre en place...
mam's
>
thepchou
Messages postés
71
Date d'inscription
jeudi 7 juin 2007
Statut
Membre
Dernière intervention
20 mai 2008
21 juin 2007 à 13:33
21 juin 2007 à 13:33
Ben tout simplement, tu n'as qu'à passer le nom de l'extension dans l'url du lien qui corespond !
19 juin 2007 à 13:22
Mais avec mon code comment faire pour ne faire apparaître que l'extension que je souhaite afficher en cliquant sur le lien approprié ?
19 juin 2007 à 13:42
Si je mets en commentaire $dis = $_GET['dis']; ça marche mais c'est quand même source d'erreur.