begin process at 2012 05 27 19:20:12
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > MINI LISTE DE COURSES SIMPLE MAIS EFICACE EN UN SEUL SCRIPT AUX NORMES

MINI LISTE DE COURSES SIMPLE MAIS EFICACE EN UN SEUL SCRIPT AUX NORMES


 Information sur la source

Note :
9,25 / 10 - par 4 personnes
9,25 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Niveau :Débutant Date de création :26/02/2005 Date de mise à jour :09/04/2005 16:50:57 Vu / téléchargé :16 952 / 355

Auteur : antoine129

Ecrire un message privé
Site perso
Commentaire sur cette source (32)
Ajouter un commentaire et/ou une note

 Description

MISE A JOUR : j'ai rendu le script plus générique, donc allez voir à cette adresse plutot : http://www.phpcs.com/code.aspx?ID=30644
--------- -
Un fichier php, une table mysql, et voilà !
avec ce petit script gérez vos courses seul ou à plusieurs ;)
Facilement modifiable si vous voulez ajouter des champs...

Source

  • <?php
  • // visitez plutot http://www.phpcs.com/code.aspx?ID=30644
  • // made by mOut - www.mout.fr
  • /* CONFIGURATION */
  • /*********************************
  • * Format de votre base de données :
  • *
  • CREATE TABLE `courses` (
  • `num` int(11) NOT NULL auto_increment,
  • `article` text NOT NULL,
  • `qte` int(11) NOT NULL default '0',
  • `comm` text NOT NULL,
  • PRIMARY KEY (`num`)
  • )
  • *********************************/
  • $titre = "Liste de courses";
  • $mysql['server'] = "localhost";
  • $mysql['login'] = "root";
  • $mysql['password'] = "";
  • $mysql['database'] = "test";
  • $mysql['table'] = "courses";
  • /* FIN DE LA CONFIGURATION */
  • mysql_connect($mysql['serveur'],$mysql['login'],$mysql['password'])
  • or die("Erreur lors de la connexion à la base MySQL : ".mysql_error());
  • mysql_select_db($mysql['database'])
  • or die("Erreur lors du choix de la table MySQL : ".mysql_error());
  • if(isset($_POST['article']))
  • mysql_query("INSERT INTO ".$mysql['table']." (article, qte, comm)"
  • ." VALUES ('".$_POST['article']."',"
  • ." '".$_POST['qte']."',"
  • ." '".$_POST['comm']."')"
  • ) or die("Erreur lors de la suppression d'un article : ".mysql_error());
  • if(isset($_GET['delete']))
  • mysql_query("DELETE FROM ".$mysql['table']
  • ." WHERE num=".$_GET['delete']
  • ) or die(mysql_error());
  • ?>
  • <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitionnal//EN">
  • <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
  • <head>
  • <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  • <meta http-equiv="Content-Script-Type" content="text/javascript" />
  • <meta http-equiv="Content-Style-Type" content="text/css" />
  • <meta http-equiv="Content-Language" content="fr" />
  • <meta http-equiv="Refresh" content="15;URL=<?=$_SERVER['PHP_SELF']?>" />
  • <title><?=$titre?></title>
  • <script type="text/javascript">
  • function ts(){
  • if(document.getElementById('article').value!='')
  • document.getElementById('fliste').submit();
  • }
  • </script>
  • <style type="text/css">
  • a { text-decoration: none; }
  • a:hover { color: red; }
  • body { font-family: Helvetica, sans-serif; font-size: 12px; }
  • th { border-bottom: 1px solid #888; background-color: #eee; }
  • tr:hover { background-color: #eee; }
  • input:focus { border: 2px solid #888; }
  • td,th { height: 22px; }
  • </style>
  • </head>
  • <body>
  • <h1 style="text-align: center">
  • <a href="<?=$_SERVER['PHP_SELF']?>"><?=$titre?></a>
  • </h1>
  • <table align="center">
  • <tr>
  • <th>Article</th>
  • <th>Qté</th>
  • <th>Commentaires</th>
  • </tr>
  • <?php
  • $r = mysql_query("SELECT * FROM ".$mysql['table'])
  • or die("Erreur lors de la lecture de la table : ".mysql_error());
  • while($l=mysql_fetch_array($r))
  • echo " <tr>\n"
  • . " <td>".$l['article']."</td>\n"
  • . " <td>".$l['qte']."</td>\n"
  • . " <td>".$l['comm']."</td>\n"
  • . " <td>\n"
  • . " <a href=\"".$_SERVER['PHP_SELF']."?delete=".$l['num']."\">Del</a>\n"
  • . " </td>\n"
  • . " </tr>\n";
  • ?>
  • <form method="post" id="fliste" name="fliste" action="<?=$_SERVER['PHP_SELF']?>">
  • <tr>
  • <td><input type="text" name="article" id="article" size="25" /></td>
  • <td><input type="text" name="qte" id="qte" size="1" /></td>
  • <td><input type="text" name="comm" id="comm" size="40" /></td>
  • <td style="height: 30px">
  • <a href="#" onclick="javascript:ts()">Add</a>
  • <input type="submit" style="display:none" />
  • </td>
  • </tr>
  • </form>
  • </table>
  • <script type="text/javascript"> document.fliste.article.focus(); </script>
  • </body>
  • </html>
<?php
// visitez plutot http://www.phpcs.com/code.aspx?ID=30644
// made by mOut - www.mout.fr
/* CONFIGURATION */

/*********************************
 * Format de votre base de données :
 * 
CREATE TABLE `courses` (
  `num` int(11) NOT NULL auto_increment,
  `article` text NOT NULL,
  `qte` int(11) NOT NULL default '0',
  `comm` text NOT NULL,
  PRIMARY KEY  (`num`)
)

*********************************/

$titre              = "Liste de courses";
$mysql['server']    = "localhost";
$mysql['login']     = "root";
$mysql['password']  = "";
$mysql['database']  = "test";
$mysql['table']     = "courses";

/* FIN DE LA CONFIGURATION */

mysql_connect($mysql['serveur'],$mysql['login'],$mysql['password'])
    or die("Erreur lors de la connexion à la base MySQL : ".mysql_error());

mysql_select_db($mysql['database'])
    or die("Erreur lors du choix de la table MySQL : ".mysql_error());

if(isset($_POST['article']))
    mysql_query("INSERT INTO ".$mysql['table']." (article, qte, comm)"
               ." VALUES ('".$_POST['article']."',"
               ." '".$_POST['qte']."',"
               ." '".$_POST['comm']."')"
               ) or die("Erreur lors de la suppression d'un article : ".mysql_error());

if(isset($_GET['delete']))
    mysql_query("DELETE FROM ".$mysql['table']
               ." WHERE num=".$_GET['delete']
               ) or die(mysql_error());

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitionnal//EN">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
  <meta http-equiv="Content-Style-Type" content="text/css" />
  <meta http-equiv="Content-Language" content="fr" />
  <meta http-equiv="Refresh" content="15;URL=<?=$_SERVER['PHP_SELF']?>" />
  <title><?=$titre?></title>
  <script type="text/javascript">
    function ts(){
      if(document.getElementById('article').value!='')
        document.getElementById('fliste').submit();
    }
  </script>
  <style type="text/css">
    a { text-decoration: none; }
    a:hover { color: red; }
    body { font-family: Helvetica, sans-serif; font-size: 12px; }
    th { border-bottom: 1px solid #888; background-color: #eee; }
    tr:hover { background-color: #eee; }
    input:focus { border: 2px solid #888; }
    td,th { height: 22px; }
  </style>
</head>
<body>
<h1 style="text-align: center">
  <a href="<?=$_SERVER['PHP_SELF']?>"><?=$titre?></a>
</h1>
<table align="center">
  <tr>
    <th>Article</th>
    <th>Qté</th>
    <th>Commentaires</th>
  </tr>
  <?php
  $r = mysql_query("SELECT * FROM ".$mysql['table']) 
  or die("Erreur lors de la lecture de la table : ".mysql_error());

  while($l=mysql_fetch_array($r))
      echo "  <tr>\n"
         . "    <td>".$l['article']."</td>\n"
         . "    <td>".$l['qte']."</td>\n"
         . "    <td>".$l['comm']."</td>\n"
         . "    <td>\n"
         . "      <a href=\"".$_SERVER['PHP_SELF']."?delete=".$l['num']."\">Del</a>\n"
         . "    </td>\n"
         . "  </tr>\n";
  ?>
  <form method="post" id="fliste" name="fliste" action="<?=$_SERVER['PHP_SELF']?>">
  <tr>
    <td><input type="text" name="article" id="article" size="25" /></td>
    <td><input type="text" name="qte" id="qte" size="1" /></td>
    <td><input type="text" name="comm" id="comm" size="40" /></td>
    <td style="height: 30px">
      <a href="#" onclick="javascript:ts()">Add</a>
      <input type="submit" style="display:none" />
    </td>
  </tr>
  </form>
</table>
<script type="text/javascript"> document.fliste.article.focus(); </script>
</body>
</html>

 Conclusion

N'hésitez pas à me contacter si vous avez des questions !

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

26 février 2005 15:32:01 :
26 février 2005 15:33:13 :
26 février 2005 15:34:51 :
26 février 2005 15:36:28 :
28 février 2005 10:49:52 :
en réponse à fg85 :)
28 février 2005 10:51:29 :
07 mars 2005 20:04:35 :
ajout de "Erreur lors de la suppression d'un article : ".
09 mars 2005 22:36:21 :
ajout de la structure de la table en commentaire :)
09 avril 2005 16:50:57 :
j'ai rendu le script plus générique, donc allez voir à cette adresse plutot : http://www.phpcs.com/code.aspx?ID=30644

 Sources du même auteur

CLASSE MYSQL SIMPLE (ABSTRACTION DES REQUÊTES SQL)
Source avec Zip MINI LISTE GÉNÉRIQUE AFFICHANT UNE TABLE MYSQL ET PERMETTANT...
LISTE DES ANNIVERSAIRES POUR LES N PROCHAINS JOURS, DANS L'O...
MINI PARSER DE LOG QUAKE 3 (BASEQ3/GAMES.LOG) : MAP ET SCORE...
Source avec Zip Source avec une capture BASE DE DONNÉES DE FICHIERS : LISTAGE ET AJOUT MYSQL, ET REC...

 Sources de la même categorie

Source avec Zip ORM : DAO, ACTIVERECORD ET DBLIST par Reldan
Source avec une capture CET EXTRAIT PERMET D'AJOUTER DANS UN TABLEAU UNE AGRÉGATION ... par Denis007
EXPORT DE BASE AU FORMAT CSV par remib74
Source avec Zip RECHERCHE DES DOUBLONS DANS UNE TABLE MYSQL EN SÉLECTIONNANT... par aladec2007
[CRON] INSERT ON DUPLICATE KEY UPDATE par pierreSabatier

Commentaires et avis

Commentaire de fg85 le 27/02/2005 10:38:11

Le "mysql_query("SELECT * FROM courses") or die(mysql_error());" n'est pas très efficace pour les visiteurs .

Il est mieux d'écrire un message personnalisé (cela dépend biensure du public visé)

Sinon bein ça à l'air de se tenir .

---------------------------------
http://fg.logiciel.free.fr

Commentaire de antoine129 le 28/02/2005 10:51:54

voila :)

Commentaire de ddmellul le 04/03/2005 03:02:38

j obtiens ce message lors de suprression

You have an error in your SQL syntax near '' at line 1

help please

Commentaire de antoine129 le 04/03/2005 11:13:32

remplace la ligne :

mysql_query("DELETE FROM ".$mysql['table']
                 ." WHERE num=".$_GET['delete']
                 ) or die(mysql_error());

par :

$req = "DELETE FROM ".$mysql['table']
           ." WHERE num=".$_GET['delete'];
mysql_query($req) or die("[".$req."] ".mysql_error());

et dis-moi ce qui s'affiche...

Commentaire de la_pin le 06/03/2005 13:25:08

j'aime beaucoup l'utilité de ta source !
J'ai mis ça sur le blog familial et ça marche sans probleme ^^

Commentaire de antoine129 le 06/03/2005 13:42:42

oui je trouve ça pratique :)
ça fait un peu geek mai j'ai un peti lien sur ma page de démarrage et kan je veu faire les courses, hop!
:D

ps: excellent ton pseudo! lol

Commentaire de la_pin le 06/03/2005 17:03:56

héhé.
la_pin c'est la version écourtée, en fait c'est le lapin rose et bleu et c'est mon pseudo counter-strike ^^

Commentaire de antoine129 le 06/03/2005 17:05:21

ah oki :D

Commentaire de ddmellul le 07/03/2005 17:13:03


j ai fait copier coller ah la la


voila voila ce que j obtiens :

[] Query was empty

Commentaire de antoine129 le 07/03/2005 17:41:43

apprend à copier coller alors ;)

Commentaire de ddmellul le 07/03/2005 18:07:18

on fait ce qu on peut

voila ce que j ai

[] Query was empty


merci

Commentaire de antoine129 le 07/03/2005 18:14:38

reflechi : la modif est faite apres un if() sans crochets.
dans le cas original il n'y avait qu'une instruction qui suivait.
or là il y en a deux. ajoute simplement des accolades ;)
allez je prémâche le travail :
_________________________________

if(isset($_GET['delete'])){
    $req = "DELETE FROM ".$mysql['table']
           ." WHERE num=".$_GET['delete'];
    mysql_query($req) or die("[".$req."] ".mysql_error());
}
_________________________________

mais bon je ne suis pas là pour vous apprendre php...

Commentaire de ddmellul le 07/03/2005 19:56:36

ca marche pas
dommage j laimais bien moi ce script

[DELETE FROM courses WHERE num=] You have an error in your SQL syntax near '' at line 1

Commentaire de antoine129 le 07/03/2005 20:03:00

normalement quand tu clique sur "del" c un lien du genre "courses.php?delete=69" ce qui implique que $_GET['delete'] vaut 69.
Or toi ta requete est [DELETE FROM courses WHERE num=] donc $_GET['delete'] est vide, ce qui n'est pas normal (j'ai testé le script a l'instant) :-S
vide ta base, re-copie mon script, mais normalement ça peut que marcher !
good luck :)

Commentaire de ddmellul le 07/03/2005 20:20:50

ok
nouvel essai

Commentaire de antoine129 le 07/03/2005 20:28:39

:)

Commentaire de ddmellul le 07/03/2005 21:19:04

http://www.MONSITE.COM/courses.php?delete=

OK VOICI CE QUE J OBTIENS SUR LA BARRE DE L ADRESSE
tu as bien raison il manque la valeur a deleter

l erreur sql demeure la meme :

You have an error in your SQL syntax near '' at line 1

Commentaire de ddmellul le 07/03/2005 21:20:06

ce serait pas une question de chmode des fois ??

Commentaire de antoine129 le 07/03/2005 22:52:55

non pas de chmod c pa possib.
par contre je compren pa comen tarrive a ton url ou il manque le numero...
normalement la liste c une liste avec des articles et un lien "del" a chaque extrémité, dont l'url se fini par ?delete=num ou num est le numero unique de larticle dans la base...
c chelou ke toi sa marche pa
envoie l'url en pv si tu veu :)

Commentaire de ddmellul le 08/03/2005 21:23:38

quand je passe la souris sur les differents del de chaque article j obtiens aussi en ligne de bas de page
le lien :
or celui ci ne donne pas le numero

l'url se fini par ?delete=
comme tu dis
qu en est il de la variable $l['num'] ???

Commentaire de antoine129 le 08/03/2005 22:01:16

ah mais aten je n'ai pas donné la structure de la table là?!!!
et personne n'a rien dit!!
je pense que tu n'as pas de champ 'num', voici la structure :

num: int
article: text
qte: int
comm: text

;)

Commentaire de ddmellul le 09/03/2005 22:10:24

D... existe et sait recompenser ceux qui perseverent
si je le pouvais je donnerais 12 a ce scripte

