Page 1 sur 1

Tableau dans une table

Posté : 24 mars 2009, 22:46
par ww2 soldiers
Salut à tous

Voila, je remet à jour mon site qui commence à prendre de la bouteille.... 3ans déja...

Afin de le rendre plus rapide et plus fluide et de prendre en compte toutes les modifs faite plus ou moin à la sauvage depuis des années...

Enfin bref je rentre dans le vif du sujet
################################################

Dans la table ou je conserve mes facture je possède un champ produit TEXT qui est composé d'un encodage pour connêtre le contenu de la commande, voici un exemple

#1234[[email protected]]2,#4612[[email protected]]1, ....

Mon séparateur est la virgule et l'encodage correspont à ce tableau après lecture de mon script

------------------------------------------------
! code produit ! prix vente ! remise ! quantité !
------------------------------------------------
! 1234 ! 120.00 ! 12.00 ! 2 !
------------------------------------------------
! 4612 ! 15.00 ! 1.00 ! 1 !
------------------------------------------------

Je ne veus pas faire de liaison entre ma base produit et ma commande, car la remise et le prix de vente d'un produit est propre a chaque commande

Donc ma question, existe t'il une solution de faire un tableau facilement lisible dans une table SQL ???

A mes début dans la prog c'est impossible mais depuis peut être, mais je n'est rien trouvé dans se sans ?

Merci d'avance a vous et désolé d'avoir été aussi long a tout expliquer

Posté : 24 mars 2009, 22:59
par julian
Avec le PHP Objet, tu peux créer deux classes :
class Commande {
    public $produits;
    public function addProduct($code, $prix, $remise, $qte) {
        $produits[] = new Produit($code, $prix, $remise, $qte);
    }
}

class Produit {
    public $code;
    public $prix;
    public $remise;
    public $qte;
    public function __construct($code, $prix, $remise, $qte) {
        $this->code = $code;
        $this->prix = $prix;
        $this->remise = $remise;
        $this->qte = $qte;
    }
}

$mesCommandes = new Commandes();
$mesCommandes->addProduct("1234", 120.00, 12.00, 2);
$mesCommandes->addProduct("4612", 15.00, 1.00, 1);
Ensuite pour ta BDD tu peux sérialiser l'objet Commande...

Oui pas parti sur un php objet...

Posté : 24 mars 2009, 23:09
par Invité
Salut

Merci de l'info très utile si je change de voie, car je suis pas partie sur une prog en PHP objet mais en procédurable.....

As tu une autre solution ?

Merci d'avance

Posté : 24 mars 2009, 23:18
par furiouslol
Je ne veus pas faire de liaison entre ma base produit et ma commande, car la remise et le prix de vente d'un produit est propre a chaque commande
Ton tableau ressemble au contenu d'une table de BDD. Ne peux tu pas créer une table qui décrivent ces données ? Ca deviendrait du coup plus facilement utilisable

Posté : 24 mars 2009, 23:25
par julian
Tu n'es pas obligé d'avoir ton site entièrement en objet pour faire de l'objet, mais sinon la seule solution "lisible" dans une BDD serait de créer 4 colonnes pour chacune de tes données (code, prix, remise et quantité). Et chaque colonne contiendrait la liste des valeurs.
Quand tu récupère tes données en PHP, tu fais un explode() sur chaque colonne et tu obtiens 4 tableaux indicé numériquement.
Et pour insérer des données, tu utilise la fonction inverse : implode().

Je sais pas si c'est trop clair :?

Posté : 25 mars 2009, 23:11
par niuxe
Salut,

Je n'ai pas très bien compris ton soucis. Toutefois, je ne comprend pas très bien de reprendre à zéro ton site ou de dupliquer des données existantes. Si j'ai bien saisie, tu cherches un résultat suite à la « CONCEPTION DE LA REGEX » ?

Je te propose de regarder de près les jointures de tables et la fonction CREATE VIEW qui devrait remédier à ton soucis il me semble.

Bonne soirée à toi

++