Affichage images

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 14:38

Bonjour,

J'ai deux TABLES dans la même base dans la TABLE 1 est stocker le nom de l'image et dans la TABLE 2 le chemin.
Comment faire pour Afficher l'image ?

J'ai suivi les conseils de ZEUS dans un autre poste et créer une jointure en mes TABLES.

Voici mes TABLES

CREATE TABLE `annonce` (
`id_annonce` int(11) NOT NULL auto_increment,
`id_directory` int(16) NOT NULL,
`type` varchar(30) NOT NULL,
`prix` decimal(10,2) NOT NULL,
`codepostal` decimal(5,0) NOT NULL,
`nb_chambre` decimal(2,0) NOT NULL,
`nb_garage` decimal(2,0) NOT NULL,
`nb_file` int(1) NOT NULL,
PRIMARY KEY (`id_annonce`),
KEY `id_directory` (`id_directory`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


CREATE TABLE `directory` (
`id_directory` int(11) NOT NULL auto_increment,
`name` varchar(75) NOT NULL, <---- Chemin Images
PRIMARY KEY (`id_directory`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


CREATE TABLE `file` (
`id_file` int(11) NOT NULL auto_increment,
`id_directory` int(16) NOT NULL,
`name` varchar(75) NOT NULL, <----Nom de l'image
PRIMARY KEY (`id_file`),
KEY `file_id_directory` (`id_directory`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

ALTER TABLE `annonce`
ADD CONSTRAINT `annonce_id_directory` FOREIGN KEY (`id_directory`) REFERENCES `directory` (`id_directory`);

--
-- Contraintes pour la table `file`
--
ALTER TABLE `file`
ADD CONSTRAINT `file_id_directory` FOREIGN KEY (`id_directory`) REFERENCES `directory` (`id_directory`);
D'avance merci :wink:
Modifié en dernier par dunbar le 28 nov. 2006, 14:58, modifié 1 fois.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 1776 Messages

28 nov. 2006, 14:43

Comme d'habitude, tu sors les valeurs de ta requête et tu les concatène afin d'avoir le chemin souhaité :wink:

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 14:59

Comme d'habitude, tu sors les valeurs de ta requête et tu les concatène afin d'avoir le chemin souhaité :wink:
Oui je sais (je comprend pas pourquoi j'y avais pas penser).

J'imagine bien, mais je ne sais apas comment m'y prendre.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 nov. 2006, 15:02

et ...

Est-ce que celà signifie que le problème est résolu ou pas ?

Est-ce que tu as tout compris ou est-ce que tu voudrais une aide quelquonque ?

EDIT ---
Excuse, tu as du éditer ton post pendant que je l'écrivais.

Donc, reprennons. Dans ta base, tu as le chemin de l'image. Suite au précédent post, tu as du réussir à récupérer ce chemin.

Pour afficher les images, il te suffit d'écrire la balise <img> pour laquelle le src contiendra le chemin que tu as extrait de la base ...
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 15:09

et ...

Est-ce que celà signifie que le problème est résolu ou pas ?

Est-ce que tu as tout compris ou est-ce que tu voudrais une aide quelquonque ?

EDIT ---
Excuse, tu as du éditer ton post pendant que je l'écrivais.

Donc, reprennons. Dans ta base, tu as le chemin de l'image. Suite au précédent post, tu as du réussir à récupérer ce chemin.

Pour afficher les images, il te suffit d'écrire la balise <img> pour laquelle le src contiendra le chemin que tu as extrait de la base ...
Oui j'ai déjà suivi ta logique
echo "<img src='".$img."' style='width:".$largeur."px;height:".$hauteur."px' alt='".$legende."' />";
Et j'ai créer une $variable --> $img.
Mais je ne trouve pas comment associer à cette variale deux différent champs de ma base :?:
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Mammouth du PHP | 1776 Messages

28 nov. 2006, 15:26

[...] tu sors les valeurs de ta requête et tu les concatène afin d'avoir le chemin souhaité :wink:
Quel est ton problème dans ce qui reste à faire ? Executer la requête ? concaténer ?

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 15:34

[...] tu sors les valeurs de ta requête et tu les concatène afin d'avoir le chemin souhaité :wink:
Quel est ton problème dans ce qui reste à faire ? Executer la requête ? concaténer ?
Je dois récupéré deux champs (nom et chemin) et je ne sais pas comment faire correspondre la valeur de ma variable aux deux champs de ma table

$img = champs1+champ2
ou du style
$img = file['name']+directory['name'];

Simplement
Enfin ci effectivement c'est bien la bonne méthode ?
Modifié en dernier par dunbar le 28 nov. 2006, 15:35, modifié 1 fois.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 nov. 2006, 15:34

1/ que signifie pour toi cette écriture "$variable --> $img"

2/ Dans ce code
echo "<img src='".$img."' style='width:".$largeur."px;height:".$hauteur."px' alt='".$legende."' />"
Qu'est ce qui ne te convient pas ?
Tu voudrais afficher le nom de l'image ? pourquoi ne pas créer une variable $nom qui le contiendrais ?

EDIT --
Je viens de lire la réponse du dessus.

Effectivement, pour que la variable $img contienne le chemin et le nom, il faut concaténer les 2. En PHP, c'est le point (.) pas le plus (+) qui te le permet.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 1776 Messages

28 nov. 2006, 15:39

Je dois récupéré deux champs (nom et chemin) et je ne sais pas comment faire correspondre la valeur de ma variable aux deux champs de ma table

$img = champs1+champ2
ou du style
$img = file['name']+directory['name'];

Simplement
Enfin ci effectivement c'est bien la bonne méthode ?
Le + c'est en javascript, le . est son équivalent php
voir => http://www.commentcamarche.net/php/phpop.php3

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 15:42

Je dois récupéré deux champs (nom et chemin) et je ne sais pas comment faire correspondre la valeur de ma variable aux deux champs de ma table

$img = champs1+champ2
ou du style
$img = file['name']+directory['name'];

Simplement
Enfin ci effectivement c'est bien la bonne méthode ?
Le + c'est en javascript, le . est son équivalent php
voir => http://www.commentcamarche.net/php/phpop.php3
ou je sais j'avais mis + pour l'exemple.
Ok je cherche alors.
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 16:00

1/ que signifie pour toi cette écriture "$variable --> $img"

2/ Dans ce code
echo "<img src='".$img."' style='width:".$largeur."px;height:".$hauteur."px' alt='".$legende."' />"
Qu'est ce qui ne te convient pas ?
Tu voudrais afficher le nom de l'image ? pourquoi ne pas créer une variable $nom qui le contiendrais ?

EDIT --
Je viens de lire la réponse du dessus.

Effectivement, pour que la variable $img contienne le chemin et le nom, il faut concaténer les 2. En PHP, c'est le point (.) pas le plus (+) qui te le permet.
Voilà j'esaye cette manière mais elle n'es pas correct
$img = ['file.name'][directory.name];
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 nov. 2006, 16:01

S'il te plait, arrete de citer le post du dessus. Non seulement c'est inutile puisqu'il est au dessus mais en plus ça prend une place par possible pour ne rien apporter à ta réponse ... ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

28 nov. 2006, 16:03

Peut tu m'expliquer pourquoi tu es passé de cette écriture
$img = file['name']+directory['name']; 
a celle là
$img = ['file.name'][directory.name];
Il me semble que nous n'avons parlé que de + et de . ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 1776 Messages

28 nov. 2006, 16:03

Voilà j'esaye cette manière mais elle n'es pas correct
$img = ['file.name'][directory.name];
Dna sun message précédent tu donnes $img = file['name']+directory['name'];

Pourquoi ça se transforme en une structure différente en cours de route ? Et si tu remplacait totu simplement les + par les . sans rien tocuher d'autre ?...

ViPHP
ViPHP | 2291 Messages

28 nov. 2006, 16:10

$img = file['name'].directory['name'];
me donne comme erreur
Parse error: parse error, unexpected '[' in E:\wamp\www\mabrique\immo\include\new.php on line 12
ImageCe que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.