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 :

Problème de boucle [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
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut Problème de boucle
    Bonjour !

    J'aurais (encore :s) une question à propos d'un petit souci sur mon code... Quand je veux modifier une news, j'ai mon champ d'upload d'image qui pose problème : soit je change d'image, et là, il n'y pas de problème, ça supprime l'ancienne et place la nouvelle, soit je ne change pas, et seuls les textes sont modifiés dans la base de données.

    Le hic étant que j'ai réussi à faire le code nécessaire à ces deux opérations, mais SEPAREMENT, c'est à dire que dès que j'essaie de faire une condition avec un "if...else", un des deux ne marche plus... (en l'occurence celui où je ne touche pas à l'image)

    Voici le code en question... J'aimerais avoir votre avis sur les conditions que j'ai mises :

    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
    if(isset($_FILES['Fichier']['tmp_name'])) 
    		{
    			//SI LE CHAMP IMAGE EST MODIFIE
     
    			$id = $_POST["id"];
    			$ancien_fichier = mysql_query("SELECT image FROM news WHERE id=$id");
    			$result = mysql_fetch_array($ancien_fichier);
     
    			unlink("../../images/news/{$result['image']}"); 
     
    			$nomFichier2 = $_FILES['Fichier']['name'];
    			$cheminFichier2 = $_FILES['Fichier']['tmp_name'];
    			// Création d'un nom unique avec time()
    			// Récupération du seul nom de fichier avec basename()
    			$nouveauNom2 = time() . "-" . basename($nomFichier2);
    			$nouveauFichier2 = REPERTOIRE_DEPOT . SEPARATEUR_FICHIERS . $nouveauNom2;
    			if (file_exists($nouveauFichier2)) {
    				die ('Le fichier existe déjà !');
    			}
    			// déplacement du fichier dans le répertoire dépôt
    			if (move_uploaded_file($cheminFichier2, $nouveauFichier2)) {
    				echo "";	
    			}			
    			// On protège la variable "id_news" pour éviter une faille SQL
    			$_POST['id_news'] = addslashes($_POST['id_news']);
    			// C'est une modification, on met juste à jour le titre et le contenu
    			mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "', image='" . $nouveauNom2 . "' WHERE id='" . $_POST['id_news'] . "'");
    		}	
    		else
    		{
    			// On protège la variable "id_news" pour éviter une faille SQL
    			$_POST['id_news'] = addslashes($_POST['id_news']);
    			// C'est une modification, on met juste à jour le titre et le contenu
    			mysql_query("UPDATE news SET titre='" . $titre . "', contenu='" . $contenu . "' WHERE id='" . $_POST['id_news'] . "'");	
    		}
    Voilà j'insiste vraiment sur le fait que prises à part, ces actions marchent très bien. Mais le "else" n'est jamais lu par le programme quoi que je fasse...
    J'avoue ne pas comprendre !!

    D'avance, merci !!!

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    salut,

    essai avec :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if(!empty($_FILES['Fichier']['tmp_name']))
    {
     
    }
    else
    {
     
    }

    Que tu envoies une images ou non, le tableau $_FILES est créé avec tous ses index, donc le isset sur 'tmp_name' renvoit true.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2008
    Messages : 29
    Par défaut
    Waouw =]

    Merci tout marche comme il faut maintenant !!

    Merci beaucoup pour la réponse rapide et efficace !!!

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

Discussions similaires

  1. Problème de boucles imbriquées
    Par Gnux dans le forum Algorithmes et structures de données
    Réponses: 9
    Dernier message: 09/12/2005, 20h26
  2. [Tableaux] Problème avec boucle
    Par MYster dans le forum Langage
    Réponses: 6
    Dernier message: 11/11/2005, 18h39
  3. Problème de boucle
    Par TheUltimaSephiroth dans le forum C
    Réponses: 8
    Dernier message: 10/10/2005, 13h58
  4. Problème de boucle
    Par Louis-Guillaume Morand dans le forum Langage SQL
    Réponses: 3
    Dernier message: 25/09/2005, 09h10
  5. Problème de boucle
    Par basclln dans le forum C++
    Réponses: 19
    Dernier message: 02/04/2005, 09h13

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