Problème pour modifier une fonction

Problème pour modifier une fonction - PHP - Programmation

Marsh Posté le 12-03-2013 à 01:02:50    

Bonjour à tous,  
 
 
Mon codeur n'ayant plus beaucoup de temps à m'accorder je me tourne vers d'autres spécialistes.  
J'espère que vous pourrez me venir en aider car je viens d'y passer la soirée entière.  
 
Voici mon petit problème :  
Actuellement, lorsque je suis sur la première page, j'ai une fonction qui me permet d'accéder soit au premier lien correspondant soit au second lien.  
Quand je vais sur la "deuxième page" disons, deuxième lien relié à la fonction (que j'ai sous le nom de id==2 pour le moment dans le reste du codeur de mon ancien programmateur) : j'ai deux autres liens différents correspondant.  
 
J'aimerais ajouter une id==3 (donc ce que j'appelle moi, en tant que néophyte dans le monde de la programmation, une autre page web) et avoir deux autres liens correspondant qui sont différents de ceux précédemment utilisés.  
 
Pour plus de visibilité, j'ai volontairement supprimé les vrais liens.  
 
J'ai beau tourner et retourner le problème dans tous les sens, je ne suis pas faite pour l'informatique ! Je suis donc contrainte de m'en référer à vous  :ange:  
 

Citation :

function displayBook($id) {
 echo '
  <div id="bookimgsell">'.displayLargePict($id).'
 if ($id == 1)
  echo '<a href="http:lien1pourlid1">Lien 1 pour page 1</a> <br/>';
 else
  echo '<a href="http://lien1pourli2">Lien 1 pour page 2</a> <br/>';
 if ($id == 1)
  echo '<a href="http:/lien2pourli1" target="blank">Lien 2 pour page 1</a> <br/>';
 else
  echo '<a href="http://lien2pourlid2" target="blank"></a> Lien 2 pour page 2<br/>';
 echo '
  </div>
  <div id="bookdesc">
  '.displayDesc($id).'
  </div>
  ';
}


 
Je pensais que les " $id == " correspondait aux id == 1 et id == 2 que j'avais précédemment utilisés pour mes pages 1 et 2 mais a priori mon codeur ne l'entendait pas de la même façon.  
 
J'ai tenté des else echo, j'ai tenté des echo tout court, j'ai même essayé des else if (bref, j'ai fait tout ce qu'une personne qui ne sait pas faire aurait tenté de faire  :whistle: ).
 
 
Je vous remercie d'avoir pris le temps de lire ces quelques lignes et vous remercie chaleureusement par avance pour votre aide.

Reply

Marsh Posté le 12-03-2013 à 01:02:50   

Reply

Marsh Posté le 12-03-2013 à 10:13:00    

Salut à toi, dans ton cas, le mieux est de passer par un switch, par exemple :  
 
 

Code :
  1. function displayBook($id) {
  2.     echo '<div id="bookimgsell">'.displayLargePict($id);
  3. switch ($id):
  4.      case 1:
  5.          echo '<a href="http:lien1pourlid1">Lien 1 pour page 1</a> <br/>';
  6.          echo '<a href="http:/lien2pourli1" target="blank">Lien 2 pour page 1</a> <br/>';
  7.          break;
  8.      case 2:
  9.          echo '<a href="http://lien1pourli2">Lien 1 pour page 2</a> <br/>';
  10.          echo '<a href="http://lien2pourlid2" target="blank"></a> Lien 2 pour page 2<br/>';
  11.          break;
  12.      case 3:
  13.          echo 'lien avec id = 3';
  14.          break;
  15.      case 4:
  16.          echo 'lien avec id=4';
  17.          break;
  18.      case x:
  19.           lien avec id = x
  20.           break;
  21.      default:
  22.           break;
  23.  
  24. echo '</div><div id="bookdesc">'.displayDesc($id).'</div>';
  25. }


 
Bon j'espère avoir pu t'aider,  
 
Paul

Reply

Marsh Posté le 12-03-2013 à 17:02:44    

Le plus propre reste amha les arrays.
 

Code :
  1. function displayBook($id) {
  2.     $pages = array(
  3.                    1 => '<a href="url">page 1</a>',
  4.                    2 => '<a href="url">page 2</a>',
  5.                    3 => '<a href="url">page 3</a>' // etc..
  6.                    );
  7.     if( isset($pages[$id]) )
  8.        echo $pages[$id];
  9.      else {
  10.             // faire un truc par défaut ou gérer l'erreur
  11.      }
  12. }

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed