Fonctions en PHP
Résolu/Fermé
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
-
19 févr. 2007 à 02:14
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 22 févr. 2007 à 18:21
txiki Messages postés 6596 Date d'inscription mercredi 30 janvier 2002 Statut Contributeur Dernière intervention 22 février 2024 - 22 févr. 2007 à 18:21
A voir également:
- Fonctions en PHP
- Easy php - Télécharger - Divers Web & Internet
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? ✓ - Forum Programmation
- Bouton php - Forum PHP
- Les fonctions excel en anglais - Guide
- Php?id=1 - Forum PHP
8 réponses
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
19 févr. 2007 à 15:25
19 févr. 2007 à 15:25
Alors ? personne pour cette question ?
Tant pis !
bonne journée quand même !
Tant pis !
bonne journée quand même !
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 févr. 2007 à 18:14
20 févr. 2007 à 18:14
Euh, la fonction "echo" permet justement d'afficher un truc ;)
Donc là, ça te dit que $limite vaut déjà 0 à l'endroit où tu as mis le echo $limite...
Donc là, ça te dit que $limite vaut déjà 0 à l'endroit où tu as mis le echo $limite...
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
20 févr. 2007 à 18:36
20 févr. 2007 à 18:36
Oui ça je sais mais ça veut dire quoi dans ce cas ?
On est forcément à zéro puisque c'est la première page !
Mon Pb est que les liens au dessous des 10 premiers (pour la navigation) ne donnent rien.
Quoique l'on clique, ça agit comme une # (dièse) tu sais comme pour remonter en haut de page lorsque tu a des pages "listing" par exemple....
Tu veux que je te copie les codes enn entier (la liste et la page qui contient le formulaire qui est censé récupérer les valeurs du Editer qui a été cliqué). La liste de 420 enregistrements et limitée à 10 l'affichage
la page cencée récupérer les infos du lien Editer dans la liste des logiciels:
On est forcément à zéro puisque c'est la première page !
Mon Pb est que les liens au dessous des 10 premiers (pour la navigation) ne donnent rien.
Quoique l'on clique, ça agit comme une # (dièse) tu sais comme pour remonter en haut de page lorsque tu a des pages "listing" par exemple....
Tu veux que je te copie les codes enn entier (la liste et la page qui contient le formulaire qui est censé récupérer les valeurs du Editer qui a été cliqué). La liste de 420 enregistrements et limitée à 10 l'affichage
<? //========================================= // includes du fichier fonctions //========================================= require 'fonctions.php'; //========================================= // information pour la connection à le DB //========================================= $host = 'localhost'; $user = 'root'; $pass = ''; $db = 'test'; //========================================= // initialisation des variables //========================================= $nombre = 10; // on va afficher 10 résultats par page. $limite = 0; if (!$limite); // si limite n'existe pas on l'initialise à zéro $path_parts = pathinfo($_SERVER['PHP_SELF']); // on cherche le nom de la page. $page = $path_parts["basename"]; //====================== // connection à la DB //====================== $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); // connection à la base mysql_select_db($db) or die ('Impossible de se connecter à la base'); // sélection de la table //========================================================================== // requête SQL qui compte le nombre total d'enregistrements dans la table. //========================================================================== $select = 'SELECT count(id) FROM test'; $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() ); $row = mysql_fetch_row($result); $total = $row[0]; //=================================================== // vérifier la validité de notre variable $limite; //=================================================== $verifLimite = verifLimite($limite,$total,$nombre); // si la limite passée n'est pas valide on la remet à zéro echo $limite; if(!$verifLimite) { $limite = 0; } echo $limite; //====================================================================================== // requête SQL qui ne prend que le nombre d'enregistrement necessaire à l'affichage. //====================================================================================== $select = 'select nom,editeur,comment FROM test ORDER BY id ASC limit '.$limite.','.$nombre; $result = mysql_query($select) or die ('Erreur : '.mysql_error() ); //============================================= // si on a récupéré un resultat on l'affiche. //============================================= if($total) { echo "<table width='70%' bgcolor='#FFFFFF' border='1' cellspacing='0' cellpadding='4' align='center'>\n"; // première ligne on affiche les titres Accès et Logiciels dans 2 colonnes echo "<tr text-align='center' padding='3px' class='blanc'>"; echo "<td bgcolor='#669999'><h2> Action </h2></td>"; echo "<td bgcolor='#669999'><h2> Logiciels </h2></td>"; echo "</tr>.\n"; // lecture et affichage des résultats sur 2 colonnes, 1 résultat par lot de 3 lignes. while($row = mysql_fetch_array($result)) { echo "<tr>"; echo "<td rowspan='2' bgcolor='#FF9900' align='center' width='10%'>"; // largeur de la première colonne (fusion de 3 lignes) echo "<p><a href='editer.php?id=['id']'> Editer </a></p>"; // <P> pour 1 saut plus important entre les 2 liens echo "<p><a href='delete.php?id=['id']'> supprimer </a></p>"; echo "</td>"; echo "<td bgcolor='#F0F0F0'><strong> Nom du logiciel: </strong>".$row['nom']."</td>"; // affiche le nom du logiciel (1ere cellule) echo "</td>"; echo "</tr>'.\n"; echo "<tr>"; echo "<td bgcolor='#F0F0F0'><strong> Editeur du logiciel: </strong>".$row['editeur']."</td>"; // affiche l'éditeur du logiciel (la 2eme cellule) echo "</td>"; echo "</tr>\n"; } echo "</table>\n"; // fin du tableau. } else echo "Pas d\'enregistrements dans cette table"; // on libère le résultat mysql_free_result($result); //======================================================================== // si le nombre d'enregistrement à afficher est plus grand que $nombre //======================================================================== if($total > $nombre) { affichePages($nombre,$page,$total); // affichage des liens vers les pages displayNextPreviousButtons($limite,$total,$nombre,$page); // affichage des boutons } mysql_close(); ?>
la page cencée récupérer les infos du lien Editer dans la liste des logiciels:
<? // On se connecte et on choisi la base de données mysql_pconnect("localhost","root","") or die ("Impossible de se connecter à MySQL"); mysql_select_db("test") or die("Impossible de sélectionner la base de données"); if (!isset($submited)) { // On va chercher la fiche complète pour le lien cliqué. $link = '$link'; $query_string = "SELECT nom, editeur, comment FROM test WHERE id"; $query = mysql_query($query_string); } ?> <h1> Fiche Détaillée du logiciel </h1> <h3 class="vert"><strong> Vous pouvez modifier une ou des informations ci-dessous </strong></h3> <p> </p> <center><form METHOD="POST" ACTION="editer-verif.php"> <p><input TYPE="hidden" name="id" value="<? echo mysql_query($query='id') ?>"></p> <p> Nom du logiciel: <input TYPE="text" name="nom" value="<? echo mysql_query($query='nom') ?>" SIZE="50"></p> <p> Editeur: <input TYPE="text" name="editeur" VALUE="<? echo mysql_query($query='editeur') ?>" SIZE="50"></p> <p>Votre commentaire: <input TYPE="text" name="comment" VALUE="<? echo mysql_query($query='comment') ?>" SIZE="50"></p> <p><center><input TYPE="submit" VALUE="mettre à jour"><br><br> </center> </p> </form></center>
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
20 févr. 2007 à 18:40
20 févr. 2007 à 18:40
$limite = 0;
if (!$limite); // si limite n'existe pas on l'initialise à zéro
...
Tu remets toujours $limite à 0 en début de page, sans jamais lui donner la valeur passée en paramètre !
if (!$limite); // si limite n'existe pas on l'initialise à zéro
...
Tu remets toujours $limite à 0 en début de page, sans jamais lui donner la valeur passée en paramètre !
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
20 févr. 2007 à 18:43
20 févr. 2007 à 18:43
???
Traduction ?
Tu sais je débute vraiment Alors.....
;-))
Mais tu es en direct ? c'est super cool ça !
Traduction ?
Tu sais je débute vraiment Alors.....
;-))
Mais tu es en direct ? c'est super cool ça !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
20 févr. 2007 à 18:54
20 févr. 2007 à 18:54
Et au fait !
Comment je dois faire pour récupérer les variables dans la fiche (sous forme de formulaire en fait)
Comment je dois faire pour récupérer les variables dans la fiche (sous forme de formulaire en fait)
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
22 févr. 2007 à 11:14
22 févr. 2007 à 11:14
Salut Reivax962,
J'ai montré le script des fonctions a un pote mais qui ne connait pas trop le php. Il me dit que le Pb vient sans doute de $page (voir le premier post en haut de le cette page). Je te le recopie ici:
Je ne vois pas du tout où est l'erreur (???)
Merci encore pour ton coup de main..............
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
J'ai montré le script des fonctions a un pote mais qui ne connait pas trop le php. Il me dit que le Pb vient sans doute de $page (voir le premier post en haut de le cette page). Je te le recopie ici:
// ======================================== // fonction qui affiche les liens vers les pages //======================================== function affichePages($nb,$page,$total) { $nbpages=ceil($total/$nb); $numeroPages = 1; $compteurPages = 1; $limite = 0; echo "<table border = '0' ><tr>.\n"; while($numeroPages <= $nbpages) { echo "<td><a href = ".$page.'?limite='.$limite.'>'.$numeroPages."</a></td>.\n"; $limite = $limite + $nb; $numeroPages = $numeroPages + 1; $compteurPages = $compteurPages + 1; if($compteurPages == 10) { $compteurPages = 1; echo "<br>.\n"; } } echo "</tr></table>.\n"; }
Je ne vois pas du tout où est l'erreur (???)
Merci encore pour ton coup de main..............
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Reivax962
Messages postés
3672
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 011
22 févr. 2007 à 11:31
22 févr. 2007 à 11:31
Désolé de l'absence :)
Donc, j'explique ce que je disais.
Si tu lis ton script comme le ferait un ordinateur.
Essaie de noter la valeur de la variable $limite de bout en bout. N'y vois-tu pas un problème ? Elle est systématiquement placée à 0 en début de script... Donc tu n'auras jamais autre chose que la première page.
Je pense qu'il faudrait remplacer ce
Voilà, ça devrait être bon comme ça :)
Xavier
Donc, j'explique ce que je disais.
Si tu lis ton script comme le ferait un ordinateur.
Essaie de noter la valeur de la variable $limite de bout en bout. N'y vois-tu pas un problème ? Elle est systématiquement placée à 0 en début de script... Donc tu n'auras jamais autre chose que la première page.
Je pense qu'il faudrait remplacer ce
//========================================= // initialisation des variables //========================================= $nombre = 10; // on va afficher 10 résultats par page. $limite = 0; if (!$limite); // si limite n'existe pas on l'initialise à zéropar
//========================================= // initialisation des variables //========================================= $nombre = 10; // on va afficher 10 résultats par page. if (isset($_GET["limite"])) $limite = $_GET["limite"]; elseif (isset($_POST["limite"])) $limite = $_POST["limite"]; else $limite = 0;Ce qui se traduit par : si la limite a été passée par un lien, on la prend en compte. Sinon, si elle a été passée par le bouton, on la prend en compte. Dans tous les autres cas, elle vaut 0.
Voilà, ça devrait être bon comme ça :)
Xavier
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
22 févr. 2007 à 18:21
22 févr. 2007 à 18:21
Merciiiiii ! OH ! MERCI !
ça marche NIKEL.
Maintenant je continue, je dois afficher la fiche complèted'un article (logiciel).
Merci pour ta façon de 'lire" le code. Je tacherai de m'en souvenir ou plutot de bien le lire, l'interpreter....
J'en reviens a mon dicton: Quand la syntaxe va, tout va ! ;-)))
Quel BONHEUR ! tu ne peux pas t'imaginer.....
ça marche NIKEL.
Maintenant je continue, je dois afficher la fiche complèted'un article (logiciel).
Merci pour ta façon de 'lire" le code. Je tacherai de m'en souvenir ou plutot de bien le lire, l'interpreter....
J'en reviens a mon dicton: Quand la syntaxe va, tout va ! ;-)))
Quel BONHEUR ! tu ne peux pas t'imaginer.....
txiki
Messages postés
6596
Date d'inscription
mercredi 30 janvier 2002
Statut
Contributeur
Dernière intervention
22 février 2024
517
22 févr. 2007 à 14:08
22 févr. 2007 à 14:08
Salut Reivax962,
Ah ! merci je comprends mieux maintenant. Tatraduction surtout m'aide a mieux comprendre le script.
Je le mettrai en commentaire.
A ce soir... ;-)))
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
Ah ! merci je comprends mieux maintenant. Tatraduction surtout m'aide a mieux comprendre le script.
Je le mettrai en commentaire.
A ce soir... ;-)))
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
19 févr. 2007 à 16:47
Peux-tu nous donner le bout de code qui contient la requête SQL ?
Sinon, je ne vois pas où tu récupères le $limite qui vient de $_GET (des liens, donc)
Xavier
20 févr. 2007 à 07:45
ésolé pour ce retard mais hier soir j'étais très fatigué et me suis couché très tôt.
Je te passerai le code ce soir donc mais la $_GET me fait "tilt" (je crois que j'ai utilisé $_POST)...
A ce soir donc et merci pour ta réponse !
20 févr. 2007 à 17:38
Merci pour ta réponse. Voici la portion de code que tu me demande:
J'espère que tu y trouvera une boulette (c'est ma spécialité hi hi hi hi !!!)
Merci encore pour ta coopération ! ;-)
Le bonheur est la seule chose que l'on peut donner sans l'avoir.
20 févr. 2007 à 17:42
J'ai un doute sur
Tu pourrais essayer de mettre
echo $limite;
avant et après ton if{}, pour voir s'il ne les remet pas tout le temps à 0 ?
20 févr. 2007 à 18:10
Hélas ! ça ne change rien. Même combat sauf qu'en plus j'ai deux 00 qui s'affichent juste avant le tableau (et ces cotes et points que j'avais déjà mais je ne vois d'où ils viennent ???)
Je t'ai mis en italique gras les 2 zéros.
00. '. '. '. '. '. '. '. '. '. '.
J'ai aussi des points juste avant la ligne de n° de pages (peut-etre un indice ? ? ?
En tous cas je te remercie infiniment pour ton aide.
Le bonheur est la seule chose que l'on peut donner sans l'avoir.