Soyez le premier à donner votre avis sur cette source.
Vue 20 348 fois - Téléchargée 1 461 fois
<b> *** code de la base ***</b> - Base de données: `agenda` -- -- -------------------------------------------------------- -- -- Structure de la table `contact` -- CREATE TABLE IF NOT EXISTS `contact` ( `id` int(8) NOT NULL AUTO_INCREMENT, `nom` varchar(20) NOT NULL, `prenom` varchar(20) NOT NULL, `adresse` varchar(100) NOT NULL, `phone` varchar(20) NOT NULL, `email` varchar(30) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=10 ; <b>*** code index.php ***</b> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <p><a href="liste.php?page=1">LISTE</a></p> <table width="782" border="0" cellpadding="0" cellspacing="4"> <form name="fcontact" method="post" action="index.php"> <tr> <td width="267"><div align="right">Nom :</div></td> <td width="503"><label> <input type="text" name="nom" id="textfield" /> </label></td> </tr> <tr> <td><div align="right">Prenom :</div></td> <td><label> <input type="text" name="prenom" id="textfield2" /> </label></td> </tr> <tr> <td><div align="right">Adresse : </div></td> <td><label> <input type="text" name="adresse" id="textfield3" /> </label></td> </tr> <tr> <td><div align="right">Tel :</div></td> <td><label> <input type="text" name="tel" id="textfield4" /> </label></td> </tr> <tr> <td><div align="right">Email :</div></td> <td><label> <input type="text" name="email" id="textfield5" /> </label></td> </tr> <tr> <td> </td> <td><label> <input type="submit" name="save" id="button" value="Envoyer" /> </label></td> </tr> </form> </table> <p> </p> <?php if (isset($_POST['save'])) { mysql_connect('localhost','root'); mysql_select_db('agenda'); $nom=$_POST['nom']; $prenom=$_POST['prenom']; $adresse=$_POST['adresse']; $tel=$_POST['tel']; $email=$_POST['email']; $sql="insert into contact (`nom`,`prenom`,`adresse`,`phone`,`email`) values('$nom','$prenom','$adresse','$tel','$email')"; $req=mysql_query($sql); } ?> </body> </html> <b>*** code liste.php **** </b> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Document sans titre</title> </head> <body> <?php // Afficher le résultat d'une requête sql sur plusieurs page //connexion au serveur puis choix de la base mysql_connect('localhost','root'); mysql_select_db('agenda'); //la requête que j'ai choisi va sélectionner tout le contenue de la base //j'exécute ici la requête sans LIMIT pour extraire le nombre total d'enregistrement $sql1="select * from contact"; $req1=mysql_query($sql1); $nbtotal=mysql_num_rows($req1); //$limite est le nb d'enregistrement par page , $limite=3; $page=$_GET['page']; //$_get['page'] est une variable qui passera dans le lien , elle commence à 1 donc pour accéder par exemple à la page liste.php il faut ajouter au lien ?page=1 $debut=($page-1)*$limite; // $debut à partir de quel enregistrement commence la selection dans notre cas si $page=1 $debut=0 / si $page=2 $debut=(2-1)*3 = 3 $sql="select * from contact LIMIT $debut,$limite"; //requête pour sélectionner les enregistrements par lot on commençant par début $req=mysql_query($sql); // exécution de la requête while($data=mysql_fetch_array($req)) // parcourir le résultat de la requête { echo $data['nom']." ".$data['prenom']." ".$data['adresse']." ".$data['phone']." ".$data['email']."</br></br>"; //affichage des enregistrements } $nbpage=$nbtotal/$limite; //calcule de nombre de page if (($page==1) && ($nbpage > 1)) // si on est à la première page et que le nb de pages pour afficher les enregistrement est supérieure à 1 on affiche seulement le lien "suivant >>" qui peut être un bouton { $next=$page+1; echo "<a href='liste.php?page=$next'>SUIVANT >></a>"; $_SESSION['pageencour']=2; } else { if ($page < $nbpage ) // si $page est inférieur au nb totale des page donc on affiche suivant>> et <<precédent { $prev=$page-1; $next=$page+1; echo "<a href='liste.php?page=$prev'><< précédent</a> "; echo " <a href='liste.php?page=$next'>SUIVANT >></a>"; } else { if (($page >= $nbpage) && ($nbpage > 1))// si on n'est à la dernière page et que le nb totale de page est sup à on affiche seulement <<précédent { $prev=$page-1; echo "<a href='liste.php?page=$prev'><< precedent </a>"; } } } ?> </body> </html>
20 juil. 2009 à 20:50
Super script !
Je cherchais un truc comme ca justement... J'ai essayé de l'adapté a mon besoin qui est d'afficher une photo à la fois (les photos sont rangées dans une table)...
J'ai plus ou moins 126 lignes de photos. J'ai essayé le script en le modifiant et tout marchait bien, à la 126eme, il affichait le lien précédent, mais pas le suivant. Ce qui est normal.
Mais petit soucis... Je voudrais seulement afficher les photos où le champs "selection"="oui" (il y en a 39/126).
J'ai donc modifier cette ligne :
$sql="select * from photos LIMIT $debut,$limite";
qui est devenue :
$sql="select * from photos WHERE selection='oui' LIMIT $debut,$limite";
Et quand je change ce code, et bien les photos s'affichent bien mais à la 39ème, le lien "suivant" reste. Alors qu'il n'y a plus de photo...
Comment faire pour que ce lien disparaisse apres la sélection. Parce que j'ai cliqué sur suivant pour voir jsuqu'où il s'affichait, et arrivé à la 126eme, le lien disparait enfin...
Donc, avec ou sans la clause WHERE, le lien suivant s'enlève seulement à la page 126...
Comment puis-je faire..?
Je vous remercie,
Eric.
25 juin 2009 à 11:42
select * from
Vire le joker et met le nom des champs tu gagnera une peu de temps d'execution... .. .
Pour le reste post sur le forum si tu veux de l'aide... .. .
@ tchaOo°
25 juin 2009 à 10:41
25 juin 2009 à 08:28
1)Il a été dit qu'il ne fallait pas utiliser les sessions pour stocker des tableaux MySQL. Il faut utiliser le cache des requettes au niveau du moteur. Résultat, on se retrouve avec un nouveau post qui nous montre fièrement une nouvelle aproche du problème... en utilisant les sessions.
2)Il a été dit que puisque tu débutes (ce qui en soit n'est pas un mal) il faudrait que tu mettes ta source au niveau 'debutant' et non pas 'initié'. Résultat, c'est toujours en initié.
3)Il a été dit que les modifications que tu apportes à ton script doivent être directement mises dans le source et non pas dans un post. Résultat, le code original est toujours là.
4)Il a été dit que cette section du site est réservée au code fonctionnel qui font avancer le shmilblic et non pas à ceux qui veulent proposer de nouvelles idées en pseudo code. Il y a le Forum pour ça. Résultat, Mr Haiti boy qui nous balance son code direct dans un post.
Conclusion, je ne doute pas que vous cherchiez à vous améliorer et qu'avant tout, c'est votre désir de partager avec la communauté qui vous a poussé à venir ici. Mais alors, SVP, écoutez ce qu'on vous dit...
25 juin 2009 à 08:14
je comprend pas ta réaction
merci d'étre un peu claire stp
en fin de compte même si tu trouve mon code nul, sache bien que j'ai commencé avec php y a seulement 3 mois , donc si je suis ici c pour connaitre mieux ce language
:):) merci en tout cas
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.