Aller au contenu

loulou

Hubmaster
  • Compteur de contenus

    109
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de loulou

  • Date de naissance 03/06/1974

Pour me contacter

  • Mon Site
    http://
  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 ;-)
×
×
  • Créer...