Accueil > Forum > > > > Modélisation file d'attente de commande avec html/ajax/mysql
Modélisation file d'attente de commande avec html/ajax/mysql
jeudi 29 juillet 2010 à 05:10:13 |
Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
Salut à tous, je souhaiterai développer une file de commande (FIFO premier entré, premier sorti).
J'ai une table Mysql (ID++(n°commande)|Date|Nom|Prénom|adresse|descriptif|prix|statut (attente/préparation/livraison)) que je souhaiterai afficher dans une table avec pour la partie :
user: ajout (ajax) des nouvelles entrées, rafraichissement des statuts des autres et pour la partie
admin: pareil que user + possibilité suppression, changement du statut, possibilité modification, possibilité création.
J'ai pensé pour se faire utiliser de l'Ajax, Php et Xml. Le php1 à chaque modification de la table Mysql ,recréera un fichier Xml (pour évité trop de charge serveur) et enverra un signal à la page Html avec Ajax qui à son tour interrogera le Xml, construira la table(html) et actualisera les entrées.
Pour la partie admin, pareil mais pour la gestion + un php2 qui récupérera les POST d'un formulaire envoyé par Ajax et actualisera la table Mysql.
Avant de me lancer dans le code, je voulais avoir des avis concernant la technique utiliser ici, qu'en pensez vous ? Je suis persuader qu'il existe mile autres façon de faire plus simple tout en gardant cet aspect "ressource serveur minim" ...
|
|
samedi 31 juillet 2010 à 17:21:11 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
Pour le moment tout fonctionne à peut près pas mal, sauf que là je sèche, je voudrai caché la description (Desc) de toute les entrées et après un hover affiché le Desc correspondant. J'ai essayé avec jquery mais j'arrive pas. Avez vous une idée de la marche à suivre svp ?
Code Javascript : function charge() {
rand = Math.random();
var xhr = getXMLHttpRequest();
var url = "file2.xml?a="+escape(rand);
xhr.open("GET", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
response = cleanXML(xhr.responseXML.documentElement);
var items = response.getElementsByTagName("item");
var html = '';
count = items.length;
for(i = 0; i < count; i++) {
html += '<div class="item">'+'<h1 style="display: inline";>N°' + items[i].getElementsByTagName("ID")[0].firstChild.nodeValue + '</h1>'+'<div class="Desc"style="display: inline";> Commande : ' + items[i].getElementsByTagName("Desc")[0].firstChild.nodeValue + '</div>'+'<div class="prix"style="display: inline";> Prix : ' + items[i].getElementsByTagName("Prix")[0].firstChild.nodeValue + ' ¤</div>'+'</div>';
}
document.getElementById('content').innerHTML = html;
}
}
}
charge();
window.onload=function()
{
setInterval('charge()',2000);
};
-->
</script>
<div id="content"></div>
</body>
</html>
|
|
samedi 31 juillet 2010 à 23:25:50 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

PetoleTeam
|
Bonjour,
J'ai essayé avec jquery mais j'arrive pas.
pas obligatoire du tout !
tu mets en display:none puis pour l'affichage tu passes en display:block ou display:inline suivant le cas...
;O)
|
|
dimanche 1 août 2010 à 06:07:42 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
Salut, j'ai mis à l'écart pour le moment jquery mais ca marche toujours pas. Quand je supprime ca et que je le code en html manuellement, ca marche mais pas quand j'appelle cette fonction:
Code Javascript : xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
response = cleanXML(xhr.responseXML.documentElement);
var items = response.getElementsByTagName("item");
var html = '<table width="610" border="0" align="center">';
count = items.length;
for(i = 0; i < count; i++) {
html +='<tr>';
html +='<td align="center" valign="middle" onMouseOut=" cache();" onMouseOver=" montre(\'<div align=left>'+items[i].getElementsByTagName("Desc")[0].firstChild.nodeValue+'</div>\');">';
html +='Descriptif</td>';
html +='</tr><br>';
}
html +='</table>';
document.getElementById('content').innerHTML = html;
}
}
|
|
dimanche 1 août 2010 à 09:15:01 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

