8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,

Me revoila avec une toute petite question dont je trouve pas la réponse.

J'ai une belle base de donnée avec plein de magnifique information de dans. Tout marche magnifiquement bien, SAUF lorsque je veux par exemple mettre une image dans ma base de donnée avec un chemin relatif fonctionnant grâce à une variable $chemin.
Vous m'avez suivi?

En faite dans ma base de donnée j'ai par exemple <img src"<?php echo $chemin?>/blog/image.jpg />
Le problème c'est que comme c'est contenu dans ma base de donnée et bein ma variable ne fonctionne pas.

D'un côté ça me semble logique et d'un autre je vois pas comment résoudre mon problème et j'ai pas du tout trouvé de sujet à ce sujet sur google mon ami. J'espère que vous allez pouvoir m'aider.

Merci d'avance.

Dim

EDIT : J'ai quand même une petite question simplet. Pourquoi si on met une variable (la variable pas son contenu) dans une base cela ne marche pas? La question est vraiment idiote je présume mais bon, pour connaître la réponse il faut bien la poser. Smiley confused
Modifié par Dim (17 Feb 2010 - 10:15)
Salut,

pas sûr d'avoir compris mais à tout hasard : est-ce que tu essaies de sauvegarder '$chemin' au lieu de sauvegarder la valeur de $chemin ? Smiley rolleyes
Heyoan tu as compris ^^
Je veux pas stocker la valeur de la variable mais bien $chemin.
Est-ce possible de stocker une variable (pas sa valeur) dans une bdd?
Alors :

1) quel est l'intérêt ?

2) quel est le problème en supposant que tu y vois un intérêt ?
Bein l'intérêt c'est d'avoir l'adresse d'une image en relatif. Comme ça si je change de nom de site web et bein j'aurais pas besoin de changer toute ma base de donnée pour avoir mes belles images.
Et l'autre intérêt c'est que si je fais ma requête sur une page d'un certain niveau, le chemin n'est pas le même que si je fais la requête sur une page d'un autre niveau. Je me fait comprendre ou j'ai du mal?
Peut être qu'il y a un autre moyen?

Du coup mon problème c'est que ma variable ne s'affiche pas. Avant la requête si je fait un echo ca fonctionne mais du moment que mon echo est dans ma base la variable et/ou l'echo ne fonctionne pas. Du coup si je fait un basique <?php echo $chemin;?> dans ma base, à l'afichage cela n'affiche pas la valeur de la variable. Je vois pas d'où ça viens.

Merci de me répondre si vite.


EDIT :
Cela viens peut être de ma manière de traiter mes données mais je vois pas en quoi mysql_query ou mysql_fetch_array pose un problème à ma variable. J'avoue mes faibles connaissance en php Smiley sweatdrop
Modifié par Dim (16 Feb 2010 - 13:03)
Dim a écrit :
Bein l'intérêt c'est d'avoir l'adresse d'une image en relatif. Comme ça si je change de nom de site web et bein j'aurais pas besoin de changer toute ma base de donnée pour avoir mes belles images.
Sauf que si c'est un chemin relatif il n'y a aucune raison d'avoir le nom du site dans $chemin. Smiley cligne

Quoi qu'il en soit tu pourrais (par exemple) faire comme ça :
$chemin = 'repertoire1/repertoire2';
$img = '<img src"{CHEMIN}/blog/image.jpg" alt="mon image" />'; // valeur stockée en BDD
echo str_replace('{CHEMIN}', $chemin, $img);


Edit: cela dit s'il s'agit toujours du chemin vers tes images ce serait bien plus logique de faire :
$chemin = 'repertoire1/repertoire2/';
$url_img = 'blog/image.jpg'; // valeur stockée en BDD
$alt_img = 'mon image'; // valeur stockée en BDD
echo '<img src"'.$chemin.$url_img.'" alt="'.$alt_img.'" />';

Modifié par Heyoan (16 Feb 2010 - 13:26)
Merci Heyoan,

Alors
1. Si j'écris le chemine en relatif c'est justement pour pas utiliser le nom de mon site ^^. Je me suis mal exprimé dans ma petite phrase Smiley sweatdrop

2. Ca me semble proche de ce que je cherche mais je vois pas pourquoi tu stock le chemin de l'image dans une variable $img? Faut que je regarde du côté str_replace je vais probablement trouvé ma réponse.

3. J'avais pensé à cette solution mais cela suppose d'avoir une table juste pour les images, non? Dans mon cas les images sont en plein milieu d'un texte par exemple. Donc ça ne marche pas.

4. Désolé d'avoir répondu si tardivement mais mon lit m'attendait.
5. Je regarde pour mettre en place et comprendre ta première proposition et je reviens d'ici la fin de ma journée.

Merci beaucoup.

PS : Comment ferais tu, si tu devais intégrer une image en milieu de texte dans une bdd? Car même si j'ai pas l'impression de me compliquer la vie, j'ai le sentiment que je fais pas dans les "conventions".
Dim a écrit :
J'avais pensé à cette solution mais cela suppose d'avoir une table juste pour les images, non? Dans mon cas les images sont en plein milieu d'un texte par exemple.
Alors la technique {CHEMIN} + str_replace est sans doute la meilleure.
Bien le bonjour,

Alors j'ai fait un peu de lecture sur le net sur ce qu'est str_replace et j'ai tout compris Smiley biggrin
Et donc si j'ai tout bien compris (car j'ai pas encore essayé) dans mon cas je dois plutôt remplacer le $img que tu me proposais Heyoan par un $contenuArticle en quelque sorte.
Je vais me mettre à la tache tout de suite et des que ça marche je change le titre du sujet en résolu. Smiley smile

Merci Heyoan pour ton aide encore une fois ^^
Dim a écrit :
je dois plutôt remplacer le $img que tu me proposais Heyoan par un $contenuArticle en quelque sorte.
Tout juste ! Smiley smile
Dim a écrit :
Comment ne pas avoir tout juste avec un maître comme toi
hi hi hi Smiley err

j'avais oublié que tu aimais bien flatter mon ego ! Smiley lol