Données d'un tableau vers MySQL [Résolu/Fermé]

Signaler
-
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
-
Bonjour,
J'ai un tableau avec 3 colonnes et un nombre indéterminé de ligne. J'aimerai que à chaque ajout de ligne au tableau, les données soient également transférées vers la base de données MySQL. Mon script est en PHP.
J'ai visité certains forum mais je n'ai pas trouvé la solution à mon problème. Il n'y avait pas de sujet correspondant à ma recherche.
Merci de m'aider.


13 réponses

Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Quel est le format de ton tableau ? Excel, html, autre ?
C'est un tableau en html qui reçoit les informations d'une zone de liste et de deux zones de texte. Les données de la zone de liste viennent de la base de données MySQL vers laquelle les données du tableau doivent être transférées.
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Peut-être avec du JavaScript si tu connais un peu le langage...
Le but sera de récupérer le contenu de tes td du tableau en question et d'en faire un array JavaScript avec la méthode chaine.split(caractère) (split construit un array à partir du 'chaine' de caractère en séparant les élément d'après un 'caractère' donné).

Exemple :
<script>
var chaine = "03/02/2011";
var tableau = chaine.split('/'); // tableau renverra un array avec les valeurs [0]=03; [1]=02; [2]=2011;
</script>


Lis les deux pages du cours sur la manipulation du code html avec JavaScript (ou tout le cours sur JavaScript) ici :
https://openclassrooms.com/fr/courses/5543061-ecrivez-du-javascript-pour-le-web?archived-source=1916641
Je n'ai malheureusement pas vu le langage JavaScript mais je vais quand même essayer de lire le cours et d'appliquer ta méthode.
Merci beaucoup !
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Je ne sais pas si c'est LA solution, mais c'est la seule que j'ai trouvée...
Essaye de contacter le mec qui a rédigé ce cour et de voir s'il pense que c'est la chose à faire...
Sinon tu peux essayer copier /coller dans excel et voir si ça garde le format et exporter en csv pour ensuite l'importer dans mySql...
Excel ne prend pas en compte le langage HTML/PHP, il faudrait que je traduise en VB. Le tableau est en HTML avec des données PHP.
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Je ne comprends pas trop... Tu peux enregistrer sous un tableau Excel au format csv (séparateur point-virgule). Ensuit dans phpMyAdmin, tu fais importer et tu importe tout simplement ton tableau csv en suivant les instructions... C'est simple comme bonjour...

Par contre, si tu as notepad++ ou un éditeur de texte qui le permet, je te recommande d'ouvrir ton csv avec ce logiciel et de le transcoder en utf8 pour passer l'importation (à cause des accents et compagnie...).
En fait, il faut que l'insertion se fasse après mon départ par un bouton "Ajouter". Le tableau va changer dans le temps. Il faut que les personnes à ajouter soient ajoutées en même temps dans le tableau et la base de données MySQL grâce au bouton "Ajouter". Les zones de liste s'alimentent grâce à MySQL et le tableau également. Donc en fait il suffirait que les données aillent seulement dans la base de données. Est-ce que c'est ce que tu avais compris ? Parce que je ne crois pas.
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Non je ne saisis pas tout. Donne moi un exemple ou un extrait ou alors une application fictive similaire pour que je situe le contexte.
C'est bon en fait j'ai réussi à faire marcher le code. Les données vont dans la base et le tableau en même temps.
Merci de ton aide quand même.
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Explique la solution à l'occasion, que les suivants qui cherchent en savent plus...
Alors voilà le code :

<?php
        include ('connexion.php');
	$sql = "INSERT INTO table VALUES ('valeur1','valeur2')";
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br/>'.mysql_error());
?>
							
<?php
	$sql = "SELECT champ1, champ2, champ3 FROM table";
	$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
	while($row = mysql_fetch_row($req))
		{
			$champ1 = $row[0];
			$champ2 = $row[1];
			$champ3 = $row[2];
			
			echo" 
			<tr>
				<td>$niveau</td>\n
				<td>$nom</td>\n
				<td>$montant</td>\n 
			</tr>";
		} 
?>
<?php
	include ("menuclts.php");
?>
				
<?php
	mysql_close();			
?>


"menuclts.php" est la page avec les informations à rentrer (zone de liste déroulante, zone de texte,...)
avec ce code, les infos vont dans la base de données et dans la tableau (l'insertion du tableau n'est pas dans ce code).
Messages postés
733
Date d'inscription
dimanche 4 janvier 2009
Statut
Membre
Dernière intervention
15 janvier 2021
31
Ok je vois mieux le problème maintenant... J'avais pas compris ton énoncé comme ça... Merci.