Aller au contenu

loulou

Hubmaster
  • Compteur de contenus

    109
  • Inscrit(e) le

  • Dernière visite

Tout ce qui a été posté par loulou

  1. Tu as tout a fait raison, J'ai changé l'ordre de mes requêtes, ainsi que tu me le suggerais et c'est bien plus logique. Donc maintenant, j'utilise la fonction mysql_insert_id, comme tu le préconisais dans ta première réponse et tout marche. Alors merci beaucoup pour ton aide.
  2. Merci bozoleclown, J'ai vu cette possiblilité, mais je ne peux pas m'en servir. Je m'explique : Je dois créer des requêtes d'insert pour des produits, qui comprènent l'ID de la catégorie à laquelle appartienne ces produits. Le truc, c'est que la catégorie des produit est créée en même temps que le s produits sont créés. L'id des catégories est en auto incrémént. Donc pour la première création de produit, je cherche dans ma table des catégories, le plus grand ID. Si la table est vide, mon plus grand ID "ne vaut rien". Dans mon code, j'essaie de lui dire, si ID ne vaut rien, alors, qu'il prenne la valeur 0. Comme ca, je peux crée mon newId, qui est l'ID de ma nouvelle catégorie et qui ID+1. J'insère mes produits avec cette ID de catégorie (qui est 1),puis ma requête de création de catégorie est executée, est comme c'est la première catégorie de la table qui est en auto incrément, l'ID de ma catégorie vaut 1. Le hic, c'est que je n'arrive pas à attribuer la valeur 0 à $id quand il n'y a pas de max id récupéré, euh...je ne sais pas si c'est clair...
  3. Bonjour, Je cherche à récupérer l'id le plus grand de ma table, car celui-ci me servira pour calculer un autre id. La requête suivante fonctionne très bien, $id est bien mon id le plus grand. Le problème, c'est quand ma table est vide, car $id est vide, alors pour calculer $newId ($id+1), je ne sais pas comment faire. Ce qui est étrange, c'est que ce newId est utilisé pour faire des enregistrements dans une autre table, et sytématiquement, dans ce cas là, $newId prend la valeur 0. Si ma table (ou je récupère mon id n'est pas vide, alors, la récupération de cet id et la création du newId suivant, fonctionne normalenemt. Exemple, $id=1, $newId=$id+1, soit $newId=2. Le problème est bien lié au premier enregistrement de ma table. //je récupère le dernier id de pack de la table pack $reqPackId="SELECT pack_id FROM `pack` WHERE pack_id = (SELECT MAX( pack_id )FROM pack )"; $resPackId=mysql_query($reqPackId); while ($row = mysql_fetch_array($resPackId)) { $id=$row[0]; if (($id="")||($id=0)){$id=0;} $newId=$id+1; } Si quelqu'un a une idée ? Merci par avance,
  4. Ok, merci Dan pour cette réponse ! je comprends mieux ce que je fais
  5. Dans un script, je rapatrie un fichier depuis un serveur FTP. J'utilise la fonction : ftp_fget($conn_id,$handle,$remote_file, FTP_BINARY) Au lieu de FTP_BINARY, je peux choisir FTP_ASCII. C'est un fichier.txt, qui contient des données (textes et chiffres). Quand je rapatrie le fichier en ASCII, il pèse plus lourd que quand je le rapatrie en BINARY. Quelqu'un sait-il comment on choisit ? Merci
  6. loulou

    Nombres et décimales

    Ne penses tu pas que cela peut venir du format des champs montant_inf et montant_sup ? Moi, pour tous les champs relatifs à des "prix" je suis en décimal (15.4) 1 31 1 300.0000 749.9900 2 31 3 750.0000 99999.9900 Peut être que c'est là que ça coince ?
  7. loulou

    Nombres et décimales

    Et ta limite haute, elle est de combien : 799.99 ou alors 99999.99 ? je n'ai pas compris dans ton message. Si c'est 99999.99, alors ça devrait marcher. Si c'est 799.99, il se peut que tu ais une autre tranche dans pour la quelle il n'y a pas de réduc ou pas de tranche du tout : de 300 à 799.99 reduc de 5% de 800 à 1039.99 réduc de x% de 1040 à 1099.99... c'est lequl la femme : loulou ou chouchou ?
  8. loulou

    Nombres et décimales

    cela ne marche pas pour les 1000. Est ce que c'est lié au montant? ou bien au produit ?, as tu essayé de garder le même produit, mais avec un autre montant que 1000 ? As tu vérifié que le produit est bien dans la bonne catégorie et que la catégorie est bien dans accord_reducts ?
  9. loulou

    Nombres et décimales

    Bonjour xpatval, Je suis aussi sur oscommerce et quand je fais des calculs, je les fais toujours avec mes valeurs brutes issues de mes tables, c'est à dire, avant application des calculs de TVA, application de la monnaie, mise en forme.
  10. Et bien je n'y comprends plus rien. Après avoir essayé la fonction "list", j'ai rééssayé mon code du début : et là miracle ça marche ! Je ne sais pas si c'est moi qui ne voyais rien ou si j'ai modifié quelque chose dasn mon code en faisant les divers tests que tu m'as conseillés. Je pense que c'est la première solution la bonne... En tout cas merci pour ton aide !
  11. Merci NorSeb. J'ai appliqué la première méthode que tu m'as donné, et cela a fonctionné. Mais pour ne ne sais quelle raison, je n'ai toujours pas le 2nd chiffre après la virgule. Je ne vois vraiment plus comment faire. Si quelqu'un a une idée ?
  12. Je viens de regarder cette fonction, mais je ne vois pas bien comment l'utiliser dans mon code.
  13. Je ne connais pas bien cette fonction, je vais essayer.
  14. Non ils y en a 2 qui se suivent et ils sont en position 3 et 4 sur 7, en partant de 0. C'est donc $data [3] et $data [4] dasn ma boucle.
  15. Bonjour, J'ai un problème avec un fichier texte. Je récupère des lignes qui sont constituées de champs séparés par des tabulations. Pour récupérer ces champs je fais : while ($data = fgetcsv ($fp, 4096, "\t","\r\n")) { $champs0=$data[0]; ........ } Cela marche très bien, sauf pour certains champs qui correspondent à des prix et qui ont la forme : 193,78 par exemple. Pour ce type de champs, avec mon code actuel, je récupère 193,7. J'ai essayé de faire ($data[x]*100), mais cela me donne : 19300. Là encore la décimale n'est pas prise en compte. J'ai essayé de faire $dta=(ereg_replace(",", "", $data[x])); (suppression de la virgule dans la chaine, mais là encore, j'obtiens 1937. (il manque le 8 à la fin de ma chaine). Avez-vous une idée de la procédure à suivre ? Merci ---------- edit modérateur: modifié la faute dans le titre ;-)
  16. Merci Portekoi, Je viens de regarder le lien que tu m'as donné. C'est vraiment bien expliqué. Je ne serai pas capable d'exploiter les classes en PHP, mais je comprends un peu mieux. Quand au code que tu m'as donné, ça marche tout simplement. Je n'avais pas compris que pour appeler un objet existant il fallais mettre $order = new order($order_); Le "new order()" me faisait penser que j'allais créer une nouvelle (new) commande et non récupérer la commande dont l'identifiant est "$order_". Bref, je ne sais pas si ce que je dis est très clair, mais en tout cas ton code était le bon. Merci encore
  17. Bonjour Portekoi et merci pour ta réponse. En fait, tu penses que je ne récupère pas mon order_id ? et c'est pour cela que tu me conseilles de faire : $order_=($HTTP_GET_VARS['order_id']); $order = new order($order_); Cela me donnerait : require(DIR_WS_CLASSES . 'order.php'); $order_=($HTTP_GET_VARS['order_id']); $order = new order($order_); Merci pour ta réponse
  18. loulou

    Aide pour un bout de code

    Bonjour, Dans un des mes fichiers : fic1.php, je veux récupérer les infos suivantes : adresse email du client nom du client. Pour cela, dans fic1.php, je fais appel à la classe "order", puisque l'adresse mail et le nom du client sont des éléments de la commande. Voici comment je fais : require(DIR_WS_CLASSES . 'order.php'); $order=($HTTP_GET_VARS['order_id']); Dans ma classe "order" j'ai (entre autre) : $this->customer = array('id' => $order['customers_id'], 'name' => $order['customers_name'], ....................etc 'email_address' => $order['customers_email_address']); Donc dans fic1.php, pour récupérer l'adresse email et le nom du client, je fais : $orderNom=$order->customer['name']; $orderEmail=$order->customer['email_address']; Or cela ne me renvoie pas les infos que je veux récupérer. N'étant pas une "pro" en développement, je me dis que je fais peut être des erreurs de synthaxe dans mon appel à la classe order. Quelqu'un à t'il une idée ?, Merci par avance pour votre aide.
  19. Pour moi, l'anim fonctionne très bien, sous ie6. Ce qui est étrange, c'est que je peux naviguer dans les menus à gauche, mais je ne vois pas ma souris à l'écran, est ce volontaire ? je trouve cela génant. Sinon l'anim est plutôt sympa !. Karine.
  20. Salut Therec et merci pour ton implication. Voici un document tel que je le recevrai chaque jour (en beaucoup plus long, envirron 10000 items) Ce qui m'a été demandé de faire,c'est de permettre à l'urilisateur final, (mon patron) de rentrer ces données dans la bdd de façon simple, car il n'est pas informaticien. - <CATALOG> - <ProductCatalog AccountNumber="xxxxxx"> - <PRODCATHDR> <Header catalogPurposeCode="FTP" SupersededCode="" VersionNumber="1.0" RevisionNumber="0" FTP="FTP" /> <DocumentDate TypeDate="YYYY-MM-DDTHH:MM:SS.ms">2005-03-04T16:13:06.700</DocumentDate> <DefaultCurrency>EUR</DefaultCurrency> <DefaultLanguage>EN</DefaultLanguage> <ProductCount>111111</ProductCount> - <SupplierParty> <Party AgencyId="xxx-xxxxxxx-france" PartyId="100">0</Party> </SupplierParty> </PRODCATHDR> - <Item Sku="/1010FR" Category="Imprimantes" Type="C" Manufacturer="Kyocera" StockLevel="21" RRP="27500" CLI="25580"> <Desc>IMPRIMANTE KYOCERA FS</Desc> </Item> - <Item Sku="/FS1020D" Category="Imprimantes" Type="C" Manufacturer="Kyocera" StockLevel="7" RRP="31500" CLI="27870"> <Desc>IMPRIMANTE KYOCERA</Desc> </Item> </ProductCatalog> </CATALOG> Sinon, ce que tu m'as expliqué l'autre jour m'a bien aide, en enregistrant le fichier en ANSI, les données étaient très bien intégrées dans ma bdd.
  21. Merci Therec pour ta réponse, je viens d'essayer. J'ai réenregistré le fichier en choisissant "ANSI". Ensuite je l'ai intégré dans ma base de données, et ça a parfaitement marché. Tu dis : "Suivant comment tu exportes tes données de la base source, tu peux spécifier un encodage pour le fichier de destination, ce qui t'éviterait de procéder comme ci-dessus pour les prochaines fois." Comment fait on pour spécifier l'encodage ? En fait, au départ, j'ai un fichier xml, mais je n'ai pas réussi à le traiter avec xsl pour créer un fichier txt. Alors, via une succession de "ereg_replace", j'ai fabriqué une chaine que j'insère dans un fichier que je crée, et que je nomme "metro5.txt". Y a t'il au moment ou je crée mon fichier metro5.txt, une possiblité pour moi de lui attribuer ANSI pour le codage ? En tout cas merci pour m'avoir expliqué d'ou venait mon erreur.
  22. Je viens juste de m'apercevoir que une fois dans ma base, certains caractères n'ont pas la forme voulue : exemple : Réseaux & Communications au lieu de Réseaux & Communications, alors que dans le fichiers source, qui me sert à alimenter la base, j'ai bien Réseaux & Communications (gràce à la fonction html_entity_decode) que tu m'as recommandé.
  23. loulou

    gestion droits d'acces

    Tu as raison Portekoi. Ta proposition est plus "pro" car elle permet de gérer chaque droit indépendament de autres droits. Dans mon esprit, celui qui a le droit 3(lecture écriture ajout/suppression), a par défaut les droits 2 (lecture écriture) et 1 (lecture seule) Celui qui a le droit 2 a par défaut le droit 1. Mais il est certain que cela a ses limites, et par ailleurs, il vaut certainement mieux envisager des groupes d'utilisateurs, tel que tu le recommandes.
  24. loulou

    gestion droits d'acces

    Quoi que en travaillant comme ça, tu n'as même pas à créer de table droits, seul le champs supplémentaire à ta table utilisateurs est utile.
  25. loulou

    gestion droits d'acces

    Je te donne ma façon de voir les choses : Tu crées une table "droits" avec les champs : 1 lecture seule 2 lecture écriture 3 lecture écriture ajout/suppression ... en fonction des droits que tu vaux gérer. Ensuite à chaque utilisateur, tu accordes le droit que tu souhaites lui donner : Donc dans ta table "utilisateurs", tu ajoutes un champs "utilisations" Ensuite, pour les rubriques pour lesquelles il faut des droits, tu imposes de s'identifier. Turécupère l'identité de la personne ainsi que son code "utilisations". Si le code "utilisation" est 2 alors qu'il faut un code 3, alors tu rediriges la personne sur une page d'erreur. Voila, c'est mon idée en gros.
×
×
  • Créer...