Vous n'êtes pas identifié(e).
vi j'avoue que la poo c'est pas évident pour un débutant, peut être dans le cadre d'une approche dessus.
si non faut reprendre le script qui utilise un html leger, prevue pour register globals on; il est adaptable simplement en rajoutant les $_POST au bon endroit, par contre pour un truc propre faut le reprendre entièrement ...
je suis pas super calé en modélisation mais je vois bien un exemple concret d'appli pooavec opur base mynews
0/ pourquoi poo etc (introduction à la chose, voir les cours etc, l'héritage et creer une classe étendu de PDO par exemple)
1/ le besoin modélisation des tables et uml simple pour la classe
2/ introduction à html 5 et css 3 (au poitn ou on en est )
3/construction de la classe et exemple d'application
en attendant il est possible de reprendre mynews et d'ajouter des commentaire et de faire une code valide php5 simple pour palier le problème temporairement
@+
en attendant y a la version que j'ai mis en liens qui fonction mais crade (y aun vieux extract($_POST) au début :d
je penche sur une V2 pour php5, poo, html 5 et css.
pour le coté tutoriel, cela inclus des commentaire bien sentit, pas d'utilisation des méthodes magique (je pense à __set() par exemple) utilisation de poo, revoir un peu les tables une utilisation de la norme SQL plus simple (et apporter une compatibilité avec d'autre sgbd simplement?).
enfin voila c'est encore sur le papier
(On peut aussi voir un tutoriel sur le sujet qui finit sur le code complet à DL ?)
@+
j'ai oublié y a une table à ajouter (fichier install/table.sql)
@+
sinon j'ai retrouvé dans mes archive une version modifiée qui devrait fonctionner avec php5 http://phpjungle.info/phpdebutant/MyNew … s1.2.2.zip
la seule différence c'est l'ajout des smiley dans le système et certaine correction lié justement à la suppression des register global
bref ça fonctionne sous php5, faut quand même modifier le fichier de conf (config.inc.php). Attention pas de copie du fichier il à été modifié!
@+
PS : si je suis assez courageux pour finir j'ai une V2 sur le feu et je vais voir si l'on peu mettre la V1.2.2 en dl dans la partie téléchargement !
ce que MK indique c'est que l'on ne fait pas on indique comment faire.
MyNews est il est vrai assez vieux et totalement dépassé.
Il utilise des techniques qui n'ont plus court et qui te gene.
soit il faut pouvoir mettre à on les short tag ainsi que le paramètre register_globals à on sans cela le script ne peut fonctionner !
@+
salut,
tu le fait avec une boucle for
@+
ok, merci pour l'info MK
@+
hum j'ai trouver une solution (enfin chez lmoli ça marche ) MK nous dira surement si c'est "propre" ;
voila
@+
hum vire le id_signataire de la requete (pas besoin et c'est ça qui met le brin tu récupère toute les signatures la
si tu nous montrez les create tables des deux tables et un exemple de jeux de données ça pourrait aider (psa plus d'une vingtaine de donnée hein);
ps : pour le code SQL le bbcode c'est [ code=sql ]
@+
@MK j'avoue que je pige pas, peut être hormis le fait que le like sur des nombre n'est pas ansi SQL mais une 'extension' mysql
enfin c'est quand même bon à savoir
merci
@+
yop,
MK as-tu un lien qui explique cela, je n'en ai pas trouvé ?
merci
@+
c'est simple manque la parenthèse fermant de l'impode ...
je te conseil un editeur de txt qui colorise la syntaxe et indique les correspondances des parenthèses. (ou tu peu ausss tester netbeans, qunata etc)
@+
la marre de café ? c'est terrible pour la natation XD (sui deja dehors).
sinon entre IE et Firefox pour php c'est pareil, cela veut dire que cela peut venir d'ailleurs.
quel est le code qui généré les liste, quel est l'affichage html résultant etc!
@+
perso je dirais un fomulaire et en fonction du bouton cliqué (en fonction de sa valeur) tu traite la partie qui t'intéresse.
c'est un manière simple d'avoir "plusieurs" formulaires dans une page.
code traitement c'est simple
@+
salut,
en gros tout ce qui est caractère non-alphanumérique devrait être proscrit des noms de colonnes, tables ou bases et bien sur les mots clefs SQL (tel date comme l'indique Mk, mais aussi from select etc).
si tu veux une liste exhaustive => Liste des fonctions usuelles et indication si elles font partie de la norme SQL et si elle est implémentée dans le SGBD de ton choix (parmi les plus courants)
@+
salut,
hum le code la c'est un fourbit pas possible
alors :
- pourquoi les sessions ? parce que c'est un moyen simple (relativement sécurisé) de reconnaitre la personne qui navigue sur ton site.
- comment fonctionnent les sessions ? si tu ne sais pas je t'invite a lire le cours sur le sujet.
- a tu regardé le source html de ta page ? (celle que tu met en lien) tu a pour le lien sur l'image du caddie <a href="Commande.php?prod=%22.$donnees[" idbdd']."'=""> donc la c'est clair tu un problème de concaténation sur le lien.
Le principe de base pour un caddie
- une variable de session (qui peut être appelé panier)
- Pas besoin de ce tout ce qui est dans ton code, il te suffit d'y mettre l'id et la quatitée du produit dans le caddie. pour cela, en général, on met la référence en clef et la quantité dans le tableau ce qui veut dire
$_SESSION['panier'][reference] = quantité; c'est tout.
tu va donc avoir un tableau ($_SESSION['panier']) qui va contenir les quantités commandées et la référence
comment ajouter ?
il faut un lien comme le tiens <a href="?prod=reference&action=ajoutpanier">ajouter un article</a>
que veut dire ce lien ? le ?permet d'indiquer la page courante, ça veut dire que l'on va faire l'ajout dans le panier sur la même page que celle qui affiche le catalogue (c'est plus simple ça évite une redirection ensuite).
donc en haut de catalogue.php
voila pour l'ajout quelque soit l'article. C'est vraiment basique, il serait bon, par exemple, de vérifier si la référence existe, si tu l'a en stock etc).
comment afficher le panier ?
- il faut récupérer les infos des produits, pour cela rien de plus simple, la fonction array_key retourne un tableau contenant les clef d'un tableau.
la requete SQL devient simple $select = 'SELECT nom, description, prix etc from tableproduit where reference in ('.implode(',',array_key($_SESSION['panier']).')';
ensuite dans le traitement de la requête tu récupère la quantité dans le tableau panier et tu fait le calcul
par exemple
après il te faut adapter la requête pour avoir les bonnes infos (nom des champs, jointure sur autre table etc)
il te faut sauvegarder la commande quelque part ? (le mieux serait dans une table ce qui pourrait t'orienter vers un panier dans le SGBD plutôt qu'en session, bien que pour la commande tu n'ai pas besoin de mettre le tout dans un table tu garde ça pour la validation de la commande.
exemple de table commande
CREATE TABLE produitscommandes(
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
idcommande INT UNSIGNED NOT NULL,
reference INT NOT NULL,
quantite INT NOT NULL,
PRIMARY KEY(id)
)TYPE=myisam;
avec une telle structure tu a des commandes (tables commandes) et des produits liés à la commande (table produitscommandes).
dans la table commande tu à les infos nécessaire qui sont la référence de la commande, la référence client (qui est en fait la clef primaire de la table client) cela permet de savoir à qui est la commande.
la seconde table contient les articles de chaque commande.
Le prix totale de la commande étant calculé à la volée (tu peut le faire en SQL, à la limite tu peut ajouter un champ à la première table pour limiter l'utilisation du SGBD mais pas vraiment utile).
j'ai fait au plus simple mais perso j'utiliserais des tables innodb pour utiliser les clefs étrangères et forcer intégrité des données des tables (impossible d'avoir une référence d'article qui ne serait pas dans la table des articles etc).
voila comment répondre à ta question "simplement".
ce n'est pas compliqué mais il faut être à l'aise avec les sessions et les requêtes SQL.
@+
joomla est assez complet effectivement par contre cela nécessite un apprentissage de leur façon de faire.
il y a aussi, il me semble, pas mal de support.
@+
a ba oui le crétin
Merci MK, j'y avais pas du tout pensé
ça me montre que les outils sont pas toujours moins bête que moi
après la séance de flagellation je retour chatouiller postgre
merci
@+
hum bon j'ai trouvé le pb a force de bidouiller mais je sais pas pourquoi
ON DELETE cascade le set null n'est pas apprécié faudrais que je vois dans la doc le pourquoi du comment mais c'est assez obscure
@+
salut,
je n'ai pas d'idée de script deja existant. Il va falloir regardé du coté des "CMS" type e commerce ou gestion de boutique / stock.
Malheureusement tous ceci est assez complexe donc il y a des chances que cela soit payant.
Pour info je pense qu'il y a des confusions dans les termes
. e une nouvelle base de donnée et créer ces différents champs, voir en rajouter ultérieurement (ex: logistique de nos éléments actifs: emplacements, adresse ip, recu le, mise en place le, etc..). De même il faudrait qu'il y ai une base de donnée de base avec tous les types de produits de base qui seront utilisées par chaque base de donnée créer
il y a confusion entre table et base de donnée.
une base de donne contient des tables, et les tables contiennent les données.
bonne recherche.
@+
commet récupère tu le grade du membre dont tu affiche l'image ?
une fois que tu a répondu à cette question tu peut suivre le reste.
@+
heu voui tu charge les images avec le bon imagecreate ensuite tu met le tout dans une seule image que tu affiche avec image(gif|png|jpg) etc
@+
dans un repertoire tu met tes images grade1.pjg, grade2.jpg etc
pour l'affichage
pour l'insérer dans une autre image utilise la librairie GD =>http://www.phpdebutant.org/article111.php ou exemple 8
si tu souhaite plusieurs taille il faut un répertoire par taille et le même nom à chaque fois.
@+
hum,
je te conseil d'avoir les fichier sur ton disque dur (enfin dans la partie site web) et tu renomme les fichier en fonction des grades.
cela évite les soucis si le site distant change, pis y a les droit d'auteur etc
@+