PetoleTeam
|
Bonjour,
Quand je supprime ca et que je le code en html manuellement, ca marche mais pas...
vérifies que le code est le même entre l'appel de la fonction et l'écriture directe
Il serait intéressant que tu nous montres ce qu'il y a dans tes fonctions cache et montre, l'appel de montre paraissant surprenante de par le paramètre passé.
Il apparait également que dans l'élément avec ID="content" tu n'auras que la dernière récupération de par la façon dont tu écris dedans, document.getElementById('content').innerHTML = html, écrasant ce qui ce trouve déjà à l'intérieur...
;O)
|
|
dimanche 1 août 2010 à 15:18:39 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
Voilà les fonctions : Code Javascript : <script type="text/javascript">
function GetId(id) { return document.getElementById(id); }
var i=false;
function move(e)
{
if(i)
{
if (navigator.appName!="Microsoft Internet Explorer")
{ GetId("curseur").style.left=e.pageX + 5+"px"; GetId("curseur").style.top=e.pageY + 10+"px"; }
else
{
if(document.documentElement.clientWidth>0)
{ GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px"; GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px"; }
else
{ GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px"; GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px"; }
}
}
}
function montre(text)
{
if(i==false)
{ GetId("curseur").style.visibility="visible"; GetId("curseur").innerHTML = text; i=true;
}
}
function cache()
{
if(i==true)
{ GetId("curseur").style.visibility="hidden"; i=false;
}
}
document.onmousemove=move;</script>
Ajouter ce style css : Code HTML : <style type="text/css">
.info{
width:400px;
text-align: justify;
position: absolute;
visibility : hidden;
border: 1px solid Black;
padding: 10px;
font-family: Arial;
font-size: 11px;
background-color: RED;
opacity: 0.8;
-moz-opacity: 0.8;
-khtml-opacity: 0.8;
filter: alpha(opacity=80);
-moz-border-radius:9px;
}</style>
Et ces div dans le body : Code HTML : <div id="curseur" class="info"></div>
<div id="content">
<table width="610" border="0" align="center">
<tr>
<td align="center" valign="middle" onMouseOut=" cache();" onMouseOver=" montre('<div align=left>testtesttesttesttesttest</div></font>');">Descriptif
</td>
</tr><br>
</table>
</div>
La div content sera vide, là c'est pour vous montré ce que je veux à peut prés avoir, je voudrai que ce soit la fonction charge() d'ajax qui génère tout le content (un tableau rafraichi toute les 2 secondes)
|
|
dimanche 1 août 2010 à 21:00:17 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
J'ai rassemblé dans un .js:
Code Javascript : function getXMLHttpRequest() {
var xhr = null;
if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
else if(window.ActiveXObject) {
try {
xhr = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xhr = new ActiveXObject("Microsoft.XMLHTTP");
}
}
else xhr = false;
return xhr;
}
/*------------------------------------------------------------*/
function nodeCleaner(n) {
if(!n.data.replace(/\s/g,'')) n.parentNode.removeChild(n);
}
/*------------------------------------------------------------*/
function cleanXML(docElement) {
var node = docElement.getElementsByTagName('*');
for(i = 0; i < node.length; i++) {
a = node[i].previousSibling;
if(a && a.nodeType == 3) nodeCleaner(a);
b = node[i].nextSibling;
if(b && b.nodeType == 3) nodeCleaner(b);
}
return docElement;
}
/*------------------------------------------------------------*/
function GetId(id) { return document.getElementById(id); }
var i=false;
function move(e)
{
if(i)
{
if (navigator.appName!="Microsoft Internet Explorer")
{ GetId("curseur").style.left=e.pageX + 5+"px"; GetId("curseur").style.top=e.pageY + 10+"px"; }
else
{
if(document.documentElement.clientWidth>0)
{ GetId("curseur").style.left=20+event.x+document.documentElement.scrollLeft+"px"; GetId("curseur").style.top=10+event.y+document.documentElement.scrollTop+"px"; }
else
{ GetId("curseur").style.left=20+event.x+document.body.scrollLeft+"px"; GetId("curseur").style.top=10+event.y+document.body.scrollTop+"px"; }
}
}
}
/*------------------------------------------------------------*/
function montre(text)
{
if(i==false)
{ GetId("curseur").style.visibility="visible"; GetId("curseur").innerHTML = text; i=true;
}
}
/*------------------------------------------------------------*/
function cache()
{
if(i==true)
{ GetId("curseur").style.visibility="hidden"; i=false;
}
}
document.onmousemove=move;
/*------------------------------------------------------------*/
function charge() {
rand = Math.random();
var xhr = getXMLHttpRequest();
var url = "file2.xml?a="+escape(rand);
xhr.open("GET", url, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send(null);
xhr.onreadystatechange = function () {
if(xhr.readyState == 4 && xhr.status == 200) {
response = cleanXML(xhr.responseXML.documentElement);
var items = response.getElementsByTagName("item");
var html = '<table width="610" border="0" align="center">';
count = items.length;
for(i = 0; i < count; i++) {
html +='<tr>';
html +='<td align="center" valign="middle" onMouseOut=" cache();" onMouseOver=" montre(\'<div align=left>'+items[i].getElementsByTagName("Desc")[0].firstChild.nodeValue+'</div>\');">';
html +='mmmmmmmmmmm</td>';
html +='</tr><br>';
}
html +='</table>';
document.getElementById('content').innerHTML = html;
}
}
}
/*------------------------------------------------------------*/
charge();
window.onload=function()
{
setInterval('charge()',2000);
};
|
|
lundi 2 août 2010 à 09:31:01 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

PetoleTeam
|
Bonjour,
ce donc ta fonction charge qui bug !
il est soufaitable de faire dans l'ordre
Code Javascript : //-- Fonction a excecuter a reception OK
xhr.onreadystatechange = function () {
//-- ce qu'il y a à faire
}
//-- Requete asynchrone
xhr.open("GET", url, true);
//-- Envoie de la requete
xhr.send(null);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
s'utilise lors d'une méthode POST
;O)
|
|
mardi 3 août 2010 à 12:39:08 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

