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

Langage PHP Discussion :

[Upload] Inserer des images


Sujet :

Langage PHP

  1. #21
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par Him
    Je suppose que le path jusqu'à mon /upload/ c'est dans l'affichage que je le met & non dans la base ?
    Oui, si tu stockes toutes tes images au même endroit c'est mieux. Ainsi si tu dois changer le path un jour, tu n'auras pas besoin de le changer dans toute la base de données.

    Citation Envoyé par Him
    Merci encore à toi
    Pas de problèmes


    (P.S. : n'oublie pas de mettre la balise 'Résolu')

  2. #22
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    oui, mais j'ai pas envore finis

    la j'en suis au probleme de recuperer une deuxieme variable dans ma boucle

    while ($news = mysql_fetch_array($lastnews))

    vu que je m'adresse à une deuxieme table...
    alors je fais des petites recherche avant de passer au test, mais je me pose surtout la question :

    2 variables dans une boucle, ou deux boucles ?

  3. #23
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Bon, désolé mais je suis un vrais boulet

    J'y arrive pas...
    dans ma page de récupération des news, ma boucle ressemble à ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    		// Récupération des dernières news à afficher sur la page
    			$lastnews = mysql_query('SELECT * FROM news WHERE valid="1" ORDER BY id DESC LIMIT 0, 10');
     
    			while ($news = mysql_fetch_array($lastnews))
     
    			{
    maintenant, comment lui ajouter qu'elle doit aussi aller dans la table news_pics & prendre le champ up_filename ?
    (surtout que si je ne me trompe pas, pour l'image je ne dois pas passer par un mysql_fetch_array ? si ? )

  4. #24
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    Tu dois faire ça avec ta requête SQL, je te donne un rapide exemple pour sélectionner des données de plusieurs tables si tu as des problèmes avec ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT N.TEXTENEWS, I.IMAGE FROM `news` N, `images` I WHERE I.IDNEWS = N.IDNEWS

  5. #25
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    rien compris

    je capte pas comment insérer ma requete à ca

    *bouly*

  6. #26
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    bon, vraiment j'ai cherché, mais j'y arrives pas :/

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    			$lastnews = mysql_query('SELECT N.valid, I.up_filename FROM `news` N, `news_pics` I WHERE I.UP_ID = N.ID ORDER BY id DESC LIMIT 0, 10');
    J'en suis la, & j'ai toujours aucun affichage dans ma page news...
    exepté qu'il m'as généré le bon nombre de news (4 espace pour news) & 4 news en db...

    j'apelle les news comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    	<b><?php echo $news['titre']; ?></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em class="date">écrit le <?php echo date('d/m à H\hi', $news['timestamp']); ?></em>&nbsp; Par <?php echo $news['user']; ?>
    	<p><?php 
     
    	// retrait des slash & alignement du texte
    		$contenu = nl2br(stripslashes($news['contenu']));
    		echo $contenu;
    	?></p><br />
     
    		<?php
    		}
    		?>	<p><img src="/manage/upload/<?php echo $news['up_filename']; ?>" /></p>

  7. #27
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Nobody for me ?

  8. #28
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    Donne ton code complet, parce que sur ce que tu écris ça semble correct.

  9. #29
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    salut mon code complet est

    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
     
    .... retrait du code html inutil ....
     
    <div class="compteur">
     
    		<?php include("visite.php");
    			print"$compteur visiteurs<br />";
    			print"dont $compteur_j aujourd'hui<br />";
    			print"$compteur_c Fan(s) Actuellement<br />";
    		?>
    </div>
    <br />
    </div>
     
    <div id="contenu">
     
    	<div class="title">Bienvenue sur le wep à .no. !</div><br />
     
    	<div class="texte_contenu">
    	<div><u><b>News :</b></u></div><br />
     
    		<?php 
    			mysql_connect("localhost", "*****", "******") or die(mysql_error());
    			mysql_select_db("axe-net") or die(mysql_error());
     
    		// Récupération des dernières news à afficher sur la page
    //			$lastnews = mysql_query('SELECT * FROM news WHERE valid="1" ORDER BY id DESC LIMIT 0, 10');
    			$lastnews = mysql_query('SELECT N.valid, I.up_filename FROM `news` N, `news_pics` I WHERE I.UP_ID = N.ID ORDER BY id DESC LIMIT 0, 10');
     
    			while ($news = mysql_fetch_array($lastnews))
     
    			{
    		?>
    	<b><?php echo $news['titre']; ?></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em class="date">écrit le <?php echo date('d/m à H\hi', $news['timestamp']); ?></em>&nbsp; Par <?php echo $news['user']; ?>
    	<p><?php 
     
    	// retrait des slash & alignement du texte
    		$contenu = nl2br(stripslashes($news['contenu']));
    		echo $contenu;
    	?></p><br />
     
    		<?php
    		}
    		?>	<p><img src="/manage/upload/<?php echo $news['up_filename']; ?>" /></p>
     
    	<p class="haut">
    	<a href="#haut">Haut de page</a>
    	</p>
     
    	</div>
    </div>
     
    </body></html>

  10. #30
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Excusez moi d'insister, mais il ne reste plus que ce problème.

    Je n'ai pas pour habitude de "bumper" un topic, mais je n'ai pas non plus l'habitude d'abandonner en si bon chemin...

    J'ai un peu retourner le problème dans tous les sens, mais je n'arrive pas à isoler le problème

    *mode débutant on*

    mais vous êtes tous passé par la non ?

  11. #31
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    Salut,
    ta requete sql n'est pas en adéquation avec ton code PHP
    Dans ta requete, tu sélectionne deux champs : N.valid et I.up_filename
    donc, quand tu "fetche" le resultat de ta requete, ton tableau news ne contient que deux cases 'valid' et 'up_filename'.
    Or, toi tu essaye d'y piocher 'titre' et 'contenu' qui ne sont pas dedans, puis enfin 'up_filename' qui y est, mais comme tu l'utilise apres la boucle qui parcoure le resultat de la requete, tu ne pourras avoir que le dernier.
    Il faut donc, que tu complète la liste des champs selectionnés dans le SELECT de ta requete sql.

  12. #32
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    ok, je vais regarder,

    mais d'avances quelques questions :

    - Pourquoi dans ma précédente requete
    SELECT * FROM news WHERE valid="1" ORDER BY id DESC LIMIT 0, 10');

    le where valid=1 suffit il ?

    - Dans la sélection des champs, je séparer par virgule ?
    SELECT N.valid="1", N.champ2, N.champ3, I.up_filename, I.champ2, I.champ3 FROM `news`

    merci

  13. #33
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Pour ma question 2,
    c'est ok, c'étais bien par des virgule (ca marche)

    (& je veux quand même bien la réponse à ma question 1)

    mais je n'ai toujours pas l'image,
    pourtant je l'ai bien remise dans mon fetch :/

    Je vais encore chercher, mais si quelqu'un peut me souffler la réponse

    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
    			$lastnews = mysql_query('SELECT N.valid="1", N.titre, N.timestamp, N.contenu, N.user, I.up_filename FROM `news` N, `news_pics` I WHERE I.UP_ID = N.ID ORDER BY id DESC LIMIT 0, 10');
     
    			while ($news = mysql_fetch_array($lastnews))
     
    			{
    		?>
    	<b><?php echo $news['titre']; ?></b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<em class="date">écrit le <?php echo date('d/m à H\hi', $news['timestamp']); ?></em>&nbsp; Par <?php echo $news['user']; ?>
    	<p><?php 
     
    	// retrait des slash & alignement du texte
    		$contenu = nl2br(stripslashes($news['contenu']));
    		echo $contenu;
    	?></p><br />
    		<p><img src="/manage/upload/<?php echo $news['up_filename']; ?>" /></p>
     
    		<?php
    		}
    		?>
    ( ps : pour l'image, le code généré est : -http://www.monsite.be/manage/upload/ )

    donc, ca doit juste être une broutille...

  14. #34
    Him
    Him est déconnecté
    Membre régulier Avatar de Him
    Profil pro
    Inscrit en
    Février 2006
    Messages
    244
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 244
    Points : 112
    Points
    112
    Par défaut
    Ok
    en fet tout fonctionne...

    Sauf que mes champs id n'ont pas la meme valeur

    Quand j'ajoute la news 6,
    il ajoute l'image 1....

    PAS GRAVE !
    Je vais vider les tables, ce n'étaient que des tests

    merci à TOUS

    (ya t'il un moyen de mettre (c'est pas pour maintenant, mais sais on jamais plus tard) ces deux champs en adéquation ?

  15. #35
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2003
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2003
    Messages : 422
    Points : 238
    Points
    238
    Par défaut
    Citation Envoyé par Him
    (ya t'il un moyen de mettre (c'est pas pour maintenant, mais sais on jamais plus tard) ces deux champs en adéquation ?
    Il ne faut pas mettre les 2 en adéquation, mais plutôt lier tes images à une news.

    C'est une jointure classique : tu rajoutes un champs IDNEWS dans la table des images, ainsi chaque image est liée à un IDNEWS et tu peux les retrouver facilement

  16. #36
    Futur Membre du Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 5
    Points
    5
    Par défaut demnde
    jai un probleme au niveau de l'upload dimage il m'affiche l'erreur Warning: Unable to create 'upload/10156293.jpg': No such file or directory in c:\program files\easyphp\www\immo\admin\ajouter_image.php on line 45 lorsque j'execute le script voici mon code pour l'intant je gere pas la partie ajouter du lien dans la base données :
    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
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    <?php 
     
    //------------------------------------- 
     
    //---------------------------- 
    //  DEFINITION DES VARIABLES  
    //---------------------------- 
     
    $target     = '/images';  // Repertoire cible 
    $extension  = 'jpg';      // Extension du fichier sans le . 
    $max_size   = 300000;     // Taille max en octets du fichier 
    $width_max  = 500;        // Largeur max de l'image en pixels 
    $height_max = 500;        // Hauteur max de l'image en pixels 
     
    //--------------------------------------------- 
    //  DEFINITION DES VARIABLES LIEES AU FICHIER 
    //--------------------------------------------- 
     
    $nom_file   = $_FILES['fichier']['name']; 
    $taille     = $_FILES['fichier']['size']; 
    $tmp        = $_FILES['fichier']['tmp_name']; 
     
    //---------------------- 
    //  SCRIPT D'UPLOAD 
    //---------------------- 
    ?> 
    <html> 
        <head> 
            <title>Upload d'une image sur le serveur !</title> 
            <link href="StyleBlue.css" rel="stylesheet" type="text/css">
        </head> 
        <body> 
    <?php 
    if(!empty($_POST['posted'])) { 
        // On vérifie si le champ est rempli 
        if(!empty($_FILES['fichier']['name'])) { 
            // On vérifie l'extension du fichier 
            if(substr($nom_file, -3) == $extension) { 
                // On récupère les dimensions du fichier 
                $infos_img = getimagesize($_FILES['fichier']['tmp_name']); 
     
                // On vérifie les dimensions et taille de l'image 
                if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) { 
                    // Si c'est OK, on teste l'upload 
                    if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) { 
                        // Si upload OK alors on affiche le message de réussite 
                        echo '<b>Image uploadée avec succès !</b>'; 
                        echo '<hr />'; 
                        echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />'; 
                        echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />'; 
                        echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />'; 
                        echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />'; 
                        echo '<hr />'; 
                        echo '<br /><br />'; 
                    } else { 
                        // Sinon on affiche une erreur système 
                        echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />'; 
                    } 
                } else { 
                    // Sinon on affiche une erreur pour les dimensions et taille de l'image 
                    echo '<b>Problème dans les dimensions ou taille de l\'image !</b><br /><br />'; 
                } 
            } else { 
                // Sinon on affiche une erreur pour l'extension 
                echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />'; 
            } 
        } else { 
            // Sinon on affiche une erreur pour le champ vide 
            echo '<b>Le champ du formulaire est vide !</b><br /><br />'; 
        } 
    } 
    ?>        <form enctype="multipart/form-data" action="<?php echo $PHP_SELF; ?>" method="POST"> 
                <b>Envoyer le fichier :</b><br /><br /> 
                <input type="hidden" name="posted" value="1" /> 
                <input name="fichier" type="file" /> 
                <input type="submit" value="Uploader" /> 
            </form> 
        </body> 
    </html>

  17. #37
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2006
    Messages : 216
    Points : 159
    Points
    159
    Par défaut
    Ton dossier "/images" existe-t-il ?
    Ah et aussi, tu peux dire OU est la ligne 45 dans ce script ?

  18. #38
    Membre éclairé Avatar de Hervé Saladin
    Homme Profil pro
    Ingénieur d'études en développement et déploiement d'applications
    Inscrit en
    Décembre 2004
    Messages
    647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur d'études en développement et déploiement d'applications
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 647
    Points : 799
    Points
    799
    Par défaut
    jponline : 1ere ment merci d'utiliser la balise [CODE], 2e ment, si tu as une question à poser, merci de créer un nouveau sujet, ne la pose pas à la suite du sujet d'un autre.
    Visiblement, tu n'as pas lu les règles du forum .... ça te vaudra 5 coups de

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [VB6] inserer des images dans picturebox et sauvegarder BMP
    Par todac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 04/05/2007, 14h25
  2. insérer des images dans MySQL avec PHPMyAdmin
    Par intik dans le forum Outils
    Réponses: 1
    Dernier message: 29/08/2006, 09h59
  3. [Upload] Supprimer des images
    Par kevinf dans le forum Langage
    Réponses: 23
    Dernier message: 17/06/2006, 16h28
  4. [Upload] Renommer des images à la volée
    Par Darth Lord dans le forum Langage
    Réponses: 6
    Dernier message: 14/06/2006, 14h13
  5. inserer des images dans une base de données
    Par alilou04 dans le forum Bases de données
    Réponses: 2
    Dernier message: 28/06/2004, 18h54

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