8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

J'ai un bouton qui me permet de créer un enregistrement dans ma base de données, mon soucis, c'est que en-dessous j'ai une liste déroulante qui récupère mes information dans ma base, mais quand je réalise mon enregistrement, ça ne rafraichis pas ma liste en ajoutant le nouveau champs dedans.

J'ai regardé pas mal de post mais je trouve pas.

Merci d'avance pour vos réponses.

Si besoin de mon code dites le moi.

Miala
Modifié par Miala (31 Mar 2009 - 09:50)
Mon code pour l'enregistrement dans la base:

case "creer":
			
			/*Connexion bdd*/
			$db_link_suivi_clients = bd_suivi_clients() ;
		
			if ($_POST['action']=='creer')
			{
				//
			    //  Contrôles
			    //
			    $sClassObligatoire= 'obligatoire';
			    $sClassErreur 	  = 'obligatoire-red';

				$nom= $_POST['modele'];
			 
				/*Ajouter un nouvel enregistrement dans la table*/
				$query="INSERT INTO modele (`clientID`,`Nom_modele`) VALUES ('1','$nom')";			
				$result=mysqli_query($db_link_suivi_clients, $query);
							
				if(mysqli_error($db_link_suivi_clients))
				{/*Erreur dans la base de données*/
					echo print "Erreur dans la base de données : ".mysql_error();
					print "<br />Enregistrement stopé.";
					exit();
				}
				else /*Tout va bien*/
				{
					//print "$nom, $description, $date, $dateCrea <br />";
					confirmation ($_POST);
				}
				
			}


et le formulaire:

<form name='Creation' method='post' action="<?php echo $_SERVER[PHP_SELF]; ?>" enctype='multipart/form-data'>
		<input type="hidden" name="action" value="creer">
		<div id="menuho">
			<ul>
				<li><a href="modele.php" style="color: #F68220;" title="Modèles">Modèles</a></li>
				<li><a href="import.php" title="Importation">Importation</a></li>
				<li><a href="importation.php" title="Contacts">Contacts</a></li>
			</ul>
		</div>
		<br /><br /><br /><br />
		<div id="demande_devis">
			<div class="titre_page">Création ou modification d'un modèle </div>
			<div class="form_marge_left2"></div>
			<div class="form_marge_content2" >
				<br /><br />
				<p style="margin: 0px 0 20px 0;">
					<label class="labeldevis obligatoire" style="font-size:12px">Créer un nouveau modèle :</label>
					<input type="text" class="input inputCreateCompte" name="modele" value="" />
				</p>
				<center><p>
					<input class="form_submit2" type="submit" name="creer" value="Créer" />
				</p></center>
				<br /><br />
		</div>
		<div class="form_marge_content2">
			<p>
				<label class="labeldevis obligatoire" style="font-size:12px">Sélection d'un modèle :</label>
				<select class="input inputCbo" name="ModeleID">
					<?php
						/*Remplissage de la liste déroulante*/
						$req= "SELECT ModeleID, Nom_modele FROM modele GROUP BY Nom_modele";
					    $res = mysqli_query($db_link_suivi_clients, $req) or die (mysqli_error($db_link_suivi_clients));
						/*Valeur afficher au début*/
						echo '<option value="" >--Choisir un modèle--</option>';
						$selected = ' "selected=selected" ' ;
						while($val=mysqli_fetch_array($res)) {
							$sel = ($val["ModeleID"] == $_POST['ModeleID']) ? $selected  : '' ;
							echo "<option value='". $val["ModeleID"]. "' $sel >".$val["Nom_modele"]."</option>\n";
						}
					?>
				</select>
				<br /><br />
			</p>
		</div>
	</form>
	<form name='Champs' method='post' action="<?php echo $_SERVER[PHP_SELF]; ?>" >
		<input type="hidden" name="ModeleID" value="<?php echo $_POST['ModeleID']; ?>"/>
			<div class="obligatoire" style="text-align:left;font-size:14px">Choisir les champs pour l'importation ou les modifier :</div>
			<script type = "text/javascript">
			//fonction pour déplacer les donnée de la première liste à la seconde
			nbelement=50 ;
			function Deplacer(l1,l2, plus) 
			{ 
				if (l1.options.selectedIndex>=0) 
				{
					switch (plus ) 
					{
						//deplacer l'élément de la première liste à la seconde
						case "+" :
						nbelement++ ;
						break;
						//deplacer l'élément de la seconde liste à la première
						case "-" :
						nbelement-- ;
						break;
						// message d'erreur si c'est pas bon
						default :
						alert("Error") ;
						return false;
						break;
					}
				    o=new Option(l1.options[l1.options.selectedIndex].text,l1.options[l1.options.selectedIndex].value);
				    l2.options[l2.options.length]=o;
				    l1.options[l1.options.selectedIndex]=null;
				}
				else
				{
				alert("Error");
				}
			}
						
			function admin_suivi_submit(frm, composition)
			{
				// var select_len = frm.composition.length;
				var select_len = document.forms[frm].elements[composition].length ;
				var album = new Object();
					 
				if (select_len > 1) 
				{
					for (i=0; i<select_len; i++) 
					{
					    //frm.composition.options[i].selected = true;
						document.forms[frm].elements[composition].options[i].selected = true;
					}
					document.forms[frm].submit();
					return true;
				}
				else 
				{
					alert(alert2);
					return false;
				}
			}
		</script>
		<?php
					
			//requéte pour remplir la premiére liste
			$requete = "SELECT ID, label FROM champs_import GROUP BY label";
			$res_fields = mysqli_query($db_link_suivi_clients,$requete) or die ('Erreur SQL ! '.$requete.'<br />'.mysqli_error($db_link_suivi_clients));
			while ($data_fields = mysqli_fetch_array($res_fields)) 
			{
				$element .= '<option value="'. $data_fields['ID'] .'">'. $data_fields['label'] .'</option>' ;
			} 
			
			$requete = "SELECT LI.ID, label, ordre FROM champs_import CI, liste_import LI, modele MO WHERE CI.ID=LI.ID AND LI.ModeleID='". $_POST["ModeleID"]. "' GROUP BY ordre";
			$res_fields = mysqli_query($db_link_suivi_clients,$requete) or die ('Erreur SQL ! '.$requete.'<br />'.mysqli_error($db_link_suivi_clients));
			while ($data_fields = mysqli_fetch_array($res_fields)) 
			{
				$element_1 .= '<option value="'. $data_fields['ID'] .'">'. $data_fields['label'] .'</option>' ;
			} 
		?>
		<table cellpadding="0" cellspacing="0" width="100%" align="center">
			<tr align="center">
				<td>
					<select name="listechoix" style="border:1px solid #0075b5; width: 150px " size="6"><?php echo $element ; ?></select>
					<br /><br />
				</td>
		        <td align="center" style="width:25px;">
					<!--au clique sur le bouton on fait le deplacement-->
					<img src="+.png"  onclick="Deplacer(Champs.listechoix,Champs.listeretenues,'+' )" />	
		            <br /><br /><br />
					<!--au clique sur le bouton on fait le deplacement-->
		  			<img src="-.png" onclick="Deplacer(Champs.listeretenues,Champs.listechoix,'-')" />
					<br /><br />
				</td>
		        <td align="center" style="text-align: center; ">
		            <select name="listeretenues[]" id="listeretenues" style="border:1px solid #0075b5; width: 150px " size="6" multiple><?php echo $element_1 ; ?></select>
					<br /><br />
				</td>
		    </tr>
			<tr align="center">
				<td>
					<input type="hidden" name="action" value="modifier"/>
					<input class="form_submit" type="submit" name="modifier" value="Modifier" onclick="admin_suivi_submit('Champs', 'listeretenues') "/>
				</td>
				<td style="width:10px;">
		        </td>
				<td>
					<input type="hidden" name="action" value="modifier"/>
					<input class="form_submit" type="submit" name="supprimer" value="Supprimer" onclick="admin_suivi_submit('Champs', 'listeretenues') "/>
				</td>
			</tr>
		</table>
	</form>


Voilà mon code.[/i][/i]
J'ai trouver le bout de code qui me manqué.

echo "<script>window.location.replace(\"mapage.php\")</script>";

Bonne soirée à tous