Afficher une images cliquable

Eléphant du PHP | 104 Messages

18 déc. 2005, 04:20

Bonsoir,

J'essaie de faire une image cliquable avec cette ligne
<? echo '<a href="page.php?id=' .  $donnees['id'] . '"> <img height="62" src="test/1.jpg" width="110" /> ' . $donnees['titre'] . '</a>' ?>
Mais pour chaque ligne, j'ai beson de faire afficher une image différente de chaque. et j'ai essayer cette ligne pour faire afficher chaque image de l'entrée
<? echo '<a href="page.php?id=' .  $donnees['id'] . '"> <img height="62" src=' <? echo $donnees['image']; ?> ' width="110" /> ' . $donnees['titre'] . '</a>' ?>
Mais avec cette ligne j'ai cette erreur.
Parse error: parse error in c:\documents and settings\jason\mes documents\site\vaisseaux_sg1.php on line 59
et en même temps, j'aimerai savoir si il est possible avec un code de faire afficher le tout en deux colonnes ?

Merci d'avance!

Mammouth du PHP | 1776 Messages

18 déc. 2005, 04:32

<? echo '<a href="page.php?id=' .  $donnees['id'] . '"> <img height="62" src=' <? echo $donnees['image']; ?> ' width="110" /> ' . $donnees['titre'] . '</a>' ?>
Tu inclus du php...dans du php :?
Sinon, où est ton soucis pour les colones ? A vrai dire je ne comprends pas tout à ta demande...
Tu peux expliquer plus clairement en fournissant TOUT le fichier php ainsi que ta question ?

ViPHP
ViPHP | 649 Messages

18 déc. 2005, 05:18

Exactement, ProGraFlash a tout à fait raison, on n'inclut pas du php dans du php, c'est inutile et en plus, t'as vu ce que ça donne??(Parse error).

Ça doit être une erreur toute bête de ta part parce que je vois bien que tu es capable de concatoner. Le code corrigé:
<?php5
 echo '<a href="page.php?id=' .  $donnees['id'] . '"> <img height="62" src=' . $donnees['image'] . ' width="110" /> ' . $donnees['titre'] . '</a>' ;

//Sans oublier le point-virgule, il est primordial!! et tu l'avais pas mis...
?>
Essaie ça :wink:
Image

Mammouth du PHP | 1776 Messages

18 déc. 2005, 05:20

Exactement, ProGraFlash a tout à fait raison,
après me mettre un rang d'éléphant, on écorche mon pseudo :lol:
je suis une vache folle, et mon groupe de développement s'appelle PRoGRaFLaSH

Prends ça un peu comme du varchar>attribut binary ==> je suis sensible à la casse :D :P :lol:

ViPHP
ViPHP | 649 Messages

18 déc. 2005, 05:23

Ouais, mais c'est pas évident à retenir sans retourner voir deux fois ce pseudo... :P
Image

Mammouth du PHP | 1776 Messages

18 déc. 2005, 05:29

Ouais, mais c'est pas évident à retenir sans retourner voir deux fois ce pseudo... :P
Simple:
- soit tu prends en compte que les consonnes sont majuscules et les voyelles minuscules
- soit tu prends en compte que le pseudo est graphiquement equilibré (symétrie)
- soit tu retiens que 2 lettres sur trois sont majuscules

:lol:
Autant dire que pour créer ce pseudo j'ai assez ramé :roll:
Réunir à peu près toutes ces conditions, c'était hot :P
EDIT : je pense qu'il a bcp plus été réflechi que pour le logo ANPE :lol:

Eléphant du PHP | 104 Messages

18 déc. 2005, 06:03

@alexbad: merci avec ta ligne après quelque essaie sa marche très bien merci :wink:

@PRoGRaFLaSH: maintenant je le sais pour le php, la ligne seul marchais alors je me suis pas trop posser de question... je vais y pensé la prochaine fois lol

Sinon mon histoire de colone je m'explique, avec mes photo afficher et le nombre de ligne sa va faire pas mal long... exemple

Exemple
Exemple
Exemple
Exemple
....

Alors j'aimerais savoir si il est possible de faire 2 colones sois

Exemple Exemple
Exemple Exemple
Exemple Exemple
Exemple Exemple
.... ....

