Récupération gros formulaire

Eléphant du PHP | 178 Messages

02 nov. 2010, 17:11

Bonjour,

je souhaite récupérer les données d'un gros formulaire de ce type : (Gestion de menu)
    
while($menu = mysql_fetch_array($req_menu)) 
{

?>
 <input type="hidden" name="DEBUTForm|<?php echo $menu['menu_id']; ?>" id="button" value="DEBUTForm|<?php echo $menu['menu_id']; ?>"/>
  <tr>
    <td><input type="checkbox" name="checkDep|<?php echo $menu['menu_id']; ?>" id="checkDep|<?php echo $menu['menu_id']; ?>" value="1"/></td>
    <td><?php echo $menu['menu_id']; ?></td>
    <td><input type="text" value="<?php echo mysql_real_escape_string($menu['menu_nom']); ?>" name="menu_nom|<?php echo $menu['menu_id']; ?>" size="22" class="SmallChpTxt"/></td>
    <td><?php echo FichierExiste('../include/',$menu['menu_page']); ?></td>
    <td><input type="text" value="<?php echo $menu['menu_ordre']; ?>" size="1" class="SmallChp" name="menu_ordre|<?php echo $menu['menu_id']; ?>" /></td>
    <td><?php echo EmplMenu($menu['menu_emplacement'],'menu_emplacement|'.$menu['menu_id']); ?></td>
    <td><?php echo OnOff($menu['menu_cnx_membre'],'menu_cnx_membre|'.$menu['menu_id']); ?></td>
    <td><em><?php echo DateFR($menu['menu_date']); ?></em></td>
    <td><?php echo OnOff($menu['menu_modifiable'],'menu_modifiable|'.$menu['menu_id']); ?></td>
    <td><em><?php echo PosteurId($menu['membre_admin_id']); ?></em></td>
  </tr>
<?php


$sql_SSmenu = 'SELECT * FROM menu WHERE menu_id_dependance='.mysql_real_escape_string($menu['menu_id']).' ORDER BY menu_ordre ASC'; 
$req_SSmenu = mysql_query($sql_SSmenu) or die('Erreur SQL !<br>'.$sql_SSmenu.'<br>'.mysql_error()); 

	while($SSmenu = mysql_fetch_array($req_SSmenu)) 
	{
	
	?>
    <input type="hidden" name="DEBUTForm|<?php echo $menu['menu_id']; ?>" id="button" value="DEBUTForm|<?php echo $menu['menu_id']; ?>"/>
	  <tr>
		<td><input type="checkbox" name="checkDep|<?php echo $SSmenu['menu_id']; ?>" id="checkDep|<?php echo $SSmenu['menu_id']; ?>" value="1"/></td>
		<td><?php echo $SSmenu['menu_id']; ?></td>
		<td>&nbsp;&raquo;&nbsp;<input type="text" value="<?php echo mysql_real_escape_string($SSmenu['menu_nom']); ?>" size="22" class="SmallChpTxt" name="menu_nom|<?php echo $SSmenu['menu_id']; ?>"/></td>
		<td><?php echo FichierExiste('../include/',$SSmenu['menu_page']); ?></td>
		<td>&nbsp;&raquo;&nbsp;<input type="text" value="<?php echo $SSmenu['menu_ordre']; ?>" size="1" class="SmallChp"  name="menu_ordre|<?php echo $SSmenu['menu_id']; ?>"/></td>
		<td><?php echo EmplMenu($SSmenu['menu_emplacement'],'menu_emplacement|'.$SSmenu['menu_id']); ?></td>
		<td><?php echo OnOff($SSmenu['menu_cnx_membre'],'menu_cnx_membre|'.$SSmenu['menu_id']); ?></td>
		<td><em><?php echo DateFR($SSmenu['menu_date']); ?></em></td>
		<td><?php echo OnOff($SSmenu['menu_modifiable'],'menu_modifiable|'.$SSmenu['menu_id']); ?></td>
		<td><em><?php echo PosteurId($SSmenu['membre_admin_id']); ?></em></td>
	  </tr>
      <input type="hidden" name="FINForm|<?php echo $menu['menu_id']; ?>" id="button" value="FINForm|<?php echo $menu['menu_id']; ?>"/>
	<?php
	 
	}
	?>
    <input type="hidden" name="FINForm|<?php echo $menu['menu_id']; ?>" id="button" value="FINForm|<?php echo $menu['menu_id']; ?>"/>
    <?php
}		
Mon code php (Qui ne fonctionne pas ;) )
	case 'ModfifAdminMenu' :
		
		if ($_POST['SelectAction'] == 1)
		{
			echo "Modifier<br>";
			$TotalMenu = $_POST['TotalMenu'];
			/*$DEBUTForm = $_POST['DEBUTForm'];
			/*$FINForm = $_POST['FINForm'];*/
			echo $TotalMenu.'<br>';
			
			$champ ='';
			$valeur = '';
			$NewVal ='';
			
			foreach($_POST as $key =>$value)
			{
				$NewKey = explode("|", $key);
				$ANDValue = '';
				//echo $key .'=> '.$value.'<br>';
				//explode(" ", $pizza);
				if ($NewKey[0] != 'IDENTITEFORM')
				{
					if ($NewKey[0] == 'DEBUTForm')
					{
						$NewKey2 = '';
						$value = '';
						$ANDValue = '';
					}
					elseif ($NewKey[0] == 'FINForm')
					{
						$NewKey2 = '';
						$value = '';
						$ANDValue = ' VALUES';
					}
					elseif ($key == 'SelectAction')
					{
						$NewKey2 = '';
						$value = '';
						$ANDValue = '';
					}
					elseif ($key == 'TotalMenu')
					{
						$NewKey2 = '';
						$value = '';
						$ANDValue = '';
					}
					elseif ($key == 'button')
					{
						$NewKey2 = '';
						$value = '';
						$ANDValue = '';
					}
					else
					{
						$NewKey2 = '\''.$NewKey[0].'\', ';
						$value = '\''.$value.'\', ';
						$ANDValue = '';
					}
					
					$champ.= $NewKey2;
					$valeur.= $value;
					$ANDValue = '';
				}
				//$champ.= $NewKey2.', ';
				//$valeur.= '\''.$value;
				
				
					//$FinChamp = substr($champ, 0, -2); 
				///$FinValeur = substr($valeur, 0, -2); 
				echo $Insertion = $champ.$ANDValue.$valeur;
			
				
		
			}
				
			
		}
		break;

En gros je voudrais recuperer les donnees pour que cela fasse a chaque fois :

('chp1','chp2','chp3') VALUES ('val1',val2','val3')

('chp1','chp2','chp3') VALUES ('val1',val2','val3')

('chp1','chp2','chp3') VALUES ('val1',val2','val3') etc...

Pour permettre la modification (UPDATE);

Voila, je pense etre sur la bonne voie (..ou pas du tout lol )

Si vous avez une idée, merci ;)

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 nov. 2010, 21:19

salut,

pour être franc j'ai compris à tous cela.

qu'elle est ton problème ?

souvent la solution c'est d'écrire sous forme simple ce que l'on veut !

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 178 Messages

02 nov. 2010, 22:01

Bein au final, je viens de trouver une autre solution !

En gros ce sont des menus, issus d'une base de données...

Je voulais faire un gros UPDATE d'un coup de tout les champs..mais bon c'est un peu complexe..j'avais une solution plus simple, mais celle que j'ai trouve me convient !

Merci de ton temps ;)