soumsoumdu06
|
J'ai essayé mais toujours pas ... Tu ferai comment toi ?
|
|
mardi 3 août 2010 à 15:21:10 |
Re : Modélisation file d'attente de commande avec html/ajax/mysql

PetoleTeam
|
plusieurs questions
- quel navigateur utilises tu ?
- si tu mets une alert( xhr.responseText) obtiens tu le fichier, on ne sait jamais ?
- si tu mets une alert( items.length) qu'obtiens tu ?
- as tu bien respecté l'ordre des méthodes de l'objet xhr ?
;O)
|
|
Cette discussion est classée dans : table, mysql, commande, html, ajax
Répondre à ce message
Sujets en rapport avec ce message
nom table html [ par milo2009 ]
Salut,Je créer des table dans une boucle php, cependant, je voudrais que chaque table es des nom different (table1, table2...).Puis appel une fonction
Comment modifier une base de donnée Mysql avec AJAX [ par overstone ]
Bonjour,Je recherche un moyen simple pour gérer ma base de donnée avec AJAX J'ai réussi à créer mon interface à l'aide de PHP, tout marche parfaitemen
Cacher son code HTML [ par rambc ]
Existe-t-il un moyen simple de rendre son code HTML illisible par un humain via une commande JavaScript ? J'avais vu un exemple utilisant un codage et
Modification champ mysql en Ajax (débutant) [AjaX + Javascript (et/ou PHP)] [ par astuces_jeux ]
Bonjour,je suis en train de réalier un jeu virtuel d'élevage de dinosaure.Alors, le joueur doit nourrir son dinosaure.Pour le nourrir, il va dans la g
redimensionner une table html ! [ par jimmy69 ]
Salut salut,J'ai une page web (asp net) qui est envoyée au serveur et elle renvoit une page html avec un tableau et des colonnes ou l'on retrouve des
Ajax et Javascript [ par DMK04 ]
Bonjour à tous,je débute en Ajax, et je souhaiterais savoir une chose :Est-ce que l'on peu "importer" du nouveau code JavaScript via une "requête" Aja
Difficulté d'afficher qq chose avec lien ds une table [ par jeanjeandada ]
Bonjour Cher FOrum , (j'utilise les api de google) Voilà dans la balise body je déclare une table : <table border=1&g
<td> qui change de taille en ajax [ par lowkey ]
Salut à tous !J'ai un table du type : En ajax, je rajoute des
Récuperer un résultat en AJAX [ par FlasherBoy ]
Bonjour,Je poste ici car je rencontre un probleme, je développe un site avec une fonctionnalité de vote. Je vous explique brievement le concept !La pa
Ajax /php/Mysql [ par fraymed ]
J'ai une liste déroulante qui est remplie à partir de bd MYSQL je veux remplir des autres listes à partir de cette liste dans la meme formulaire avec
Livres en rapport
|
Derniers Blogs
POUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDNPOUR RAPPEL ! LES SPéCIFICATIONS DES PROTOCOLES OFFICE ET SHAREPOINT SONT DISPONIBLES SUR MSDN par neodante
Quelle est le point commun entre : Microsoft il y a 10 ans et Apple aujourd'hui ? Réponse: avoir une politique de protocoles propriétaires et fermés :) Car pour rappel (si si je vous assure c'est important de le rappeler), la majorité des spécifications e...
Cliquez pour lire la suite de l'article par neodante JOYEUX ANNIVERSAIRE NIXJOYEUX ANNIVERSAIRE NIX par ebartsoft
Souhaitons un bon et joyeux anniversaire à notre hôte à tous, Nix.
Je ne le répéterais jamais assez mais sans lui rien ne serait possible. Il défit en permanence les lois de la gravité et comme il le dit si bien, si tu lui fais confiance ça devra...
Cliquez pour lire la suite de l'article par ebartsoft IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|