IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Soucis d'affichage de la lite dans /administrer/commandes.php, Notice: trying to get property of non-object in .../administer
Loudgi
posté 4 Sep 2009, 21:18
Message #1


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



Bonjour,

J'ai encore trouvé une erreur dans Peel Immo 3.3, je tente de résoudre tout seul tant bien que mal.

Le site est passé en phase de test approfondie, et devrat bientôt être livré.
Mais voila, j'ai rencontré un problème (hé oui encore un).

Tandis que je simulais un achat (parfaitement déroulé)
Je passe dans le BackOffice pour vérifier la suite, impec le produit est là.

Toute fois je vérifie si à tout hasard je peux changer le status du produit, c'est à dire changer le statut "en attente" pour un autre choix.
Et l'autre choix proposé est:

Notice: trying to get property of non-object in .../administer/modeles/commande_liste.php on line 128 >Trait

Voila quelqu'un à une idée ?? Ou encore à déja rencontré ce problème ??
Comment résoudre ce problème ?


Merci de toutes futurs réponses.


Cordialament,
Go to the top of the page
 
+Quote Post
Loudgi
posté 4 Sep 2009, 21:41
Message #2


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



Apparament d'après google je suis pas le seul :

Avec : http://www.google.fr/search?hl=fr&q=ph...ct+in&meta=

Je trouve :

http://www.kine-services.com/peel/achat/pr...ails.php?id=357

http://alicegatet.fr/achat/marque.php?id=

même la démo de premium :

http://premium.peel.fr/modules/cadeaux/catalogue_cadeaux.php


Erf quelqu'un à une solution, ce serait cool genre?
Go to the top of the page
 
+Quote Post
Arnaud L
posté 7 Sep 2009, 13:55
Message #3


Membre PEEL eCommerce
***

Groupe : Administrateur PEEL
Messages : 98
Inscrit : 7-April 09
Membre no 1 122



Bonjour,

Pourriez-vous m'énumérer les champs qui composent votre table peel_commandes s'il vous plait ?

De ce que je comprends, il semblerait que le champ "statut" dont il est faire référence à la ligne 128 du ficchier "commande_liste.php" n'ait pas été trouvé dans la table peel_commandes.


--------------------
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97
Go to the top of the page
 
+Quote Post
Loudgi
posté 7 Sep 2009, 14:23
Message #4


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



Bonjour Arnaud L,

Voici le code contenue dans administrer/modeles/commande_liste.php avant et après la ligne 128 :

Code
?>
    <select name="statut" class="formulaire1">
        <option value="0">En attente</option>
        <?php
    
        $sql_statut = "SELECT id, nom_".$_SESSION['langue']." FROM peel_statut ORDER BY id";
    
        $res_statut = mysql_query($sql_statut);
    
        while ($s = mysql_fetch_array($res_statut)) {
    
        echo "<option value=\"".$s['id']."\"";
        
(ligne 128)        if ($s['id'] == $r->statut) { echo "selected";}
        
        echo ">".stripslashes($s['nom_'.$_SESSION['langue'].''])."</option>";
    
        }
        ?>


Et le contenue de la DB en question:

Citation
id int(11) Non auto_increment
proforma tinyint(4) Non 0
id_utilisateur int(11) Non 0
email varchar(255) latin1_bin Non
o_timestamp datetime Oui NULL
a_timestamp date Oui NULL
id_trans varchar(255) latin1_bin Non 0
statut tinyint(4) Oui NULL
statut_details varchar(128) latin1_bin Oui NULL
statut_cb varchar(128) latin1_bin Non
client_info1 text latin1_swedish_ci Oui NULL
client_info2 text latin1_swedish_ci Oui NULL
commentaires text latin1_swedish_ci Oui NULL
montant float(15,5) Oui NULL
montant_ht float(15,5) Non 0.00000
total_produit_avant_promo float(15,5) Non 0.00000
total_produit float(15,5) Non 0.00000
paiement varchar(100) latin1_bin Non
transport varchar(100) latin1_bin Non
cout_transport float(10,2) Non 0.00
cout_transport_ht float(10,2) Non 0.00
lang char(2) latin1_bin Non
points smallint(4) Non 0
points_etat tinyint(4) Non 0
code_promo varchar(255) latin1_swedish_ci Non 0.00
numero varchar(25) latin1_bin Non
societe_bill varchar(255) latin1_bin Non
nom_bill varchar(255) latin1_bin Non
prenom_bill varchar(255) latin1_bin Non
telephone_bill varchar(25) latin1_bin Non
email_bill varchar(255) latin1_bin Non
adresse_bill varchar(255) latin1_bin Non
ville_bill varchar(255) latin1_bin Non
zip_bill varchar(5) latin1_bin Non
pays_bill varchar(255) latin1_bin Non
societe_ship varchar(255) latin1_bin Non
nom_ship varchar(255) latin1_bin Non
prenom_ship varchar(255) latin1_bin Non
telephone_ship varchar(25) latin1_bin Non
email_ship varchar(255) latin1_bin Non
adresse_ship varchar(255) latin1_bin Non
ville_ship varchar(255) latin1_bin Non
zip_ship varchar(50) latin1_bin Non
pays_ship varchar(255) latin1_bin Non
montant_affilie float(15,5) Non 0.00000
affilie tinyint(4) Non 0
statut_affilie tinyint(4) Non 0
total_tva float(10,2) Non 0.00
zone_tva tinyint(4) Non 0
colis varchar(255) latin1_bin Non
remise_produit float(15,5) Non 0.00000
remise_code float(15,5) Non 0.00000
remise_client float(15,5) Non 0.00000
tarif_paiement float(10,2) Non 0.00
unique_id varchar(255) latin1_bin Oui NULL
nom_utilisateur varchar(255) latin1_bin Oui NULL
contre_remboursement varchar(255) latin1_bin Oui NULL
poids float(8,2) Oui NULL
tva float(8,2) Oui NULL
tva_transport float(8,2) Non 0.00
id_unique varchar(255) latin1_bin Oui NULL
remise float(8,2) Oui NULL
zone varchar(128) latin1_swedish_ci Oui NULL
type varchar(255) latin1_bin Oui NULL
pays varchar(128) latin1_swedish_ci Non
remise_client_percent float(5,2) Non 0.00
remise_code_percent float(5,2) Non 0.00
code_cheque_cadeau varchar(64) latin1_swedish_ci Non
remise_cheque float(15,5) Non 0.00000
remise_bon float(15,5) Non 0.00000
code_bon varchar(64) latin1_swedish_ci Non
avoir int(11) Non 0
total_produit_avant_promo_ht float(13,5) Non 0.00000
remise_produit_ht float(13,5) Non 0.00000
remise_client_ht float(13,5) Non 0.00000
remise_code_ht float(13,5) Non 0.00000
remise_cheque_ht float(13,5) Non 0.00000
remise_bon_ht float(13,5) Non 0.00000
id_parrain int(11) Non 0
parrain varchar(10) latin1_swedish_ci Non 0
ecotaxe_ttc float(13,2) Non 0.00
ecotaxe_ht float(13,2) Non 0.00


En tous cas merci de votre aide :-)
Go to the top of the page
 
+Quote Post
Loudgi
posté 17 Sep 2009, 01:00
Message #5


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



il y a un champ "statut" mais de type "tinyint" de 4 caractères.

C'est bien ça ??
Go to the top of the page
 
+Quote Post
Arnaud L
posté 9 Oct 2009, 16:59
Message #6


Membre PEEL eCommerce
***

Groupe : Administrateur PEEL
Messages : 98
Inscrit : 7-April 09
Membre no 1 122



Bonjour,

En remplaçant la ligne 128 du fichier "commande_liste.php" qui doit être :
Code
if ($s['id'] == $r->statut) { echo "selected";}


Par :
Code
if (!empty($r->statut) && ($s['id'] == $r->statut)) { echo "selected";}


Cela corrige-t-il votre problème ?


--------------------
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97
Go to the top of the page
 
+Quote Post
Loudgi
posté 13 Oct 2009, 14:00
Message #7


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



laugh.gif Super !

ça fonctionne, je n'ai plus le msg d'erreur. wink.gif
Merci beaucoup Arnaud tongue.gif Bonne fin de journée

Go to the top of the page
 
+Quote Post
Loudgi
posté 13 Oct 2009, 14:12
Message #8


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



Par contre, quand je supprime la demande (en attente ou en traité ) j'ai un message d'erreur à savoir :



Citation
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/yvivre/administrer/commandes.php on line 237

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /var/www/yvivre/administrer/commandes.php on line 239


Il s'agit de la fonction suivante :

function efface_commande($id) {
Code
/* Efface la commande dont le n° est $id */

    global $wwwroot;
    
    # R&eacute;cup&eacute;ration du stock pour les commandes supprim&eacute;es
    $sqlStock = "SELECT * FROM peel_commandes_articles WHERE commande_id = '".$id."'";
    
    $resStock = mysql_query($sqlStock);
    
        while ($s = mysql_fetch_array($resStock)) {
        
        $sqlCouleur = "SELECT id FROM peel_couleurs WHERE nom_".$_SESSION['langue']."  = '".$s['couleur']."'";
                    
        $sqlTaille = "SELECT id FROM peel_tailles WHERE nom_".$_SESSION['langue']."  = '".$s['taille']."'";
                    
        $resCouleur = mysql_query($sqlCouleur);
                    
        $resTaille = mysql_query($sqlTaille);
                                    
        $couleur = mysql_fetch_array($resCouleur);
             
        $taille = mysql_fetch_array($resTaille);
        
        mysql_query("UPDATE peel_stocks SET stock = stock + ".$s['quantite']." WHERE produit_id = '".$s['produit_id']."' AND couleur_id = '".vn($couleur['id'])."' AND taille_id = '".vn($taille['id'])."'");
    
        }
    
    mysql_query("DELETE FROM peel_commandes WHERE id = '$id'");
    
    mysql_query("DELETE FROM peel_commandes_articles WHERE commande_id = '$id'");
    
    include("modeles/commande_efface.php");
}


Et voici les lignes qui posent problème :
Code
        $couleur = mysql_fetch_array($resCouleur);
             
        $taille = mysql_fetch_array($resTaille);





Je me tourne vers vous encore lol
Go to the top of the page
 
+Quote Post
Arnaud L
posté 19 Oct 2009, 13:19
Message #9


Membre PEEL eCommerce
***

Groupe : Administrateur PEEL
Messages : 98
Inscrit : 7-April 09
Membre no 1 122



Bonjour,

Avez-vous bien dans votre base de données une table peel_stocks ?

Sinon, pour les lignes 237 et 239, je vous propose de les remplacer par ceci :
Code
        if(mysql_num_rows($resCouleur)){
            $couleur = mysql_fetch_array($resCouleur);
        } else {
            $couleur = 0;
        }
        
        if(mysql_num_rows($resTaille)){
            $taille = mysql_fetch_array($resTaille);
        } else {
            $taille = 0;
        }


Si vous n'avez pas de gestion de stock (donc pas de table peel_stocks), il vous faudra du coup réduire la fonction à sa plus simple utilisation, à savoir :
Code
function efface_commande($id) {
/* Efface la commande dont le n° est $id */

    global $wwwroot;
    
    mysql_query("DELETE FROM peel_commandes WHERE id = '$id'");
    
    mysql_query("DELETE FROM peel_commandes_articles WHERE commande_id = '$id'");
    
    include("modeles/commande_efface.php");
}


--------------------
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97
Go to the top of the page
 
+Quote Post
Loudgi
posté 14 Jan 2010, 12:58
Message #10


Membre PEEL eCommerce
***

Groupe : Utilisateur open source
Messages : 31
Inscrit : 12-August 09
Membre no 1 231



Bonjour,

Désolé du retard.
Non il n'existe pas de table peel_stock dans la DB de ma version de PeelImmo3.3.

Qu'est-ce qui serait + intéressant ?
Créer la table, ou simplifier ?

Cordialement
Go to the top of the page
 
+Quote Post
Jean-Hervé
posté 25 Jan 2010, 12:59
Message #11


Maître ecommerce
****

Groupe : Administrateur PEEL
Messages : 595
Inscrit : 11-February 09
Membre no 1 078



Le plus simple serait à mon sens de réduire la fonction et supprimer les occurences de peel_stocks


--------------------
PEEL.fr : Petite Entreprise En Ligne
Service technique
01 75 43 67 97
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
2 utilisateur(s) sur ce sujet (2 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Version bas débit Nous sommes le : 12 March 2010 - 20:50