Accueil > Forum > > > > Update dynamique...
Update dynamique...
mardi 28 juin 2005 à 16:19:46 |
Update dynamique...

angeldu74
|
Slt. voila le problème j'ai un menu déroulant sur la quantité et l'utilisateur a le choix entre 0,1,2 ou 3, je souhaiterai créé une fonction pour que dès qu'il ait choisi une quantité, la valeur de cette case soit enregistré dans ma base grâce à la fonction update... ex: produit 1, l'utilisateur choisi la quantité 2, update produit1 set qte produit1= valeur1 where numprod=1...
Voila. Ma page est un formulaire qui calcul le montant de chaque ligne pour chaque produit et à la fin il y a le calcul du montant total... Pourriez vous m'aider à intégrer cette manipulation dans mon code? Merci d'avance...
menu déroulant qte:
| Code: |
<select select style="WIDTH: 100%" onChange=setMontant(<?php echo $totalRows_RqTour ?>); name=qte<?php echo $totalRows_RqTour ?>> <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> | mes fonctions javascript:
| Code: |
function calcul() { for (i=1; i<1+<?php echo ($totalRows_RqTour + $totalRows_RqTour2 + $totalRows_RqTour3 + $totalRows_RqLecteur + $totalRows_RqLecteur2 + $totalRows_RqLecteur3 + $totalRows_RqGraveur + $totalRows_RqGraveur2 + $totalRows_RqGraveur3 + $totalRows_RqDisquette + $totalRows_RqDisquette2 + $totalRows_RqDisquette3 + $totalRows_RqDisqueDur + $totalRows_RqDisqueDur2 + $totalRows_RqDisqueDur3 + $totalRows_RqCarteMere + $totalRows_RqCarteMere2 + $totalRows_RqCarteMere3 + $totalRows_RqProcesseur + $totalRows_RqProcesseur2 + $totalRows_RqProcesseur3 + $totalRows_RqMemoire + $totalRows_RqMemoire2 + $totalRows_RqMemoire3 + $totalRows_RqCarteVideo + $totalRows_RqCarteVideo2 + $totalRows_RqCarteVideo3 + $totalRows_RqCarteReseau + $totalRows_RqCarteReseau2 + $totalRows_RqCarteReseau3 + $totalRows_RqCarteAcquisition + $totalRows_RqCarteAcquisition2 + $totalRows_RqCarteAcquisition3 + $totalRows_RqCarteSon + $totalRows_RqCarteSon2 + $totalRows_RqCarteSon3 + $totalRows_RqCarteSCSI + $totalRows_RqCarteSCSI2 + $totalRows_RqCarteSCSI3 + $totalRows_RqEcran + $totalRows_RqEcran2 + $totalRows_RqEcran3 + $totalRows_RqKitClavierSouris + $totalRows_RqKitClavierSouris2 + $totalRows_RqKitClavierSouris3 + $totalRows_RqScanner + $totalRows_RqScanner2 + $totalRows_RqScanner3 + $totalRows_RqImprimante + $totalRows_RqImprimante2 + $totalRows_RqImprimante3 + $totalRows_RqWebcam + $totalRows_RqWebcam2 + $totalRows_RqWebcam3) ?>; i++) { setMontant(i); } setTotal(); }
function setTotal() { var total=0; for (i=1; i<1+<?php echo ($totalRows_RqTour + $totalRows_RqTour2 + $totalRows_RqTour3 + $totalRows_RqLecteur + $totalRows_RqLecteur2 + $totalRows_RqLecteur3 + $totalRows_RqGraveur + $totalRows_RqGraveur2 + $totalRows_RqGraveur3 + $totalRows_RqDisquette + $totalRows_RqDisquette2 + $totalRows_RqDisquette3 + $totalRows_RqDisqueDur + $totalRows_RqDisqueDur2 + $totalRows_RqDisqueDur3 + $totalRows_RqCarteMere + $totalRows_RqCarteMere2 + $totalRows_RqCarteMere3 + $totalRows_RqProcesseur + $totalRows_RqProcesseur2 + $totalRows_RqProcesseur3 + $totalRows_RqMemoire + $totalRows_RqMemoire2 + $totalRows_RqMemoire3 + $totalRows_RqCarteVideo + $totalRows_RqCarteVideo2 + $totalRows_RqCarteVideo3 + $totalRows_RqCarteReseau + $totalRows_RqCarteReseau2 + $totalRows_RqCarteReseau3 + $totalRows_RqCarteAcquisition + $totalRows_RqCarteAcquisition2 + $totalRows_RqCarteAcquisition3 + $totalRows_RqCarteSon + $totalRows_RqCarteSon2 + $totalRows_RqCarteSon3 + $totalRows_RqCarteSCSI + $totalRows_RqCarteSCSI2 + $totalRows_RqCarteSCSI3 + $totalRows_RqEcran + $totalRows_RqEcran2 + $totalRows_RqEcran3 + $totalRows_RqKitClavierSouris + $totalRows_RqKitClavierSouris2 + $totalRows_RqKitClavierSouris3 + $totalRows_RqScanner + $totalRows_RqScanner2 + $totalRows_RqScanner3 + $totalRows_RqImprimante + $totalRows_RqImprimante2 + $totalRows_RqImprimante3 + $totalRows_RqWebcam + $totalRows_RqWebcam2 + $totalRows_RqWebcam3) ?>; i++) { total+=getMontant(i); } setText("total", total); }
function setMontant(numLigne) { var qte=getNombre(getInputText("qte"+numLigne)); var pu=getNombre(getSelect("pu"+numLigne)); setText("mtt"+numLigne, qte*pu); }
function getMontant(numLigne) { return getNombre(document.getElementById("mtt"+numLigne).innerHTML); } |
|
|
mardi 28 juin 2005 à 19:21:16 |
Re : Update dynamique...