le champ num est de type auto increment

merci pour ta patience

a bientot pour un autre de tres scripts

Commentaire de antoine129 le 09/03/2005 22:27:40

ok amuse toi bien merci :)

Commentaire de Fic le 01/04/2005 19:07:53

Bonjour, J'aime bien. Ca marche si bien à 2 et à distance qu'on se demande qui les fait (les courses)...

C'est si simple que j'ai voulu en faire une version modifiée mais ca marche pas !
ken je remplace le champs de texte "article"
<input type="text" name="comm" id="comm" size="40" />
par une zone de saisie plus grande
<textarea cols=60 rows=10 name="article">

Commentaire de Fic le 01/04/2005 19:13:08

ca marche plus.

par contre en changeant le champs 'comm"
<textarea cols=60 rows=10 name="article">

Est-ce que tu peux expliquer à un débutant. Merci.
Est-ce que c'est parce que tu utilise la variable article pour un test ?
Ou a cause du JavaScript ?

Commentaire de Fic le 01/04/2005 19:16:13

petit bug dans ma saisie deux 2e message :

par contre en changeant le champs 'comm"
<textarea cols=60 rows=10 name="comm">
ca marche

Merci

Commentaire de antoine129 le 01/04/2005 19:19:29

donc pour confirmer, tu veux remplacer :
<input type="text" name="article" id="article" size="25" />
par :
<textarea cols=60 rows=10 name="article">
mais dans ce cas le javascript bloque le postage car tu as oublié l'attribut "id", et de plus tu as oublié le </textarea> :
<textarea cols="60" rows="10" name="article" id="article"></textarea>

Commentaire de Fic le 02/04/2005 09:33:57

Merci de ta réponse. Je vais l'id. </textarea>est déjà en place. C'est pas le HTML qui craint mais le JavaScript. Peux-tu prendre de ton temps pour expliquer ta fonction ts ? Sans vouloir en rajouter j'ai trouvé ton code super compact et précis. C'est pourquoi j'insiste pour comprendre.
if(document.getElementById('titre').value!='')
document.getElementById('fliste').submit();

Commentaire de antoine129 le 02/04/2005 12:42:22

mon code sert juste a eviter de poster un truc vide :)))
donc en fait tu peux enlever cette verif!
il cherche l'objet d'id "titre" dans la page et teste si son contenu est vide. si oui, il soumet le formulaire. mais tu peux enlever la ligne :
if(document.getElementById('article').value!='')

Commentaire de Fic le 02/04/2005 15:43:29

Merci pour le coup de pouce. Tout marche impec.
C'est bien avec des ID on peut se passer de pétrole.
A+

Commentaire de antoine129 le 02/04/2005 15:48:45

;)

Commentaire de antoine129 le 09/04/2005 16:51:21

j'ai rendu le script plus générique, donc allez voir à cette adresse plutot : http://www.phpcs.com/code.aspx?ID=30644

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,920 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales