Portfolio grace au php

Eléphanteau du PHP | 29 Messages

04 mai 2006, 23:21

Bon ben je dois un peu tout mélanger parce que mon code ça donne ça:
</head>

<?
$host="sql.free.fr";
$user="";
$pass="";
$base="";
$connection=mysql_connect($host,$user,$pass) or die(mysql_error());
$bdd=mysql_selectdb($base) or die(mysql_error());
?>


<body>

<?php
$sql = "SELECT id,chemin FROM couleurs " . $table;
$res = mysql_query($sql);

  while($donnes = mysql_fetch_assoc($res)){

echo "<a href=\"zoom.php?image=".$donnes['id']."\"><img src=\".$donnes['chemin'];.""></a>";
}
?>
<a href='zoom.php?image=<?php echo $donnes['id']; ?>><img src='<?php echo $donnes['chemin']; ?>'></a>

</body>
Et le résultat c'est ça:
Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /var/www/sdc/e/f/coeur.de.canard/essai.php on line 26

Mammouth du PHP | 19672 Messages

04 mai 2006, 23:44

l'erreur est ici:
echo "<a href=\"zoom.php?image=".$donnes['id']."\"><img src=\".$donnes['chemin'];.""></a>";
ça devrait être :
echo "<a href=\"zoom.php?image=".$donnes['id']."\"><img src=\"". $donnes['chemin'] ."\"></a>";
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 29 Messages

05 mai 2006, 14:07

:D FormidaAable!
Ca marche!
Bon maintenant je vois ce qui me plait et ne me plait pas dans ce système.
Je vais donc plutôt insérer les miniatures directement en html mais mettre un lien en php pour que l'image apparaisse en gros au dessus d'elles en rechargeant la page.
Je suppose qu'il faut que j'écrive un echo... à l'endroit où je veux que les images s'affichent en grand, qui contiendrait une variable indiquant leur emplacement en allant chercher ce dernier dans la base...
J'ai bon? :?
Allez, au boulot.

Mammouth du PHP | 1353 Messages

05 mai 2006, 15:33

Je vais donc plutôt insérer les miniatures directement en html mais mettre un lien en php pour que l'image apparaisse en gros au dessus d'elles en rechargeant la page.
Je suis pas sur de comprendre : tu veux que quand l utilisateur clique sur une miniature cela recharge la page avec les miniatures et l'image sur laquelle il a cliqué en grand ? Si c'est cela je te suggère de passer le chemin de ton image dans l'URL lorsqu'il clique sur une image et d'analyser cette valeur que tu récupère avec un $_GET... je pourrais m etendre un peu sur le sujet mais je suis pas sur que c est ce que tu veux...

Eléphanteau du PHP | 29 Messages

08 mai 2006, 17:20

C'est exactement ça!
MAis bon je rentre à peine là et je me suis découragé après trois essais donc je remets ça à demain! :wink:

Eléphanteau du PHP | 29 Messages

09 mai 2006, 21:36

passer le chemin de ton image dans l'URL lorsqu'il clique sur une image et d'analyser cette valeur que tu récupère avec un $_GET...
Ca voudrait dire que je laisse tomber l'affichage des miniatures en php alors? Ca devrait être plus simple.
Par contre j'ai du mal à comprendre cette histoire de récupérer les valeurs...

Mammouth du PHP | 1353 Messages

10 mai 2006, 09:21

Non tu ne laisse pas tomber les miniatures, tu fais sur chaque image miniature un lien :
<a href=<?php echo $_SERVER["PHP_SELF"];?>?img="<?php echo $numero_image;?>"><img scr=...></a>
Dans cette exemple lorsque tu cliques sur la miniature de ton image cela va rappeler la meme page en lui passant comme parametre img égal à ce que tu veux.

Ainsi en haut de ta page tu peux faire un
if(isset($_GET['img'])) {
 //alors afficher la grande image
}
//code de ta page de miniatures
Donc tu réaffiches ta page de miniatures mais avec l image sur laquelle il a cliqué en grand... Dis moi si ca n est pas clair...

Eléphanteau du PHP | 29 Messages

10 mai 2006, 20:40

Ah si, pour être clair c'est clair. Mais c'est juste que ça fait appel à des termes que je n'ai pas encore rencontré.
Ca veut dire qu'il faut que j'appelle de nouvelles variable non?
Celle là: $numero_image
Et PHP_SELF, c'est quoi ça?

Mammouth du PHP | 19672 Messages

10 mai 2006, 20:42

la variable $_SERVER["PHP_SELF"] correspond à l'url de la page en cours, c'est une variable d'environnement. Très ratique si tu décides de renommer tes fichiers pour une raison quelconque, tu n'auras pas à modifier la valeur de ton attribut action. Mais attention, les paramètres de l'url ne seront pas reproduits, il faut donc la ajouter en plus comme te l'a montré guilt92.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 29 Messages

10 mai 2006, 20:45

:lol: Pu***! Alors c'est après ce truc que je cours depuis des jours et des jours?!! Merci!

Mammouth du PHP | 19672 Messages

10 mai 2006, 21:20

Tu devrais explorer le phpinfo, c'est plein d'enseignement ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 29 Messages

11 mai 2006, 20:10

J'explore j'explore mais j'ai du mal à adapter ce que je trouve à mes petits problèmes, au mieux ça me familiarise avec la syntaxe, au pire ça m'embrouille. DOnc je m'accroche à mon petit tp perso comme une moule à son stri... heu, rocher. Oui, rocher.

Bref, en parlant de syntaxe ya un truc que je ne pige pas et qui expliquerait que ça ne s'affiche pas comme je veux.

Dans ce bout de code:
<a href=<?php echo $_SERVER["PHP_SELF"];?>?img="<?php echo $numero_image;?>"><img scr=...></a>
A part la source de l'image en html ya rien à modifier je me gourre?
Il n'y a qu'à créer une variable $numero_image qui dirait dans quelle table et quelle colonne se trouve l'adresse de l'image en lien.
J'ai bon?
Ce que je ne pige pas c'est que puisqu'on tape cette ligne pour chaque miniature, il faut bien y indiquer le numéro de l'image quelque part non?

Sinon je voulais savoir s'il ne valait pas mieux faire un echo de la ligne avec $_GET?

Mammouth du PHP | 19672 Messages

11 mai 2006, 20:19

Déjà, ce bout de code est faux, ça devrait être :
<a href="<?php echo $_SERVER['PHP_SELF'];?>?img=<?php echo $numero_image;?>"><img scr=...></a>
La place des guillemets entourant l'uri... et non seulement la valeur d'un paramètre qui doit être mis sans guillemets ni apostrophes.

Pour le reste, je n'ai pas compris grand chose. Essaye de reformuler : je dis souvent ici "un problème bien posé est aux 3/4 résolu".
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphanteau du PHP | 29 Messages

11 mai 2006, 20:57

Bon alors je vais simplifier.
Puisqu'on a dans cette ligne de code une variable $numero_image, il faut bien dire à quoi cette variable correspond quelque part.

Mammouth du PHP | 19672 Messages

11 mai 2006, 23:55

oui, c'est juste, continue ton raisonnement... :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: