par
B.Moncef » 04 sept. 2008, 05:49
Alors reprenons, tu as une table dont la structure est celle affichée plus haut dans ton message.
Que veux-tu dire ici par "correctement" :
l'idée c'est que la valeur de libserie pour chacune de ces lignes puisse s'inséré correctement !
D'après ce que j'ai compris, après relecture, ce code devrait te convenir :
<?php
$result = array(
0 => array(
'libTypeent' => '1',
'libgroupe' => '2'
),
1 => array(
'libTypeent' => '3',
'libgroupe' => '4'
)
);
echo '<form action="" method="post">';
foreach ($result as $key => $data) {
echo '<textarea name="serie' . $data['libTypeent'] . $data['libgroupe'] . '"'
. ' rows="6" cols="10"></textarea><br />';
}
echo '<input type="submit" name="submit" />';
echo '</form>';
$sql = '';
if (isset($_POST['submit'])) {
foreach ($_POST as $name => $value) {
if ($name != 'submit') {
$libTypeent = (int) $name[strlen($name) - 2];
$libgroupe = (int) $name[strlen($name) - 1];
$sql .= '- UPDATE `ta_table` SET `libserie`= \'' . (int) $value . '\''
. ' WHERE `libTypeent` = ' . $libTypeent . ' AND `libgroupe` = ' . $libgroupe . '<br />';
}
}
echo $sql;
}
?>
Teste le en local, et dis moi si les requêtes affichées à la fin sont bien celles que tu aimerais exécuter ?
PS : si tu veux tester avec des données venant directement de ta bdd, tu peux remplacer le tableau $result et la boucle foreach du début par le résultat de ta requête sql et une boucle while($data = ...)
Alors reprenons, tu as une table dont la structure est celle affichée plus haut dans ton message.
Que veux-tu dire ici par "correctement" :
[quote]l'idée c'est que la valeur de libserie pour chacune de ces lignes puisse s'inséré correctement ! [/quote]
D'après ce que j'ai compris, après relecture, ce code devrait te convenir :
[php]<?php
$result = array(
0 => array(
'libTypeent' => '1',
'libgroupe' => '2'
),
1 => array(
'libTypeent' => '3',
'libgroupe' => '4'
)
);
echo '<form action="" method="post">';
foreach ($result as $key => $data) {
echo '<textarea name="serie' . $data['libTypeent'] . $data['libgroupe'] . '"'
. ' rows="6" cols="10"></textarea><br />';
}
echo '<input type="submit" name="submit" />';
echo '</form>';
$sql = '';
if (isset($_POST['submit'])) {
foreach ($_POST as $name => $value) {
if ($name != 'submit') {
$libTypeent = (int) $name[strlen($name) - 2];
$libgroupe = (int) $name[strlen($name) - 1];
$sql .= '- UPDATE `ta_table` SET `libserie`= \'' . (int) $value . '\''
. ' WHERE `libTypeent` = ' . $libTypeent . ' AND `libgroupe` = ' . $libgroupe . '<br />';
}
}
echo $sql;
}
?>[/php]
Teste le en local, et dis moi si les requêtes affichées à la fin sont bien celles que tu aimerais exécuter ?
PS : si tu veux tester avec des données venant directement de ta bdd, tu peux remplacer le tableau $result et la boucle foreach du début par le résultat de ta requête sql et une boucle while($data = ...)