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 pour changer l'ordre d'affichage.
Dans le code, idph est l'identifiant unique de la table photos.

Affichage des photos :

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 :

    $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'"); 
  }
}   


Mais ça marche pô ..... Smiley bawling J'ai besoin d'un coup de main ..... Smiley ohwell
Merci.
salut,

/**
 * $R va disparaitre à la fin du while
 * pourquoi écrire 3 lettres de + ($row2)
 * pour ce nom de variable ??
 */

while ($R = mysql_fetch_array($result2)) {

    /**
     *
     *   =|==> ! Echo is eVIL ! <==|=
     * 
     * trop de temps de codage / débogage PHP
     * est consacré à trouver une erreur de
     * typo/quote dans un "*$.@^' d'ÉCHO, 
     * notamment lorsqu'on l'utilise avec
     * interpolation ou concaténation.
     *
     * à l'inverse,  printf / sprintf sont
     *  => simples
     *    => claires
     *      => rapides à coder
     *        => faciles à maintenir
     *          => lisibles, souples, maniables, versatiles, (sexy ?)
     *            => et qui donnent du code => robuste <=
     *
     *            ??? SO WHAT ELSE ???
     *
     * dans cet exemple, les 2 %d sont remplacés
     * par deux valeurs numériques, $R['idph'] et
     * $R['numero'] dans cet ordre, et les 2 %s sont
     * remplacés par deux chaînes de caractères, 
     * $R['photo'] et $R['nom'] dans cet ordre.
     */

    printf(
        "<form
        action='maj_ordre_photos.php?idph=%d&numero=%d'
        method='POST'>",
        $R['idph'],
        $R['numero']
    );

    printf(
        "<td>
        <img
        border='0'
        height='50'
        src='../../images/alb_photos/%s'
        >
        <center>%s
        <br>",
        $R['photo'],
        $R['nom']
    );
}

etc, etc, et bonne chance !
Modifié par Etilem (10 Jan 2010 - 04:04)
Le code HTML produit m'a l'air particulièrement invalide. Genre, gratiné.
Faut-il rappeler qu'un code HTML valide c'est... hum, comment dire... la base?
Modifié par Florent V. (10 Jan 2010 - 16:18)