Aller au contenu

Problème d'insertion avec innerHTML


Zakira

Messages recommandés

Bonjour tout le monde :-)

 

En ce moment je réalise une application web sur les moyennes des notes scolaires et j'arrive pas à insérer un texte (d'une base de données) dans un input :-/

 

Cependant, ça marche avec les nombres mais pas avec les textes oO

 

Je vous explique mon code, en fait, il y a une liste déroulante, dans cette liste déroulante nous avons les titres des notes,dans chaque champs, il y a des informations qui sont stockés, dont la description, et lors du clique, nous avons les informations qui apparaissent dans les inputs, sauf la description :-/

Je vous montre mon code :-)

 

 

PHP

<h1>Modifier</h1>

<?php
		$req = mysqli_query($bdd,"SELECT libelleMat, idMat FROM matiere;");

		$reqcompte = mysqli_query($bdd,"SELECT count(idNote) FROM note");

		while ($cpt=mysqli_fetch_assoc($reqcompte)) {
			$reponse = $cpt['count(idNote)'];
		}

		echo "<br>$reponse<br>";

		//$req2 = mysqli_query($bdd,"SELECT libelleNote, idNote, fkMat FROM note;");
		$req2 = mysqli_query($bdd,"SELECT libelleNote, idNote, fkMat, libelleMat, note, coefNote, dateNote, description, idType FROM note, typenote, matiere WHERE note.fkMat=matiere.idMat AND note.fkType=typenote.idType;");

	?>

			<select style='overflow:scroll;'>
			<?php
				while ($rep2=mysqli_fetch_assoc($req2)) {
					$titre = $rep2['libelleNote'];
					// Je suis ici pour l'écriture du code
					echo "<option onclick='infoNote($rep2[note],$rep2[coefNote],$rep2[fkMat],$rep2[idType],$rep2[description]);'>$rep2[libelleNote]</option>";
					//echo "<option onclick='infoNote($rep2[note],$rep2[coefNote],$rep2[idMat],$rep2[dateNote],$rep2[idType],$rep2[description]);'>$rep2[libelleNote]</option>";
				}
			?>
			</select>
			<br>
			<label>Note</label><input type='number' id='note' min='0' max='20' step='0.1'>
			<br>
			<label>Coefficient</label><input type='number' id='coef' min='0' step='0.1'>
			<br>
			<label>Matière</label>	<select name='matnote' id='matnote'>
										<?php
											while ($mat=mysqli_fetch_assoc($req)) {
												echo "<option value=".$mat['idMat'].">".$mat['libelleMat']."</option>";
											}
										?>
									</select>
			<br>
			<label>Date</label><input type='text' id='date'>
			<br>
			<label>Examen</label><input type='radio' value='1' id='examen' name='typenote'><label>Cours</label><input type='radio' value='2' id='cours' name='typenote'>
			<br>
			<label>Description</label><textarea id='desc'></textarea>
			<div id="testdesc"></div>
			<br>
			<input type='submit' value='Valider'>

Javascript

// Liste des fonctions javascript
//alert('HELLO WORLD !');

function infoNote(noteN,coefN,matN,typeN,desc){

	var lanote = noteN;
	var lecoef = coefN;
	var typematn = matN;
	var typeDeNote = typeN;
	var description = desc;

	//alert('HELLO WORLD !');

	//document.getElementById('recoiAv').value = donnees;
    //document.getElementById('numAffProj').innerHTML = donnees;

	//document.getElementById('note').innerHTML= lanote;
	document.getElementById('note').value= lanote;
	document.getElementById('coef').value= lecoef;
	document.getElementById('matnote').value= typematn;

	if (typeDeNote == 1) {

		document.getElementById('examen').checked = true;
	}
	else{

		document.getElementById('cours').checked = true;
	}

	document.getElementById('desc').innerHTML = description;


}// Liste des fonctions javascript
//alert('HELLO WORLD !');

function infoNote(noteN,coefN,matN,typeN,desc){

	var lanote = noteN;
	var lecoef = coefN;
	var typematn = matN;
	var typeDeNote = typeN;
	var description = desc;

	//alert('HELLO WORLD !');

	//document.getElementById('recoiAv').value = donnees;
    //document.getElementById('numAffProj').innerHTML = donnees;

	//document.getElementById('note').innerHTML= lanote;
	document.getElementById('note').value= lanote;
	document.getElementById('coef').value= lecoef;
	document.getElementById('matnote').value= typematn;

	if (typeDeNote == 1) {

		document.getElementById('examen').checked = true;
	}
	else{

		document.getElementById('cours').checked = true;
	}

	document.getElementById('desc').innerHTML = description;


}

Si vous avez une idée du problème, je suis preneur ! :-D

 

En attendant, je vous remercie par avance de votre future aide :-)

 

Cordialement,

 

Zakira,

Lien vers le commentaire
Partager sur d’autres sites

Oui et pareil ça ne marche pas :-/

Je vous passe la base de données ;-)

-- phpMyAdmin SQL Dump
-- version 4.0.4
-- http://www.phpmyadmin.net
--
-- Client: localhost
-- Généré le: Lun 04 Août 2014 à 09:43
-- Version du serveur: 5.6.12-log
-- Version de PHP: 5.4.16

SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- Base de données: `appli_moyenne`
--
CREATE DATABASE IF NOT EXISTS `appli_moyenne` DEFAULT CHARACTER SET latin1 COLLATE latin1_swedish_ci;
USE `appli_moyenne`;

-- --------------------------------------------------------

--
-- Structure de la table `matiere`
--

CREATE TABLE IF NOT EXISTS `matiere` (
  `idMat` int(2) NOT NULL AUTO_INCREMENT,
  `libelleMat` varchar(20) NOT NULL,
  `fkProf` int(2) NOT NULL,
  PRIMARY KEY (`idMat`),
  KEY `fkProf` (`fkProf`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

--
-- Contenu de la table `matiere`
--

INSERT INTO `matiere` (`idMat`, `libelleMat`, `fkProf`) VALUES
(1, 'SISR', 1),
(2, 'Reseau', 2),
(3, 'Angmais', 3),
(4, 'Culture General et E', 4),
(5, 'Reseau 2', 5),
(6, 'Droit', 6),
(7, 'Economie', 7);

-- --------------------------------------------------------

--
-- Structure de la table `moyenne`
--

CREATE TABLE IF NOT EXISTS `moyenne` (
  `idMoy` int(2) NOT NULL AUTO_INCREMENT,
  `fkMoyMat` int(2) NOT NULL,
  `moyenne` float NOT NULL,
  PRIMARY KEY (`idMoy`,`fkMoyMat`),
  KEY `fkMoyMat` (`fkMoyMat`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;

--
-- Contenu de la table `moyenne`
--

INSERT INTO `moyenne` (`idMoy`, `fkMoyMat`, `moyenne`) VALUES
(1, 1, 14.46),
(2, 3, 7.5),
(3, 6, 13),
(4, 7, 16.68),
(5, 4, 15.5);

-- --------------------------------------------------------

--
-- Structure de la table `note`
--

CREATE TABLE IF NOT EXISTS `note` (
  `idNote` int(2) NOT NULL AUTO_INCREMENT,
  `libelleNote` varchar(50) NOT NULL,
  `coefNote` float NOT NULL,
  `fkType` int(2) NOT NULL,
  `description` varchar(150) DEFAULT NULL,
  `note` float NOT NULL,
  `fkMat` int(2) NOT NULL,
  `dateNote` varchar(15) NOT NULL,
  PRIMARY KEY (`idNote`),
  KEY `fkType` (`fkType`),
  KEY `fkMat` (`fkMat`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=13 ;

--
-- Contenu de la table `note`
--

INSERT INTO `note` (`idNote`, `libelleNote`, `coefNote`, `fkType`, `description`, `note`, `fkMat`, `dateNote`) VALUES
(1, 'Test insertion', 2, 2, 'test insertiuon', 16.5, 1, '1 Septembre 201'),
(3, 'Test insertion 2', 1, 2, 'test insertion 2', 15, 1, '14 Septembre 20'),
(4, 'Test insertion 2', 1, 2, 'test insertion 2', 15, 1, '14 Septembre 20'),
(5, 'Testé insertion 3', 1.5, 1, 'Sujet Typé examen', 14.7, 1, '5 Novembre 2014'),
(6, 'Testé insertion 4', 2.5, 1, 'Sujet typé examen', 13, 1, '24 Avril 2014'),
(7, 'Testé insertion 5', 1, 1, 'Sujet typé examen', 12.6, 1, '07 Mai 2015'),
(8, 'Test en Anglais', 2, 1, 'Sujet typé examen', 7.5, 3, '07 Mai 2015'),
(9, 'tes droit', 1.5, 2, 'test', 13, 6, '12 Janvier 2014'),
(10, 'Test Moyenne', 2.5, 2, 'DS surprise', 16, 7, '14 Juin 2014'),
(11, 'Test Moyenne 2', 1.5, 1, 'DS EXAMEN', 17.8, 7, '12 Février 2014'),
(12, 'Test Moy Culture G', 1.5, 2, 'Test', 15.5, 4, '1 Septembre 201');

-- --------------------------------------------------------

--
-- Structure de la table `professeur`
--

CREATE TABLE IF NOT EXISTS `professeur` (
  `idProf` int(2) NOT NULL AUTO_INCREMENT,
  `nomProf` varchar(60) NOT NULL,
  PRIMARY KEY (`idProf`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=8 ;

--
-- Contenu de la table `professeur`
--

INSERT INTO `professeur` (`idProf`, `nomProf`) VALUES
(1, 'David Dominique'),
(2, 'Genin Patrick'),
(3, 'Ruffieux Patrick'),
(4, 'Bidault'),
(5, 'Aubry Jean-Baptiste'),
(6, 'Thomas'),
(7, 'Joffrin');

-- --------------------------------------------------------

--
-- Structure de la table `typenote`
--

CREATE TABLE IF NOT EXISTS `typenote` (
  `idType` int(2) NOT NULL AUTO_INCREMENT,
  `libelleType` varchar(20) NOT NULL,
  PRIMARY KEY (`idType`)
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;

--
-- Contenu de la table `typenote`
--

INSERT INTO `typenote` (`idType`, `libelleType`) VALUES
(1, 'Examen'),
(2, 'Cours');

--
-- Contraintes pour les tables exportées
--

--
-- Contraintes pour la table `matiere`
--
ALTER TABLE `matiere`
  ADD CONSTRAINT `matiere_ibfk_1` FOREIGN KEY (`fkProf`) REFERENCES `professeur` (`idProf`);

--
-- Contraintes pour la table `moyenne`
--
ALTER TABLE `moyenne`
  ADD CONSTRAINT `moyenne_ibfk_1` FOREIGN KEY (`fkMoyMat`) REFERENCES `matiere` (`idMat`);

--
-- Contraintes pour la table `note`
--
ALTER TABLE `note`
  ADD CONSTRAINT `note_ibfk_1` FOREIGN KEY (`fkType`) REFERENCES `typenote` (`idType`),
  ADD CONSTRAINT `note_ibfk_2` FOREIGN KEY (`fkMat`) REFERENCES `matiere` (`idMat`);

/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Bonjour,
Je passe par là 2 mois après :fou: ... Je suppose que le sujet est résolu mais pas marqué comme tel

sinon

plusieurs pistes :
les chaines de caractères doivent être entourées de quotes.

Es tu sur que l'événement onClick existe sur option ? javascript evenement option dans un moteur de recherche

conseils à prendre ou pas
faire des petits bouts de code pour tester permet d'isoler les problèmes ( on teste une seule chose à la fois)
la doc sur la concaténation et les caractères d'échappement (5min de lecture/5min de test) permet de gagner en visibilité sur une ligne de code.

Bon courage...

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...