Bonjour,
J'affiche des photos avec un numéro sous chaque photo. Le numéro représente l'ordre d'affichage des photos et est enregistré dans la base.
Je cherche à pouvoir changer ces numéros sur la page d'affichage pour changer l'ordre d'affichage. Mais l'enregistrement ne se fait pas dans la base.
Dans le code, "idph" est l'identifiant unique de la table photos, "numero" sont numero d'affichage.
Affichage des photos :
Code :
- while($row2 = mysql_fetch_array($result2))
- {
- echo '<form action="maj_ordre_photos.php?idph='. $row2['idph'] .' & numero='. $row2['numero'] .'" method="POST">';
- echo '<input type=hidden name="idph" value="'.$row2['idph'] .'">';
- echo '<td><img border=0 height="50" src="../../images/alb_photos/' . $row2['photo'] . '"><center>' .$row2['nom']. '<br>
- <input name="numero[]" type="text" id="numero" value="'.$row2['numero'] .'" size="1" maxlength="3"></td>';
- }
|
Mise à jour de la base :
Code :
- $idph = $_POST['idph'];
- $numero = $_POST['numero'];
- if (isset($_FILES['numero']))
- {
- $i = 0;
- //$_FILES existe
- foreach ($_FILES['numero']['num'] as $key => $value)
-
- {
- $idph = $_POST['idph'][$i];
- $numero = $_POST['numero'][$i];
- $i++;
-
- $result=mysql_query("UPDATE photos SET numero WHERE idph='$idph'" );
- }
- }
|
Là, si je teste mes variables en réception au début, j'obtient :
Array
(
[idph] => 8
[numero] => Array
(
[0] => 1
[1] => 6
[2] => 5
[3] => 7
[4] => 9
)
)
Le [1] => 6 correspond à la deuxième photo que j'ai modifié. Le 6 était à 3 lors de l'affichage.
Donc, les variables sont bien réceptionnées.
Mais je ne trouve pas mon erreur ......