Mettre des liens d'image dans 1 table

txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   -  
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je pense que tout est dans le titre.
Je prépare une table sur les villes. Chacune d'elle aura un blason (toto.svg) qui sera stocké euh... disons dans un dossier quelque part sur le site (Free).
De quel type doit etre le champ y faisant référence et surtout que dois-y mettre dedans ?
PS: je ne veux pas de champ BLOB (pas d'image dans la table quoi !).

Merci d'avance !
A voir également:

7 réponses

Alain_42 Messages postés 5413 Statut Membre 894
 
Bonjour,

tu mets un champ type VARCHAR (200)

dedans tu y mets le chemin vers ta photo (chemin relatif)

ex:

si tu as des photos dans des dossiers differents
photos_mer
photos_montagne

tu mets dans ta table

photos_mer/toto.jpg

etc..

et ensuite dans le script ou la page qui va l'utiliser tu créera ton lien en complétant le chemin relatif par rapport à ta page

<a href="complement_chemin/photos_mer/toto.jpg">toto</a>
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Salut Alain_42 et merci,

<a href="complement_chemin/photos_mer/toto.jpg">toto</a>

Ca ne serait pas plus simple d'utiliser une variable ? exemple: $blason
Le champ blason contenant: Mon_Dossier_Blasons/blason.jpg

<a href="<php echo $Ville['Ville'], $Blason['Blason'];?>">Ville 1</a>
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Salut,

echo $Ville['Ville'], $Blason['Blason'];

je n'utilise pas cette syntaxe pour echo, il vaut mieux concaténer avec des .

concernant ta question, tu veux dire un array pour faire correspondre un fichier blason avec son nom de ville sans utiliser la BDD

//memo dans un array
$array_villes_blasons=array("Marseille"=>"ton_rep/marseille.jpeg","Lyon"=>"ton_rep/lyon.jpeg");//la tu en mets autant que tu veux

//liens

foreach($array_villes_blasons as=$cle=>$value){

echo '<a href="'.$value.'">'.$cle.'</a><br />';

}
0
toto > Alain_42 Messages postés 5413 Statut Membre
 

echo $Ville['Ville'], $Blason['Blason'];
je n'utilise pas cette syntaxe pour echo, il vaut mieux concaténer avec des .

Non, il ne vaut pas mieux concaténer avec des . ça provoque la création d'une chaîne intermédiaire (résultat de la concaténation) qui ne sert **strictement** à rien mais consomme des ressources. Il vaut théoriquement toujours mieux utiliser la virgule que le point dans les 'echo'. La différence est probablement très minime, d'ailleurs, mais certainement en faveur de la virgule.

C'est quand même dommage de décourager les bonnes habitudes pour essayer d'inciter les gens à en prendre des mauvaises !
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Excuse moi pour ce retard (réunion),

La colonne Ville sera un texte en fait. Une description à laquelle on affichera son blason associé.
| id | Ville | Province | Habitants | Population | Blason |

Seul la colonne blason serait un lien pour afficher l'image stockée quelque part dans un dossier du site. C'est ce point préci que je ne pige pas très bien. La manière dont je dois écrire le chemin mais je vais essayer comme tu me le dit plus.

Merci encore !

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Bonsoir à tous !

toto: Donc ma première syntaxe était la bonne !

<a href="<php echo $Ville['Ville'], $Blason['Blason'];?>">Ville 1</a>
(avec autant de variables qu'il y a de champs bien sur)

Alain_42: Nom, je vais me servir d'une bdd contenant les villes, provinces, population, nom des habitants et blason.
En fait, le seul truc qui me tracasse c'est le type de champ pour le blason, je pense à un varchar dans lequel je mettrai /Mon_Dossier/Mon_Blason.svg mais est-ce que cela suffira-t-il ? (le premier slash étant pour indiquer que le dossier se trouve à la racine).

Bon, de toutes façons, je ferais un test, on verra bien !

Mais d'abord je termine les prénoms.
A au fait, j'avais parlé d'un dysfonctionnement sous IE mais c'est parceque j'utilisais la touche Enter mais si on clique sur le bouton OK, ça fonctionne!

http://txiki.free.fr/index.php?page=Intro_Prenoms&lang=Fr (seconde ligne, chercher l'équivalent)

Le Pb, c'est que je n'arrive pas a donner le focus au champ de recherche sans utiliser de javascript (il faut cliquer pour pouvoir écrire). Mais bon, s'il faut du javascript.....

Merci encore les gars !

Le bonheur est la seule chose que l'on peut donner sans l'avoir.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
toto
 
Donc ma première syntaxe était la bonne Elle était syntaxiquement correcte et le résultat obtenu est le même que si tu avais utilisé un point à la place de la virgule.
Est-ce que ça correspond à ce dont tu as vraiment besoin, pas possible de le dire dans savoir ce que représentent tes variables.
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Merci toto,
Les variables sont des textes, mais aussi des chiffres (nombres avec virgules. Et là, je cherche le bon type pour ces champs.
Décimal et float ne vont pas (ex: 10,56) "Km2" seulement le nombre, me retourne une erreur sql dans Myadmin. Idem pour les le nombre d'habitants: je ne peux pas utiliser de séparateurs (espaces) pour séparer les milliers mais bon, ça encore....

je vais au dodo !
0
toto
 
Les variables sont des textes, mais aussi des chiffres je ne parlais que de $Ville['Ville'] et $Blason['Blason'] qui interviennent dans le echo.
Sinon, que 10,56 ne marche pas, c'est normal, il faut utiliser le . comme séparateur décimal : 10.56. Note que tu peux très bien laisser les gens entrer des nombres avec de virgules au lieu de points, et des espaces pour séparer les milliers. C'est très facile de remettre ça en forme dans ton script.
0
txiki Messages postés 6819 Date d'inscription   Statut Contributeur Dernière intervention   524
 
Salut toto,
Ca y est ! c'est réglé pour les décimales. En fait j'avais pas compris qu'il fallait 6,2 (dans mon cas) comme valeur par défaut puis écrire effectivement avec un point.
Les gens n'ont rien a rentrer. C'est un table d'info sur les villes comme les prénoms.
Bon je vais me coucher, rentré à minuit passé et demain autre journée de ouf ! Le feu !
0