Javascript/php récup des valeurs de <td>
Fermé
poup
-
3 mai 2008 à 17:22
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 6 mai 2008 à 11:03
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 6 mai 2008 à 11:03
A voir également:
- Javascript/php récup des valeurs de <td>
- Telecharger javascript - Télécharger - Langages
- Easy php - Télécharger - Divers Web & Internet
- Les données fournies dans le fichier à télécharger peuvent être synthétisées par le tableau récapitulatif suivant. dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des 4 premières colonnes. cinq valeurs manquent dans le tableau suivant. retrouvez-les dans votre tableau puis reportez-les, arrondies à l’entier le plus proche, dans la zone de réponse. ✓ - Forum Jeux vidéo
- A javascript error occurred in the main process - Forum Matériel & Système
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Réseaux sociaux
3 réponses
PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
6 mai 2008 à 11:03
6 mai 2008 à 11:03
Bjr
Voici un ex
Ceci est juste un ex basique et pas vraiment exploitable en l'état.
Evidemment pour ton application il faut utiliser un modèle bcp plus sophistiqué à base d'objets JavaScript
Voici un ex
<html> <head> <title>Code de démonstration - Explorer un tableau HTML avec des interfaces DOM et JavaScript</title> <style> * { font-size : 10pt; font-family : Arial; } </style> <script> function CreerTableHTML(parentId,nbrCol,nbrRow) { // Recherche de l'élément parent dans lequel on va insèrer la nouvelle table var parentElt = document.getElementById(parentId); // Efface le contenu de l'élément parent parentElt.innerHTML=""; // Création d'une nouvelle table = élément <table> var table = document.createElement("table"); // Donne une bordure à la table (facultatif) table.setAttribute("border", "1"); // Création du corps de la table var tableBody = document.createElement("tbody"); // Pour chaque ligne for(var rowIndex = 0; rowIndex < nbrRow; rowIndex++) { // Création d'une nouvelle ligne= élément <tr> var row = document.createElement("tr"); // Pour chaque colonne for(var colIndex = 0; colIndex < nbrCol; colIndex++) { // Création d'une nouvelle cellule = élément <td> var cell = document.createElement("td"); // Donne une largeur de 40 pixels à chaque cellule (facultatif) cell.style.width= "40px"; // Centre la contenu de chaque cellule (facultatif) cell.style.textAlign = "center"; // Contenu de la cellule cell.innerHTML="["+colIndex+","+rowIndex+"]"; // Ajoute la cellule dans la ligne row.appendChild(cell); } // Ajoute la ligne à la fin du corps du tableau tableBody.appendChild(row); } // Ajoute le corps du tableau dans la table table.appendChild(tableBody); // Ajoute la table dans l'élément parent ... ouf ! parentElt.appendChild(table); } function generer() { var nbrCol = document.getElementById("nbrCol").value; var nbrRow = document.getElementById("nbrRow").value; CreerTableHTML('conteneur',nbrCol,nbrRow); } </script></head> <body> Test de création de table HTML dynamiquement avec DOM<br/><br/> <form> Nombre de colonnes<input type="text" value="10" id="nbrCol" size="4"> Nombre de lignes<input type="text" value="5" id="nbrRow" size="4"> <input type="button" onclick="generer()" value="Générer la table"> </form> <div id="conteneur"></div> </body> </html>
Ceci est juste un ex basique et pas vraiment exploitable en l'état.
Evidemment pour ton application il faut utiliser un modèle bcp plus sophistiqué à base d'objets JavaScript
Bonjour,
Il me semble que tu ne différencies pas l'affichage des variables. Il n'y a pas besoin de champs pour faire les calculs, juste une variable pour chaque élément et une pour le résultat de l'opération. Pour l'affichage il faut mettre la variable dans le html plutot que de récupérer la valeur dans la page. Donc commence par définir tes variables et affiche leur valeur en html après.
[quote]
j'aimerais pouvoir récupérer automatiquement les valeurs pour éviter de les saisir dans la fonction ou dans les paramètres.
[/quote]
Les récupérer d'où? une base de données ou un fichier texte? Si c'est dans une base autant faire les opérations avec php. Si les valeurs sont rentrés par un formulaire il faut utiliser des balises <input> du <form> et non <td> qui est un élément de mise en page.
Attention: String(soustot); indique une chaîne de caractères, donc impossible de faire des opérations avec(multiplication, addition,...). Pour pouvoir faire des opérations il faut utiliser une variable de type Number et non String.
Il me semble que tu ne différencies pas l'affichage des variables. Il n'y a pas besoin de champs pour faire les calculs, juste une variable pour chaque élément et une pour le résultat de l'opération. Pour l'affichage il faut mettre la variable dans le html plutot que de récupérer la valeur dans la page. Donc commence par définir tes variables et affiche leur valeur en html après.
[quote]
j'aimerais pouvoir récupérer automatiquement les valeurs pour éviter de les saisir dans la fonction ou dans les paramètres.
[/quote]
Les récupérer d'où? une base de données ou un fichier texte? Si c'est dans une base autant faire les opérations avec php. Si les valeurs sont rentrés par un formulaire il faut utiliser des balises <input> du <form> et non <td> qui est un élément de mise en page.
Attention: String(soustot); indique une chaîne de caractères, donc impossible de faire des opérations avec(multiplication, addition,...). Pour pouvoir faire des opérations il faut utiliser une variable de type Number et non String.
Bah, le problème justement, c'est qu'il n'y a pas de base de données, à moins que je la construise moi-même, et on m'a donné des tableaux html avec les différents prix dans <td>. A moi de faire des formules de calcul avec ça. Je sais utiliser les valeurs si ct dans les champs <input>, mais ce n'est pas le cas. Comme tu dis, il faut sans doute d'abord définir les variables et les faire afficher dans le tableau après, mais je ne vois pas trop où et comment définir. Donc j'ai pensé qu'il y avait des moyens de récupérer les valeurs dans les balises <td> en mettant des id ou des noms. ?
concernant String, je ne sais pas d'où j'ai récupéré ça, j'avais cru que les valeurs dans les champs de formulaire devaient être en string et que pour faire des calculs, on utilise eval... Ce n'est pas la peine alors ?
concernant String, je ne sais pas d'où j'ai récupéré ça, j'avais cru que les valeurs dans les champs de formulaire devaient être en string et que pour faire des calculs, on utilise eval... Ce n'est pas la peine alors ?
PhP
Messages postés
1767
Date d'inscription
lundi 11 décembre 2000
Statut
Membre
Dernière intervention
23 décembre 2009
606
5 mai 2008 à 17:10
5 mai 2008 à 17:10
Bjr
La base de données ne t'aidera pas ici : en revanche elle peut te permettre de stocker les valeurs pour précharger dynamiquement ta table HTML (pratique quand les prix et les références changent car tu n'as à maintenir que la base de données et pas les pages web) et éventuellement de sauvegarder tes bons de commande
Pour ta table HTML : tu peux effectivement utiliser des ID (différents!) pour chaque ligne de la table HTML (voir chaque cellule) et utiliser getElementById() mais avec 50 lignes ça devient vite lourd et source d'erreur et je ne parle pas des mises à jour ...
Tu peux aussi stocker les données dans des tableaux Javascript en début de page : c'est plus pratique niveau prog Javascript. Mais si tu conserves également ta table HTML ça revient à maintenir manuellement la même info à 2 endroits différents c'est pas mieux, c'est même pire ...
L'idéal : stocker les données dans un tableau Javascript et généré dynamiquement ensuite la table HTML en JavaScript à l'aide de DOM (on peut aussi utiliser PHP pour générer la table HTML et le tableau Javascript : dans ce cas les données doivent provenir d'une base de données sinon ca n'a pas trop d'intérêt)
Si tu veux je peux te montrer comment générer dynamiquement une table HTML en Javascript et la charger à partir du contenu d'un tableau Javascript.
La base de données ne t'aidera pas ici : en revanche elle peut te permettre de stocker les valeurs pour précharger dynamiquement ta table HTML (pratique quand les prix et les références changent car tu n'as à maintenir que la base de données et pas les pages web) et éventuellement de sauvegarder tes bons de commande
Pour ta table HTML : tu peux effectivement utiliser des ID (différents!) pour chaque ligne de la table HTML (voir chaque cellule) et utiliser getElementById() mais avec 50 lignes ça devient vite lourd et source d'erreur et je ne parle pas des mises à jour ...
Tu peux aussi stocker les données dans des tableaux Javascript en début de page : c'est plus pratique niveau prog Javascript. Mais si tu conserves également ta table HTML ça revient à maintenir manuellement la même info à 2 endroits différents c'est pas mieux, c'est même pire ...
L'idéal : stocker les données dans un tableau Javascript et généré dynamiquement ensuite la table HTML en JavaScript à l'aide de DOM (on peut aussi utiliser PHP pour générer la table HTML et le tableau Javascript : dans ce cas les données doivent provenir d'une base de données sinon ca n'a pas trop d'intérêt)
Si tu veux je peux te montrer comment générer dynamiquement une table HTML en Javascript et la charger à partir du contenu d'un tableau Javascript.
Merci pour cette réponse très claire.
Effectivement, j'aimerais bien que tu me montre comment construire la table html à partir du tableau js, d'autant plus que je ne connais pas du tout DOM...
Il y a qq os, toutefois.
- En réalité, le tableau est décomposé en plusieur tableaux par catégorie, entrecoupé du nom de la catégorie et dudescriptif. On créé pl. tableaux js par catégorie et le pb est résolu ?
On peut voir ceci après, mais:
- Il y a qq références pour lesquels il n'y a qu'un prix au lieu de 3. (Evidemment, sinon, ça aurait été trop simple !!!)
Dans la fonction js qui calcule le sous-total, on précise que pour ces références, on fait un autre calcul, et c'est tout ?
En tout cas, ça n'a pas d'incidence sur la construction du tableau en html ou js ?
Dans tout les cas, les tableaux html sont construits sur le même modèle (3 td pour 3 prix), même si pour certains tableaux ou certaines lignes, il y a des cellules vides.
Merci !!!
Effectivement, j'aimerais bien que tu me montre comment construire la table html à partir du tableau js, d'autant plus que je ne connais pas du tout DOM...
Il y a qq os, toutefois.
- En réalité, le tableau est décomposé en plusieur tableaux par catégorie, entrecoupé du nom de la catégorie et dudescriptif. On créé pl. tableaux js par catégorie et le pb est résolu ?
On peut voir ceci après, mais:
- Il y a qq références pour lesquels il n'y a qu'un prix au lieu de 3. (Evidemment, sinon, ça aurait été trop simple !!!)
Dans la fonction js qui calcule le sous-total, on précise que pour ces références, on fait un autre calcul, et c'est tout ?
En tout cas, ça n'a pas d'incidence sur la construction du tableau en html ou js ?
Dans tout les cas, les tableaux html sont construits sur le même modèle (3 td pour 3 prix), même si pour certains tableaux ou certaines lignes, il y a des cellules vides.
Merci !!!