FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » creation lien hypertexte depuis BDD
 

creation lien hypertexte depuis BDD

Il y a 345 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : creation lien hypertexte depuis BDD
 
Plus d'informations

Bonjour à tous,
 
alors voilà, j'ai besoin d'un ptit coup de pouce, je trouve partout des ptites infos mais j'aurais bien besoin que l'on me détaille les choses ;-)
 
J'ai réussi à créer un menu déroulant qui est chargé à partir d'une de mes tables de donnees. quand l'utilisateur selectionne un des champs, je recupere sa selection grace au forulaire et la valide grace à un bouton. Bref, j'affiche ensuite les resultats de sa recherche.
 
rien d'extra jusque là. Mais la nuance est que je voudrais que chaque item listé en réponse soit un lien hypertext vers une autre page qui puisse recuperer en variable les choix de l'utilisateur (le 1er ds le menu deroulant, et le 2ème qui correspond au lien sur lequel il a cliqué).
 
Et là je bug !
 
Je suis debutante en php ;-)
 
Je vous donne mon code pour le moment, c'est petit ;-) :
 

Citation :


 
<?php
 // connexion a la base de donnees
 mysql_connect("localhost","root","" );
 mysql_select_db("" );
 
 
 // remplissage du menu deroulant contenant les layers
 $sql='SELECT layer FROM LAYERS';
 $query=mysql_query($sql) or die ('erreur');
 
 // creation d'un formulaire permettant de recuperer le layer selectionner ds le menu
 echo'<form action="" method="post" enctype="multipart/from-data"><select name="essais_layers">';
 $nb_layers=mysql_num_rows($query);
 if($nb_layers[0]) echo'<option> aucun layer </option>';
 else while ($list=mysql_fetch_array($query)) echo'<option value="'.$list['layer'].'">'.$list['layer'].'</option>';
 
 //fin du select et du formulaire
 echo'</select><input type="submit" value="recherche des sous segments"></form>';
 
 //recuperation du choix de l'utilisateur pour nouvelle recherche BDD
 if(isset($_POST['essais_layers'])){
  $request=mysql_query("SELECT sub_segment FROM SUB_SEGMENTS,LAYERS WHERE (SUB_SEGMENTS.link_layer=LAYERS.key AND   layer='".$_POST['essais_layers']."');" ) or die (mysql_error());
                          while($reception=mysql_fetch_array($request)){
                       echo $reception['sub_segment'];
                       echo "</br>";
               }
 }
 
 
//fermeture de l'acces a la base de donnees
mysql_close();
?>
 


 
Voilà voilà, donc je voudrais que chaque 'sub_segment' affiché envoie vers une page qui sera la meme pour tous mais qui sera mise à jour (qui variera) grace à la recuperation (ds cette nouvelle page) du champ selectionné par l'utilisateur.
 
Si je n'ai pas été claire, n'esitez pas à me demander d''essayer' de preciser ;-)
 
Merci beaucoup pour votre aide.
 
Dites moi surtout où placer le code... parce que parfois je n'ai que le bout de truc qui est sensé m'aider mais je en sais pas quoi en faire ensuite ;-)
 
Merchi

zeb
Profil : Modérateur libre
Plus d'informations

Citation :

Je suis debutante en php ;-)


Et en forum PPC/Cat' programmation aussi.
Si tu ne veux pas que ceux qui pourraient avoir la solution à ton problème te boudent, modifie ton post et remplaces-y la balise [quote] par la balise [code] ;)


Message édité par zeb le 15-09-2006 à 13:44:59
Plus d'informations

ok, bien recu. En esperant que ca m'attirera des reponses ;-)

Code :
  1. <?php
  2.     // connexion a la base de donnees
  3.     mysql_connect("localhost","root","" );
  4.     mysql_select_db("cecile" );
  5.     // remplissage du menu deroulant contenant les layers
  6.     $sql='SELECT layer FROM LAYERS';
  7.     $query=mysql_query($sql) or die ('erreur');
  8.     // creation d'un formulaire permettant de recuperer le layer selectionner ds le menu
  9.     echo'<form action="" method="post" enctype="multipart/from-data"><select name="essais_layers">';
  10.     $nb_layers=mysql_num_rows($query);
  11.     if($nb_layers[0]) echo'<option> aucun layer </option>';
  12.     else while ($list=mysql_fetch_array($query)) echo'<option value="'.$list['layer'].'">'.$list['layer'].'</option>';
  13.     //fin du select et du formulaire
  14.     echo'</select><input type="submit" value="recherche des sous segments"></form>';
  15.     //recuperation du choix de l'utilisateur pour nouvelle recherche BDD
  16.     if(isset($_POST['essais_layers'])){
  17.         $request=mysql_query("SELECT sub_segment FROM SUB_SEGMENTS,LAYERS WHERE (SUB_SEGMENTS.link_layer=LAYERS.key AND         layer='".$_POST['essais_layers']."');" ) or die (mysql_error());
  18.             while($reception=mysql_fetch_array($request)){
  19.       echo $reception['sub_segment'];
  20.       echo "</br>";
  21.     }
  22.     }
  23. mysql_close();
  24. ?>


 
juste, la balise [code] n'est pas proposé ds les outils, dc je l'ai mis en [/cpp] pcq il s'agit de php . En esperant que ca conviendra comme cà ;-)

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

En effet le bouton indique C++ :(
 
Bon bin il te suffit de passer en param de la page appelée les variables et leurs valeurs récupérées ...
 
Du style
 

Code :
  1. <a href="index.php?var1=a&var2=12">link</a>


 
Que tu récupéreras dans ta page "index.php" par la variable $_GET.
 
Par ailleurs je remplacerais tes

Code :
  1. if(isset($_POST['essais_layers']))

par

Code :
  1. if (array_key_exists('essais_layers',$_POST))


 
isset m'ayant posé des problèmes de compatibilité selon comment était configuré le serveur ou était hosté le site ;)


Message édité par boub popsy team le 15-09-2006 à 22:48:11

---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !
Plus d'informations

Merci bcp boubpopsyteam.
Je comprend bien la methode, le soucis etant que je mes valeurs des parametres à faire passer sur l'autre page ne sont pas fixes ! toi, tu les mets = à a ou à 12 mais moi ca va etre egal au lien selectionner par l'utilisateur.
Voilà ce que j'ai pensé : ranger chacun des resultats de ma requete ds un tableau. Ensuite, creer un lien pour chaque element du tableau. Et donc, en creant ce lien je ferai passer en parametre sur l'autre page la valeur de la case referente. T'en pense quoi ?
Je vais chercher sur les tutoriels comment ranger mes resultats ds un tableau. Mais pour mettre en parametre le choix, pour l'instant j'ai testé :
 

Code :
  1. $i=1;
  2.            while($row=mysql_fetch_array($request)){
  3.             $nom[$i]=$row;
  4.                  ?>
  5.               <a href="index.php?$nom[$i]">$nom[$i]</a>;
  6.         <?php
  7.              echo $row['sub_segment'];
  8.              echo "</br>";
  9.            
  10.             }


 
D'apres les explications que l'on m'a donné, ceci me creer un tableau intitulé 'nom' ds lequel sont rangés mes resultats.  
Probleme, la creation de lien que j'ai faite, m'afficher des liens avec un nom unique :"$nom[$i]". Ca ne me recupere pas la valeur presente ds la case $nom[i].
 
C'est peut etre tres bete, mais jvois pas trop là  :heink:  
 
Merci bcp pr ton aide
 
@+

G.M.G.V.S.O.
Profil : Modo matériel
Plus d'informations

Tu as oublié des

Code :
  1. <? et ?>

autour de tes

Code :
  1. $nom[i]

:o


---------------
SPAM & WAREZ = Ban!
Ultimate Boot CD | Memtest+
Mon bar préféré à Lyon ! | Bijoux Fantaisie de Créateur !

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » creation lien hypertexte depuis BDD
 

Annonces Google
Publicité
Les téléchargements