8722 sujets

Développement web côté serveur, CMS

Bonjour,

Tous d'abord, oui mon titre est nul mais je savais pas comment tourner ça (don't bully me please ).

Donc voici ce que je veut faire dans mon formulaire j'ai un champ qui me permet de séléctionner à partir d'une liste déroulante plusieurs services et me les affiches que voici :
selection_service = function (){
				 
				console.log('coucou', $('#service').find('option:selected'));
				$('#service').find('option:selected').each(function(){
				$('#ma_selection').append('<input id="service" name="service" value="'+ $(this).val() + '" readonly><br>');
				});
			}

comme vous pouvez le oir à la dernière je les ait mis en input mais au départ ils étaient entre balise <p>.

Voici le problème: comment je peut récuperer chacune des valeurs pour les mettre dans une base de données je suis bloqué depuis très longtemps dessus et je vioens clémender un peu d'aide. Ne serait ce qu'une documentation que je n'ai pas vu, une ligne de code.

Merci d'avance.

(oui je n'ai pas mis tous le code vu qu'il y as beacoup de chose mais pour l'insertion en BDD j'utilise ce merveilleux PDO)
Modérateur
Bonjour,

quel est l'endroit où ça coince?

- L'envoi des données de javascript/html à php?
- L'envoi des données de php à la base de données (PDO)?

Dans le premier cas, envoies-tu les résultats par la soumission d'un formulaire ou par javascript (ajax) ?
Bonjour kustolovic,

je bloque sur un truc tout bête, je ne sait pa comment faire pour récuperer les données, normalement je drevait savoir mais je ne sait pas du tout comment faire pour récupérer les données html/java pour ensuite les envoyer à PHP.

Pour répondre à ta question : formulaire
Modifié par Tardoss (06 Feb 2019 - 11:27)
Bon j'ai trouvé comment faire MAIS ce n'est pas fini Smiley ohwell :


donc maintenant j'essaye de faire la même chose avec un checkbox mais mon object est vide je vais vous montrer le code qui marche et le code qui marche pas car j'ai repris le code qui fonctionné et j'ai tanté de l'adapter sans succès et je ne vois pas pourquoi ce problème existe Smiley bawling :
code fonctionnel :
partie formulaire
selection_service = function (){
				 
				console.log('coucou', $('#service').find('option:selected'));
				$('#service').find('option:selected').each(function(){
				if (!document.getElementById('s_'+ $(this).val()+'')) { $('#ma_selection').append('<input id="s_'+ $(this).val()+'" name="s_'+ $(this).val()+'" value="'+ $(this).val() + '" readonly><br>'); }
				});
			}

<select name='service' id='service' onchange='go()'>
					<option value='-1'>Aucun</option>
					<?php
						mysql_connect("localhost","root","");
						mysql_select_db("gestion_mvt");
						$res = mysql_query("SELECT code_service,nom_service FROM service ORDER BY nom_service");
						while($row = mysql_fetch_assoc($res)){
							echo "<option value='".$row["code_service"]."'>".$row["nom_service"]."</option>";
						}
					?>
					<input type="button" value="ajouter le/les service(s)" onclick="selection_service();selection_uf()">
				</select>


partie traitement :
case 'arrivee':{
		$nom=$_REQUEST['nom'];$prenom=$_REQUEST['prenom'];$metier=$_REQUEST['metier'];$service=$_REQUEST['service'];$datearr=$_REQUEST['datearr'];
	 	$msgErreurs = getErreursSaisieArrivee($nom,$prenom,$metier,$service,$datearr);
	print_r($_POST);
		if (count($msgErreurs)!=0)
		{
			include ("vues/v_erreurs.php");
			include ("vues/v_arrivee.php");
		}
		else
		{
			$datearr = substr($datearr, 6, 4).'-'.substr($datearr, 3, 2).'-'.substr($datearr, 0, 2);
			foreach ($_POST as $key => $value) {
				// Services
				if (substr($key,0,2)=="s_") {
					$aService[] = $value;
				}
				// UF
				if (substr($key,0,2)=="u_") {
					$aUf[] = $value;
				}
			}
			$pdo->arrivee($nom,$prenom,$metier,$aService,$aUf,$datearr);
			$message = "arrivé enregistrée";
			
			include ("vues/v_message.php");
		}
		break;
	}


ceci marche parfaitement bien mais ceci non Smiley decu :
partie formulaire
ajout_ressource = function (){
			 alert('test')
				console.log('coucou', $('#ressource').find('option:selected'));
				$('#ressource').find('option:selected').each(function(){
			if (!document.getElementById('r_'+ $(this).val()+'')) {	$('#mes_ressources').append('<input id="r_'+ $(this).val()+'" name="r_'+ $(this).val()+'" value="'+ $(this).val() + '><br>');}
				});
			}

<label>Ressource</label><br>
		<div id="ressource">
		<?php
			
			$res = mysql_query("SELECT id_Res,nom_Res FROM ressource ORDER BY nom_Res");
			while($row = mysql_fetch_assoc($res)){
				echo "<input type='checkbox'  id='".$row["id_Res"]."' name='".$row["nom_Res"]."'value ='".$row["id_Res"]."'onClick='ajout_ressource()'> <label for='".$row["id_Res"]."'>".$row["nom_Res"]."</label><br>";
			}
		?></div>


partie traitement
case 'ressource':{
		$metier=$_REQUEST['metier'];$service=$_REQUEST['service'];$ressource=$_REQUEST['ressource'];
		$msgErreurs = getErreursSaisieRessource($metier,$service,$ressource);
				print_r($_POST);
		if (count($msgErreurs)!=0)
		{
			include ("vues/v_erreurs.php");
			include ("vues/v_Aressource.php");
		}
		else
		{
			foreach ($_POST as $key => $value) {
				if (substr($key,0,2)=="r_") {
					$ressource[] = $value;
				}
			}
			$pdo->ressource($metier,$service,$ressource);
			$message = "ressource enregistrée";
			include ("vues/v_message.php");
		}
		break;
	}


j'ai cherché dans tous les sens mais rien n'as marcher Smiley decu . Si quelqu'un as une idée je suis preneur