Aller au contenu

Alonnka

Actif
  • Compteur de contenus

    26
  • Inscrit(e) le

  • Dernière visite

Réputation sur la communauté

0 Neutre

À propos de Alonnka

  • Date de naissance 08/05/1982

Pour me contacter

  • Mon Site
    http://

Information du profil

  • Genre
    Homme
  • Localisation
    Argenteuil
  1. Salut, Je n'ai pas essayé... J'ai simplement modifié le code qui lançait les procédures stockées pour en faire des requêtes. Ca n'a rien d'une vraie solution mais ça fonctionne.
  2. Salut à tous , Je me réponds tout seul pour vous dire que j'ai un peu avancé. Le soucis sur le message"undefined reference to 'tds_get_size_by_type'" venait simplement du fait que je recompilais tout PHP4 et non que le module MSSQL. Je me suis donc débarrassé de ce problème. Résultat des courses, après compilation et exécution du module j'ai la réponse "255 is an illegal value for the maxlen parameter" à l'exécution de mssql_bind. Je suis donc toujours bloqué... Si vous avez des idées voir une solution nhésite pas.
  3. Bonjour à tous, Je suis sur un souci depuis des heures et Google n'arrive pas à m'aider. J'ai un applicatif web fonctionnant en PHP qui va taper dans une base MS-SQL à coup de procédures stockées. Jusqu'ici cet applicatif tournais sur un serveur Windows 2K avec IIS. Je suis en train d'essayer de le passer sous Linux (Debian) avec Apache (PHP-4.4.9 en CGI). Le module MSSQL m'a obligé à installer FreeTDS, ce que j'ai fait sans trop de difficulté et les requêtes MS-SQL sont bien envoyées au serveur. Mon souci arrive au moment où je souhaite envoyer une procédure stockée au serveur. Jai systématiquement le retour "stored procedure execution failed" que la procédure est 5 paramètres ou 0. J'ai fouillé un peu partout sur le net et la piste la plus prometteuse que j'ai trouvé est ici mais j'ai de nouveau un souci. Je modifie bien le code mais au moment de compiler PHP (make) j'ai un message "undefined reference to 'tds_get_size_by_type'" et là je suis bloqué. Si quelqu'un à une idée je suis preneur. PS : j'ai mis mon message ici car c'est un problème système et non un souci de script PHP, j'espère ne pas m'être trompé.
  4. Non . Comme tu l'as dis le principe de PHP c'est de charger une page et si tu en lance une autre tu la recharge. L'IFRAME c'est inclure une page HTML dans une autre. L'INCLUDE de PHP c'est faire un copier/coller du fichier cible à l'endroit de lINCLUDE.
  5. Oui, d'une façon générale il est préférable d'avoir le maximum de similarités entre ta plateforme de DEV et celle de PROD. Bien souvent la même version dApache/PHP suffit mais ton cas particulier prouve que ce nest pas toujours le cas . Je te suggère donc de créer un sous domaine pour ton site sur ton serveur local (en utilisant un port différent par exemple) et là tu remet les lignes que je t'ai donné plus haut et ça devrait marcher.
  6. Salut, Si je comprends bien, ce qui est un sous-domaine sur le serveur de PROD n'est qu'un sous-répertoire sur ton serveur de DEV... Déjà, ça c'est pas tip top mais bon, tu dois pouvoir bricoler quelque chose. Dans le fichier de configuration de ton serveur local il y a aussi un paragraphe qui traite des alias pour tout ton serveur. Donc, je pense que tu peux faire : ScriptAlias /site_dev/sd/includes/ "f:/site_dev/includes/" Après, à ce stade je n'ai jamais testé.
  7. Je te la refait alors . Ton code, à la fin, il donne ça : $totalquery = doquery("SELECT SUM(valeur) FROM {{table}} WHERE id IN ($userrow["prodlist"])", "valeur"); $total = mysql_result($totalquery,0); En faite dans la requête SQL : WHERE id = '98' OR id = '99' OR id = '100' C'est la même chose que : WHERE id IN (98,99,100) Donc il est inutile de faire tout ton bricolage pour transformer ta liste de produits. Quand au SELECT et bien SUM(valeur) veux dire que tu veux la somme du champ "valeur". Voila, j'espère que tu as compris . Normalement non, - Si tu index les champs sur lesquels tu fais souvent des WHERE - Si tu fait des "SELECT champ1, champ2" plutot que des "SELECT *"
  8. Bonsoir, CODE $valeursomme=0;$itemslist = explode(",",$userrow["prodlist"]); $querystring = ""; foreach($itemslist as $a=>$ { $querystring .= "id='$b' OR "; } $querystring = rtrim($querystring, " OR "); $itemsquery = doquery("SELECT * FROM {{table}} WHERE $querystring ", "valeur"); while ($row = mysql_fetch_array($itemsquery)) { $valeursomme=$valeursomme+$row["valeur"]; } $updatequery = doquery("UPDATE {{table}} SET somme='$valeursomme' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); Si c'est ça que tu cherches à faire captain_torche avait raison : CODE $itemslist = explode(",",$userrow["prodlist"]);$querystring = ""; foreach($itemslist as $a=>$ { $querystring .= "id='$b' OR "; } $querystring = rtrim($querystring, " OR "); $totalquery = doquery("SELECT SUM(valeur) FROM {{table}} WHERE $querystring ", "valeur"); $total = mysql_result($totalquery,0); $updatequery = doquery("UPDATE {{table}} SET somme='$total' WHERE id='".$userrow["id"]."' LIMIT 1", "users"); Je ne sais pas pour MySQL mais pour MS SQL il n'y a même pas besoin de s'occupé à boucler sur $userrow["prodlist"] pour transformer les "," en "OR" car on peut écrire "WHERE id in ($userrow["prodlist"])" les nombres séparés par des virgules passent très bien.
  9. Moi j'ai proposé ça car apparemment il disait afficher chaque ligne donc une adition à chaque boucle ne me paraissait pas plus compliquer. Apres si il veut juste la somme en effet la requête seule suffit largement. +1 pour les autodidacte .
  10. - Tu définis une variable qui vaut 0 avant ta boucle. - A chaque boucle tu lui ajoutes ta valeur. - A la fin de ta boucle tu l'affiches.
  11. Il semble que le souci sous Firefox c'est les cellules vides mais comme elle sont, apparemment, toujours vide il te suffis de leur donner une couleur de fond blanche.
  12. Salut, Si dans la source de ta page tu modifies : <style type="text/css"> td { white-space: nowrap; background-color:#B0C4DE; } th { background-color:#483D8B; color:#FFFFFF; } </style> En : <style type="text/css"> table { border-collapse:collapse; } td { white-space: nowrap; background-color:#B0C4DE; border-style:solid; border-width:2px; border-color:#FFFFFF; } th { background-color:#483D8B; color:#FFFFFF; } </style> Le résultat te parait-il bon ? Note que sous Firefox ça pose des petits soucis sur certaine cellule mais je pense que c'est plus du au code HTML qu'a l'interprétation CSS.
  13. Oups ! Excuses moi, un boulot prenant . Dans la config d'apache tu peux tout simplement faire un alias de ton répertoire "includes" comme étant un sous répertoire de ton sous domaine exactement comme c'est fait pour le répertoire cgi-bin. Pour cela dans la partie qui gère ton hôte virtuel tu ajoutes : ScriptAlias /includes/ "/ton/chemin/absolu/vers/includes/" Sous Windows c'est pareil sauf que le chemin est à écrire d'une façon un peu barbare : ScriptAlias /includes/ "c:/ton/chemin/absolu/vers/includes/" De cette façon quand tu appelleras un fichier contenu dans &quot;http://sd.monsite.com/includes/" ben le serveur ira le cherche à l'adresse absolu. J'avais eu à utiliser cette solution pour un site abusant des sous domaines et moi ne voulant pas copier 20 fois mon répertoire "class" dans chaque répertoire des sous domaines. Comme toujours il doit y avoir dautres solutions mais j'avais bien aimé celle la .
  14. Salut, As-tu accès à la config du serveur web ?
  15. Bonjour, Personnellement quand j'ai un formulaire de recherche qui une fois validé affiche les résultats dans la même page, je met les informations de recherche de l'utilisateur dans une ou plusieurs variables de session et avec la fonction header() je recharge la même page. Ensuite ma recherche se fait sur les variables de session et non sur celle du formulaire (j'espère avoir été clair ). L'intérêt de la chose c'est que si la personne part de la page et y reviens les variables de session sont elles toujours là et le résultat de la recherche s'affiche de nouveau (même mieux si la page ou est partis l'utilisateur avant de revenir a modifié le résultat de la recherche celui-ci est mis à jour). Seul point négatif : on est plus sur le bon forum pour ma solution car on quitte le (X)HTML et on va vers PHP .
×
×
  • Créer...