Pour que utiliser tout la largeur et pour que la page sois réduit de moitié en longeur...

j'espère que je me suis bien expliquer cette fois :?

Mammouth du PHP | 19672 Messages

18 déc. 2005, 12:06

Ton code est-il sous la forme d'un tableau html ou bien tu ajoutes un retour chariot (<br>) après chaque lien ?

La piste de départ, c'est le modulo sur la base de
<?php
//...
$i = 0;
while($condition = $valeur)
{
    $retour_chariot = (($i != 0) && ($i % 2 == 0)) ? "<br />" : "";
    echo("<a href=\"tonlien.php\">exemple</a>". $retour);
    $i++;
}
//...
?>
Ce que ça va donner, c'est que le pointeur $i s'incrément à chaque tour. En début de boucle, on teste si $i est un multiple de 2 et dans ce cas, on ajoutera un retour chariot en fin de ligne, sinon rien.

Le même principe peut être utilisé pour créer un tableau html à plusieurs colonnes.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 104 Messages

18 déc. 2005, 13:29

@Cyrano: est-ce qu'on peut mettre une boucle dans une boucle ??

Parce que j'utilise déjà une boucle et une condition pour afficher...
while ($donnees = mysql_fetch_array($reponse) )
{

     if ($donnees['type'] > $type*100 AND $donnees['type'] < ($type+1) * 100)
    {
    ?>
	
		<div ><?php echo '<a href="page.php?id=' .  $donnees['id'] . '"> <img width="110" height="62" border="0" src=' . $donnees['image'] . '> </a>' ; ?>
		<? echo $donnees['titre'];  ?> </div>
		<br/>
		
		
    <?
    }

}

Mammouth du PHP | 19672 Messages

18 déc. 2005, 13:37

Absolument, mais il faut être prudent puisque les tours de boucles se multiplient : si la boucle racine fait 50 tours et que la boucle imbriquée fait elle-même 50 tours, il se fera un total de 2500 tours de la boucle imbriquée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 104 Messages

18 déc. 2005, 14:39

oki, mais quand tu parle d'être prudent c'est pour bien codé ma boucle ou qu'il aille pas trop d'entré ??

Edit: les variable dans la boucle c'était tu des exemple et il faut que je le change ?

ViPHP
ViPHP | 649 Messages

18 déc. 2005, 15:48

Selon moi quand il parle d'être prudent, c'est pas nécessairement de limiter les entrées et bien coder une boucle, il faut toujours le faire. Seulement, il serait étonnant que tu aies à répéter une boucle 2500 fois. Et, si tu avais à le faire, il faudrait y penser deux fois avant parce que, ça peut prendre plusieurs minutes à charger pour certains et pour d'autres, ça déclenche un méga-folie parce que ça fait planter le navigateur. Mais tu as vraiment ce genre de boucle à faire?
Image

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 déc. 2005, 16:14

me semble que tu n'auras pas besoin de faire 2 boucles, si j'ai bien suivis la boucle de Cyrano:
while($condition = $valeur) 
correspond a la tienne:
while ($donnees = mysql_fetch_array($reponse) )
il te suffit donc d'adapter les 3 lignes de codes a l'interieur de ton test if.

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Eléphant du PHP | 104 Messages

18 déc. 2005, 16:27

@alexbad: non c'est clair que j'ai pas besoin de 2500 entré lol

@Truc: oki je vais essayer ça, merci :wink:


Edit:

J'ai changer quelque truc dans la ligne pour sortir ça
<?
		$retour_chariot = (($i != 0) && ($i % 2 == 0)) ? "<br />" : "";
		echo('<a href="ship_sg1.php?id=' .  $donnees['id'] . '"><img width="110" height="62" border="0" src=' . $donnees['image'] . '>' . $donnees['titre'] . '</a>'. $retour_chariot);
		$i++; 
		?>
Mais des fois sur la même ligne il a 3 entré d'autre 2 et des fois a chaque ligne sa décalle vers la droite a chaque entré.

Et il y a tu un moyen de faire alligné le deux colones comme je veux ? avec une bonne align ou autre ??

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

18 déc. 2005, 17:23

as tu bien initialisé la variable en dehors de la boucle ?
$i = 0;

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute