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 :

Modifier ordre affichage photos php [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 52
    Par défaut Modifier ordre affichage photos php
    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 :


    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    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 : 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
    $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ô ..... J'ai besoin d'un coup de main .....
    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $result=mysql_query("UPDATE photos SET numero WHERE idph='$idph'");
    il manque la valeur: SET numero = quelquechose
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 52
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $result=mysql_query("UPDATE photos SET numero WHERE idph='$idph'");
    il manque la valeur: SET numero = quelquechose
    Merci sabotage, mais le pb ne vient pas de là, je suppose ..... mais plutôt de la lecture du tableau en reception (Array), et de son traitement.
    Et c'est là où j'ai besoin d'un coup de main ......

    Si je teste les variables réceptionnées, j'ai :

    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

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    C'est quoi $_FILES['numero']['num'] dans ton formulaire ?

    Si tu as un seul formulaire pour l'ensemble des éléments, il faut renvoyer tous les idph en tableau également.
    La tu as un seul idph et tous les champs numéros.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 52
    Par défaut
    Citation Envoyé par sabotage Voir le message
    C'est quoi $_FILES['numero']['num'] dans ton formulaire ?

    Si tu as un seul formulaire pour l'ensemble des éléments, il faut renvoyer tous les idph en tableau également.
    La tu as un seul idph et tous les champs numéros.
    OK ! J'ai remplacé foreach ($_FILES['numero']['num'] ..... par foreach ($numero as $numero2 => $result)
    Mais le résultat reste le même.
    Voici mon code maintenant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $idph = $_POST['idph'];
        $numero = $_POST['numero'];
    $i = 0;
            $idph = $_POST['idph'][$i];
            $numero = $_POST['numero'][$i];
      foreach ($numero as $numero2 => $result) 
            $i++;
        { 
        $result=mysql_query("UPDATE photos SET numero WHERE idph='$idph'"); 
      }
    Pour renvoyer tous les idph également en tableau, comment fais-tu ? Peut-on associer les idph et les numéros dans le même tableau ?

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $i = 0;
    $numero = $_POST['numero'][$i];
    ca te choque pas ?

    ton $i doit être enlevé partout : l'interêt des tableaux et de foreach() est de ne pas avoir a connaître ou prédire l'index.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

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

Discussions similaires

  1. Affichage photo entête de chaque album (php mySQL)
    Par mazett dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/05/2014, 03h25
  2. [VB6] Comment modifier l'affichage au sein d'un Webbrowser
    Par jlvalentin dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 16/12/2005, 14h06
  3. [FLASH 8] Pbm affichage photos
    Par fab22montpellier dans le forum Flash
    Réponses: 1
    Dernier message: 30/11/2005, 11h42
  4. Modifier l'affichage d'une requête
    Par seal dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/09/2005, 14h26
  5. Comment modifier l'affichage des objets cachés de Windows ?
    Par maximdus dans le forum API, COM et SDKs
    Réponses: 23
    Dernier message: 23/07/2005, 11h45

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