vince1415
|
Salut,
En fait si j'ai bien compris ce que tu veut c'est faire des requétes
sur ta base de données sans changer ni réactualiser la page. A ce
moment la il faut que tu te tourne vers une méthode de programmation
qui s'appelle l'ajax je crois. C'est avec du javascript et du php. Ca
utilise la méthode HTTPREQUEST ou qqchose comme ca il me semble.
bonne continuation
|
|
mercredi 29 juin 2005 à 08:23:30 |
Re : Update dynamique...

angeldu74
|
Oui c'est quelquechose comme ça qu'il me faut. Mais ou puis-je trouver cette méthode ou une autre tout aussi adapté stp??? Merci d'avance...  @+
|
|
mercredi 29 juin 2005 à 08:41:55 |
Re : Update dynamique...

malalam
|
Les requetes XMLHTTP, plus exactement ;-)
http://www.toutjavascript.com/savoir/xmlhttprequest.php3
|
|
mercredi 29 juin 2005 à 09:27:56 |
Re : Update dynamique...

angeldu74
|
Yes ok merci... J'ai bien compris le concept et c'est exactement ce qu'il me faut... Malheureusement je n'arrive pas à m'inscrire sur le forum... Et j'aimerai savoir ou je peux trouver quelqu'un qui puisse m'aider à réaliser ma manipulation... Merci d'avance, t'as assuré... @+ 
|
|
mercredi 29 juin 2005 à 09:47:05 |
Re : Update dynamique...

malalam
|
C'est TRES simple... Je te donne un exemple tres rapide.
disons que tu as ton formulaire avec une liste, dans une page form.php :
<form id="idForm" action="?" method="post"> <select name="testSelect" onchange="searchReq('idForm', 'data='+document.GetElementById('idForm').testSelect.value);"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> </form>
Dans un fichier de scripts js inclus dans celui-ci, tu declares ton objet comme indique sur le site (copier coller...) et tu crees ta fonction searchReq () : if(document.all) { // Internet Explorer var XhrObj = new ActiveXObject("Microsoft.XMLHTTP") ; } else { // Mozilla var XhrObj = new XMLHttpRequest(); }
function searchReq (loc, data) { // définition de l'endroit d'affichage: var content = document.getElementById(loc); XhrObj.open("POST", 'requete.php');
// Ok pour la page cible XhrObj.onreadystatechange = function() { if (XhrObj.readyState == 4 && XhrObj.status == 200) content.innerHTML = XhrObj.responseText ; }
XhrObj.setRequestHeader('Content-Type','application/x-www-form-urlencoded'); XhrObj.send(data); }
Puis dans la page quz'appelle cette fonction (requete.php) :
<?php if (isset ($_POST['data'])) { echo 'select name="produits">'; $requete = "SELECT id, nom FROM produits WHERE id='$_POST['data']'"; while ($resultat = mysql_fetch_array ($requete)) { echo '<option value="',$requete['id'],'">',$requete['nom'],'</option>'; } echo '</select>'; } ?>
Ca ne fonctionnera comme ca que sur Firefox, pas sur IE. IE ne semble pas comprendre qu'un <form> est un block...si tu veux que ca fonctionne sur IE: - tu dois inserer un div dans ton formulaire apres ton select, et le fermer aussitot, et lui donner un id : </select> <div id="idDiv"></div> </form>
Puis dans le onchange, a l'appel de la fonction tu envoies l'id de ce div : onchange="searchReq('idDiv', 'data='+document.GetElementById('idForm').testSelect.value);"
C'est tout.
Ca te fait 3 pages, et pas tres grosses... :-)
|
|
mercredi 29 juin 2005 à 09:48:26 |
Re : Update dynamique...

malalam
|
J'ai oublie d'echapper les quote dans le onchange... onchange="searchReq('idDiv', 'data='+document.GetElementById(\'idForm\').testSelect.value);"
|
|
mercredi 29 juin 2005 à 09:59:57 |
Re : Update dynamique...

angeldu74
|
Ok d'accord j'ai compris mais je crois qu'il y a un ptit problème car dans mon onchange de mon menu déroulant il y déja le calcul du montant en fin de ligne comment faire pour faire les 2 en même temps? Merci... 
|
|
mercredi 29 juin 2005 à 10:07:20 |
Re : Update dynamique...

malalam
|
Tu peux mettre 2 fonctions dans un onchange.
|
|
mercredi 29 juin 2005 à 10:15:24 |
Re : Update dynamique..

angeldu74
|
Ok excuses moi je ne voudrais vraiment pas abusé de ton temps mais tu pourrais me dire comment pour mettre les 2 fonctions dans le onchange. Et le code que tu as mis sert à quoi exactement? dès que je vais faire mon choix dans mon menu déroulant les informations vont s'afficher sur une autre page c'est ça? Car au départ je voulais en fait enregistrer la valeur de mon menu déroulant dans ma base de donnée pour ensuite reprendre les données et les envoyer avec une fonction mail. Mais comme apparemment tu as l'air d'être super fort en la matière tu me pourrais me conseiller et m'aider à réaliser cette manipulation car je galère depuis pas mal de temps... Merci d'avance... 
|
|
Cette discussion est classée dans : function, total, update, numligne, qte
Répondre à ce message
Sujets en rapport avec ce message
balise div et select [ par yop59 ]
bonjour j'ai un gros souci,, cea fait 2jours que j'essai dans une table de type div contenant un article, un qte de modifier la qte avec un select et
Formulaire update [ par zakarum ]
Bonjour,J'ai fait un formulaire update avec un bouton submit, lorsque je clique dessus la mise à jour se fait correctement dans ma table. Comment fair
problème utilisation UPDATE avec $_POST [ par hobbes64 ]
bonjour, je suis entrain de développer un logiciel de helpdesk, je programme en php depuis presque 2 semaines, et pourtant, je bloque sur des problème
Différence ente protected function, public function, private function et function [ par dvdstory ]
Bonjour à tous.Je n'arrive pas a trouver la différence entre "protected function" , "public <font color="
function_exists mais dans une classe [ par cedriclomb ]
Bonjour,je cherche une fonction pour tester si une fonction existe mais dans une class exempleif(function_in_class($this->{$act}->getPage()){ retu
afficher la duree total a la fin de chaque date [ par younes371 ]
Bonjour,j ai un pti souci avec l afichage des resultats d une requette :voilà ce que je ve faire :je veux lorsque j affiche les date à la fin de chaqu
Besoin d'analyse critique [ par zzzzzz ]
Yop,J'aurai besoin d'avis critique concernant une classe de connection mysql. Eventuel bugs/failles et idées pour la développer d'avantage.Voici la cl
update ne fonctionne pas dans la page php alors qu'elle s'execute normalement sur phpmyadmin [ par hajeur_abd ]
bonsoir,j'ai une table que je veux appliquer sur laquelle une modification et voici mon code:mysql_connect("localhost","root","") or die("impossible d
probleme d'array (panier) [ par lyoan ]
Bonjour à tous, Je viens de commencer la création d'un panier et j'avoue rencontrer quelques problèmes. Voici mon code, dites moi si vous voyez des ch
Bug dans la fonction get_defined_function( ) [ par Calak ]
Bonjour Hier, en regardant le résultat d'un get_defined_function() de ma config, je suis tombé sur un truc assez bizard: Est-ce normal, lorsque je fai
Livres en rapport
|
Derniers Blogs
GESTION D'EXCEPTION AVEC LES TASKSGESTION D'EXCEPTION AVEC LES TASKS par richardc
Nous avons vu dans un précédent article comment utiliser Task pour effectuer des opérations dans un autre thread.
Malheureusement, comme tout le monde n'est pas parfait, il se peut que cette exécution se passe mal et qu'une exception se produise.
La...
Cliquez pour lire la suite de l'article par richardc DéMARRONS AVEC LES TASKSDéMARRONS AVEC LES TASKS par richardc
Que vous le vouliez ou non, le développement multi-tâche est maintenant une obligation pour toute nouvelle application. Il est donc vital d'en comprendre les mécanismes et de s'y mettre le plus tôt possible.
En attendant le .NET Framework 4.5 avec le...
Cliquez pour lire la suite de l'article par richardc SLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPSSLIDE & DéMO TECHDAYS 2012 - FAST & FURIOUS XAML APPS par Vko
Retrouvez les slides et les démo de ma session Fast & Furious XAML Apps. A ceux qui se posent la question : "est-ce que le code de la DataGrid est disponible?", je vous répondrais "pas encore". Je vais mettre en place un projet codeplex pour part...
Cliquez pour lire la suite de l'article par Vko XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice
Forum
CHAMPS TIMECHAMPS TIME par vargas
Cliquez pour lire la suite par vargas
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|