IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Envoi de donnée de formulaire généré a la volée dans un tableau


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut Envoi de donnée de formulaire généré a la volée dans un tableau
    Bonjour,
    je me suis remis au développement web après des années de végétation à ce niveau
    j'ai un beau projet mais j'approche de la deadline et j'ai un gros problème de fonctionnalité,
    j'ai besoin d'un coup de mains sinon mon projet va être jeter aux toilette et moi avec si j'ai même pas une démo fonctionnelle a présenté en fin de semaine

    ce que j'ai :

    je génère un tableau ou chaque cellule est un input qui affiche la valeur qui est dans la bdd
    grace à une boucle while j'affiche la totalité de ma bdd en tableau comme ça.

    et ce que je veux : c'est envoyer les inséré/modifié dans la bdd en retour

    pour ça j'ai essayer ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    function startsWith($haystack, $needle)
    	{
    		return strrpos($haystack, $needle, -strlen($haystack)) !== false;
    	}
     
    	$query =  $mysqli->prepare("UPDATE outils SET EmplacementX = (?), EmplacementY = (?), EmplacementZ = (?) WHERE ID = (?)");
    						$emplacementX = NULL;
    						$emplacementY = NULL;
    						$emplacementZ = NULL;
    						$id = NULL;
    	$query->bind_param("ssss", $emplacementX, $emplacementY, $emplacementZ, $id);
    	if($query == NULL) die("MySQL prepared statement error");
     
     
     
     
     
    	for ( $iterration=0   ;   $iterration < sizeof($_POST)   ;   $iterration++ )
    		if(startsWith(array_keys($_POST)[$iterration], "emplacementX"))
    		{
    			$id = explode("_", array_keys($_POST)[$iterration])	[1];
     
    			echo '<div class="test_tip">';
    			echo $id.' <- $id'; echo '</br>';
    			echo $iterration.' <- $iterration'; echo '</br>';
    			echo '</div>';
     
    			$emplacementX = isset($_POST['emplacementX_'.$id]) ? $_POST['emplacementX_'.$id] : NULL;
    			$emplacementY = isset($_POST['emplacementY_'.$id]) ? $_POST['emplacementY_'.$id] : NULL;
    			$emplacementZ = isset($_POST['emplacementZ_'.$id]) ? $_POST['emplacementZ_'.$id] : NULL;
     
    			if($emplacementX != NULL && $emplacementY != NULL && $emplacementZ != NULL)
     
    			$query->execute()
    			or die ("MySQL query error (".$mysqli->connect_errno.")".$mysqli->connect_error);
    		}
    problème : ça ne marche que pour la première ligne, les autres ne sont tout simplement pas changer

    je vous remercie d'avoir lu et j'espère que quelqu'un voudras bien m'aider

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu vois bien tous les affichages $id et $iteration, et c'est uniquement la mise à jour qui ne se fait pas ?
    L'exécution de la requête est dans une condition, as-tu vérifié que tu entrais bien dans cette condition ? Tu peux ajouter un affichage alternatif pour le cas où tu ne passes pas dans l
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    if($emplacementX != NULL && $emplacementY != NULL && $emplacementZ != NULL) {
        echo "Update !";
        $query->execute() or die ("MySQL query error (".$mysqli->connect_errno.")".$mysqli->connect_error);
    } else {
        echo "pas d'update, au moins une valeur est nulle";
    }
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    et bienvenu sur DVP.

    Pas de commentaire dans le code, pas de code du formulaire... on ne peut que supposer...

    Quand je vois ça : $_POST['emplacementX_'.$id], je me dis que tu n'as pas correctement conçu le formulaire.
    Cette forme suppose que le name de l'input (ou autre) est de la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input ..... name="emplacementX_<?php echo $id; ?>" .... />
    Or, voici une meilleure conception :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input ..... name="emplacementX[<?php echo $id; ?>]" .... />
    <input ..... name="emplacementY[<?php echo $id; ?>]" .... />
    Les [...] font que tu vas récupèrer des array de valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $emplacementX_array = $_POST['emplacementX'];
    $emplacementY_array = $_POST['emplacementY'];
    Tu peux alors parcourir cet array, avec $id comme index :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    foreach( $emplacementX_array as $id => $emplacementX )
    {
       // $id : identifiant/index de la ligne à modifier
       // $emplacementX : c'est clair
       // les autres critères :
       $emplacementY = $emplacementY_array[$id]; 
    ...
       // Là, on peut effectuer l'UPDATE de la ligne
    ...
    }

  4. #4
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Bonjour,

    merci pour vos réponses

    Tu vois bien tous les affichages $id et $iteration, et c'est uniquement la mise à jour qui ne se fait pas ?
    j'ai fait echo $id; aprés le if et en dehors du for, et l'id reste toujours à 1, les itérations s'incrémente,
    si je ne me trompe pas, c'est la boucle qui ne marche pas, elle tourne une fois et puis stop.

    j'ai ajouté l'affichage alternatif et ça me dis "Update!"


    je n'ai pas mis les commentaires car j'ai peur de pas être clair et d'embrouiller plus qu'autre chose pour l'instant

    et le formulaire je compter bien le passer, mais pur pas faire un premier post trop lourd, j'attendais de savoir si vous en aviez besoin
    alors voilà le formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
     
     
    <?php
     
    	$reponse = $mysqli->query("SELECT * FROM outils");
    	while($donnees = $reponse->fetch_assoc())
    	{
    		$id = $donnees['ID'];
    		$emplacementX = $donnees['EmplacementX'];
    		$emplacementY = $donnees['EmplacementY'];
    		$emplacementZ = $donnees['EmplacementZ'];
     
    ?>
     
    			<tr>
     
    				<td><!-- Emplacement case -->
     
     
    					<select name=<?php echo "emplacementY_".$id; ?> value=" <?php //if ( isset ($emplacementY) ) { echo $emplacementY ; } ?> ">
    						<option value=""></option>
    						<option <?php if ( $emplacementY == "1U" ) echo 'selected'; ?> value="1U">1U</option>
    						<option <?php if ( $emplacementY == "1D" ) echo 'selected'; ?> value="1D">1D</option>
    						<option <?php if ( $emplacementY == "II" ) echo 'selected'; ?> value="II">II</option>
    						<option <?php if ( $emplacementY == "III" ) echo 'selected'; ?> value="III">III</option>
    						<option <?php if ( $emplacementY == "IV" ) echo 'selected'; ?> value="IV">IV</option>
    						<option <?php if ( $emplacementY == "V" ) echo 'selected'; ?> value="V">V</option>
    						<option <?php if ( $emplacementY == "VI" ) echo 'selected'; ?> value="VI">VI</option>
    					</select>
     
    					<select name=<?php echo "emplacementX_".$id; ?> value=" <?php //if ( isset ($emplacementX) ) { echo $emplacementX ; } ?> ">
    						<option value=""></option>
    <?php
    		for($iterration='A'; $iterration<='F'; $iterration++)
    			echo '		<option '.($emplacementX == $iterration ? 'selected' : '').' value="'.$iterration.'">'.$iterration.'</option>
    				';
    ?>
    					</select>
     
    					<select name=<?php echo "emplacementZ_".$id; ?> value=" <?php //if ( isset ($emplacementZ) ) { echo $emplacementZ ; } ?> ">
    						<option value=""></option>
    <?php
    		for($iterration='9'; $iterration>'0'; $iterration--)
    			echo '		<option '.( $emplacementZ == $iterration ? 'selected' :'').' value="'.$iterration.'">'.$iterration.'</option>
    				';
    ?>
    					</select>
     
    				</td>
     
    				<td><!-- Quantite case -->
     
    <?php //echo $donnees['Quantite'];
    	echo '<input  type="number" name="Quantite" value="'.$donnees['Quantite'].'" /> ';
    	//<input type="number" value=$Quantity name="quantity" min="1" max="100">
    ?>
     
    				</td>
     
    			</tr>
     
    		</form>
     
     
    <?php //fin de la boucle
    	}
    	$query->close();
    	$reponse->free();
    	$mysqli->close();
    ?>
     
     
    	</table>

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    ce que je t'ai conseillé ne t'intéresse pas ?

  6. #6
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    ce que je t'ai conseillé ne t'intéresse pas ?
    si si ! j'avais pas encore eu le temps de tester, mais je suis toujours partant pour une meilleur conception

  7. #7
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    				<td>
     
    					<select name=emplacementY[<?php echo $id; ?>]">
    						<option value=""></option>
    <?php				$emplacementY_options = array(
    						'1U' => '1U', 	// couples value / name (ils peuvent être différents)
    						'1D' => '1D',
    						'II' => 'II',
    						'III' => 'III',
    						'IV' => 'IV',
    						'V' => 'V',
    						'VI' => 'VI'
    					);
    					foreach( $emplacementY_options as $optY_val => $optY_name )
    					{
    						$selected = ( $emplacementY == $optY_val )? ' selected="selected"' : '';
    ?>
    						<option value="<?php echo $optY_val; ?>"<?php echo $selected; ?>><?php echo $optY_name; ?></option>
    <?php
    					}
    ?>
    					</select>
     
    					<select name=emplacementX[<?php echo $id; ?>]">
    						<option value=""></option>
    <?php				for($optX='A'; $optX<='F'; $optX++)
    					{
    						$selected = ( $emplacementX == $optX )? ' selected="selected"' : '';
    ?>
    						<option value="<?php echo $optX; ?>"<?php echo $selected; ?>><?php echo $optX; ?></option>
    <?php
    					}
    ?>
    					</select>
     
    					<select name=emplacementZ[<?php echo $id; ?>]">
    						<option value=""></option>
    <?php				for($optZ=9; $optZ>0; $optZ--)
    					{
    						$selected = ( $emplacementZ == $optZ )? ' selected="selected"' : '';
    ?>
    						<option value="<?php echo $optZ; ?>"<?php echo $selected; ?>><?php echo $optZ; ?></option>
    <?php
    					}
    ?>
    					</select>
     
    				</td>
    Dernière modification par Invité ; 05/01/2017 à 14h14.

  8. #8
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    merci !

    j'ai remplacer les formulaires par les fonctions que tu viens de m'ecrire (btw: si quelqu'un d'autre veux l'utiliser : il y a une coquille à la ligne 38, le premier "opt" est en X au lieu de Z )
    et avec le while d'origine ça s'affiche bien, mais ce que tu me conseillait avec foreach va envoyer les données après les avoir lu en bdd non?

  9. #9
    Invité
    Invité(e)
    Par défaut
    J'ai corrigé.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?php
    // TRAITEMENT
    $emplacementX_array = $_POST['emplacementX'];
    $emplacementY_array = $_POST['emplacementY'];
    $emplacementZ_array = $_POST['emplacementZ'];
     
    // Préparation de la requete UPDATE
    $query =  $mysqli->prepare("UPDATE outils SET EmplacementX = (?), EmplacementY = (?), EmplacementZ = (?) WHERE ID = (?)");
     
    // Pour chaque ligne du formulaire
    foreach( $emplacementX_array as $id => $emplacementX )
    {
    	$emplacementX = $emplacementX_array[$id];
    	$emplacementY = $emplacementY_array[$id];
    	$emplacementZ = $emplacementZ_array[$id];
    	// ici GESTION d'ERREUR (éventuellement)
    	// .......
    	// ici : la requete UPDATE pour la ligne
    	$query->bind_param("ssss", $emplacementX, $emplacementY, $emplacementZ, $id);
    	$query->execute() or die ("MySQL query error for id=".$id." (".$mysqli->connect_errno.")".$mysqli->connect_error);
    }

  10. #10
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    j'ai réduis le tableau au strict minimum :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
     
     
    	<div >
    		<input form="modify_table" type="submit" name="Ok" value="Valider"/>
    	</div>
     
    	<table class="superb">
     
    		<form  id="modify_table" method="post" action="#">
     
     
    			<tr>
    				<th>ID</th>
    				<th>Emplacement</th>
    				<th>Quantité</th>
    			</tr>
     
     
    <?php
     
    				// TRAITEMENT
    				$emplacementX_array = $_POST['emplacementX'];
    				$emplacementY_array = $_POST['emplacementY'];
    				$emplacementZ_array = $_POST['emplacementZ'];
     
    				// Préparation de la requete UPDATE
    				$query =  $mysqli->prepare("UPDATE outils SET EmplacementX = (?), EmplacementY = (?), EmplacementZ = (?) WHERE ID = (?)");
     
    				// Pour chaque ligne du formulaire
    				foreach( $emplacementX_array as $id => $emplacementX )
    				{
    				$emplacementX = $emplacementX_array[$id];
    				$emplacementY = $emplacementY_array[$id];
    				$emplacementZ = $emplacementZ_array[$id];
    				// ici GESTION d'ERREUR (éventuellement)
     
    				// .......
     
    				// ici : la requete UPDATE pour la ligne
    				$query->bind_param("ssss", $emplacementX, $emplacementY, $emplacementZ, $id);
    				$query->execute() or die ("MySQL query error for id=".$id." (".$mysqli->connect_errno.")".$mysqli->connect_error);
    				}
     
    				$reponse = $mysqli->query("SELECT * FROM outils");
    				while($donnees = $reponse->fetch_assoc())
    				{
    					$id = $donnees['ID'];
    					$emplacementX = $donnees['EmplacementX'];
    					$emplacementY = $donnees['EmplacementY'];
    					$emplacementZ = $donnees['EmplacementZ'];
     ?>
     
    			<tr>
     
    				<td><!-- Emplacement case -->
     
     
    										<select name=emplacementY[<?php echo $id; ?>]">
    											<option value=""></option>
    					<?php				$emplacementY_options = array(
    											'1U' => '1U', 	// couples value / name (ils peuvent être différents)
    											'1D' => '1D',
    											'II' => 'II',
    											'III' => 'III',
    											'IV' => 'IV',
    											'V' => 'V',
    											'VI' => 'VI'
    										);
    										foreach( $emplacementY_options as $optY_val => $optY_name )
    										{
    											$selected = ( $emplacementY == $optY_val )? ' selected="selected"' : '';
    					?>
    											<option value="<?php echo $optY_val; ?>"<?php echo $selected; ?>><?php echo $optY_name; ?></option>
    					<?php
    										}
    					?>
    										</select>
     
    										<select name=emplacementX[<?php echo $id; ?>]">
    											<option value=""></option>
    					<?php				// emplacementX
    										for($optX='A'; $optX<='F'; $optX++)
    										{
    											$selected = ( $emplacementX == $optX )? ' selected="selected"' : '';
    					?>
    											<option value="<?php echo $optX; ?>"<?php echo $selected; ?>><?php echo $optX; ?></option>
    					<?php
    										}
    					?>
    										</select>
     
    										<select name="emplacementZ[<?php echo $id; ?>]">
    											<option value=""></option>
    					<?php				for($optZ=9; $optZ>0; $optZ--)
    										{
    											$selected = ( $emplacementZ == $optZ )? ' selected="selected"' : '';
    					?>
    											<option value="<?php echo $optZ; ?>"<?php echo $selected; ?>><?php echo $optZ; ?></option>
    					<?php
    										}
    					?>
    										</select>
     
    				</td>
     
    				<td><!-- Quantite case -->
     
    							<?php //echo $donnees['Quantite'];
    								echo '<input  type="number" name="Quantite" value="'.$donnees['Quantite'].'" /> ';
    							?>
                                    </td>
     
    			</tr>
     
    		</form>
     
     
    <?php //fin de la boucle
    }
     
    	$query->close();
    	$reponse->free();
    	$mysqli->close();
    ?>
     
     
    	</table>

    et là je sèche, ça update toujours la première ligne sans soucis mais les autres ne bouge pas.

  11. #11
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Tu peux vérifier ce qui est réellement transmis en faisant un var_dump($_POST); juste avant ta boucle, histoire de déterminer si c'est la boucle ou le formulaire qui coince.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  12. #12
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    	<table class="superb">
     
    		<form  id="modify_table" method="post" action="#">
    Les balises <form> </form> doit être à l'extérieur de la <table>.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <form  id="modify_table" method="post" action="#">
    	<table class="superb">

  13. #13
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par Celira Voir le message
    Tu peux vérifier ce qui est réellement transmis en faisant un var_dump($_POST); juste avant ta boucle, histoire de déterminer si c'est la boucle ou le formulaire qui coince.

    ah oui! j'avais oublier var_dump !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    array (size=5)
      'Ok' => string 'Valider' (length=7)
      'emplacementY' => 
        array (size=1)
          1 => string 'IV' (length=2)
      'emplacementX' => 
        array (size=1)
          1 => string 'D' (length=1)
      'emplacementZ' => 
        array (size=1)
          1 => string '7' (length=1)
      'Quantite' => string '1' (length=1)
    et j'en ai mis dans la boucle aussi, $id incrément bien a chaque case et les emplacement affiche ce qu'il y a en bdd (vide aussi)

  14. #14
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    mais ça fonctionne !

    sur Uwamp en local ça me fait un gros bug d'affichage et me disais que ça n'uploader pas alors que si, mais comme je commencer à douter un peu j'ai uploader sur mon serveur distant et paf !
    http://subuuboot.alwaysdata.net/quan...ging_table.php

    y'as un peu de débug a faire mais je me sent tellement soulagé

    jreaux62 :
    le code est parfait, il est bien plus simple et clair
    j'ai juste rajouter une verif isset avant le foreach pour eviter le
    Invalid argument supplied for foreach()
    et tout roule, je vais pouvoir le décliner dans toutes les fonctionnalité semblable que j'avais à faire.

    par contre je comprend pas pour quoi le fait de sortir les balise form de la table change la done

  15. #15
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par Sub_uuboot Voir le message
    ...je comprend pas pour quoi le fait de sortir les balise form de la table change la done
    Parce qu'on NE DOIT RIEN mettre ENTRE les balises <table> ET <tr> !
    NI entre <tr> et <td>, d'ailleurs.
    C'est la structure imposée des <table>.

  16. #16
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Points : 16 372
    Points
    16 372
    Par défaut
    Citation Envoyé par jreaux62 Voir le message
    Parce qu'on NE DOIT RIEN mettre ENTRE les balises <table> ET <tr> !.
    Sauf éventuellement à encadrer les <tr> par <tbody>, <thead> ou <tfoot>

    En bref, dans une table, on écrit à l'intérieur des cases (autrement dit à l'intérieur des <td> ou <th>) et c'est tout. Lorsqu'on trace un tableau avec un crayon sur une feuille de papier, on n'essaye pas d'écrire des choses dans l'épaisseur du trait autour de la case ou entre deux cases, n'est-ce pas ? Ben là c'est pareil.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  17. #17
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    je saurais faire attention à ça à l'avenir.
    merci encore a vous pour l'aide que vous m'avez apporté,
    j'ai toujours lu sans poster mais en fait ça à l'air d'être un super forum, je vais rester dans le coin

    ps : j'ai débuggé tout mon code, maintenant ça marche partout de façon parfaite, je passe le sujet en résolu.

  18. #18
    Invité
    Invité(e)
    Par défaut
    C'est juste*, Célira, comme toujours.

    Et pour aller au bout du bout :





    * Tu as juste oublié de mentionner<caption>, <colgroup>.

  19. #19
    Candidat au Club Avatar de Sub_uuboot
    Homme Profil pro
    compliqué
    Inscrit en
    Novembre 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : compliqué

    Informations forums :
    Inscription : Novembre 2016
    Messages : 9
    Points : 2
    Points
    2
    Par défaut
    quand j'ai un moment je le lirais, surtout que j'ai besoin de savoir comment utiliser les caption pour mes tableaux

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoi de données par formulaire
    Par infoad31 dans le forum Langage
    Réponses: 1
    Dernier message: 19/04/2011, 13h01
  2. [Flex3] Envois de données par formulaire
    Par DBA_OCP dans le forum Flex
    Réponses: 8
    Dernier message: 24/12/2010, 11h59
  3. Envoi de données de formulaire
    Par klmload dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/12/2009, 10h16
  4. [MySQL] message d'erreur lors de l'envois des données du formulaires
    Par paolo129 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 16/12/2008, 17h14
  5. [AJAX] envoie de données à un formulaire de manière asynchrone
    Par comcom94 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/10/2008, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo