Affichage d'un tableau sur une même page en cliquant sur un lien

Onizuka95 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,
Je travail sur un projet où je dois créer un graphe de noeud, en récupérant des données sur une base de données.
Ensuite, je dois pouvoir, en cliquant un noeud du graphe, afficher des informations de ce noeud sur la même page.

Je voulais savoir si on pouvait inclure du javascript dans les balises "
<a href=""></a>
pour pouvoir afficher le tableau du noeud sur lequel je vais cliquer.
Et si, oui comment pourrais-je le faire dans mon code s'il vous plaît ?

Voici la fonction qui génère le graphe, (avec les balises de liens <a href=""> vides) :
function graph($nb_nodes, $nb_edges, $ego){
$pos_x = 700;
$pos_y = 300;
$rayon = 200;
$degre=2*pi()/$nb_nodes;
$neighbors = array(24,16,17,10,2,14,25);
echo'<?xml version="1.0" encoding="UTF-8" ?>';
echo'<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">';

echo'<svg xmlns="http://www.w3.org/2000/svg" version="1.0" width="1000" height="1000">';
echo'
<g stroke="white" stroke-width="2">';
for($i=1;$i<=$nb_nodes;$i++) {
$pos_xi = $pos_x + $rayon * cos($i*$degre);
$pos_yi = $pos_y + $rayon * sin($i*$degre);
echo '<line y2="'.$pos_yi.'" x2="'.$pos_xi.'" y1="'.$pos_y.'" x1="'.$pos_x.'" />';
}
echo '</g>
<a href ="index.php?act=infos"><g fill="blue" stroke="black" stroke-width="2">
<circle cx="'.$pos_x.'" cy="'.$pos_y.'" r="30" />
</g></a>';
for($j=1;$j<=$nb_nodes;$j++) {
$pos_xj = $pos_x + $rayon * cos($j*$degre);
$pos_yj = $pos_y + $rayon * sin($j*$degre);
echo '<a href=""><g fill="red" stroke="black" stroke-width="1"> <circle cx="'.$pos_xj.'" cy="'.$pos_yj.'" r="20" /> </g></a>';
}
echo '</g>
<g font-family="Arial" font-size="10" font-weight="100" text-anchor="middle">
<text x="'.$pos_x.'" y="'.$pos_y.'">Ego'.$ego.'</text>';
for($k=1;$k<=$nb_nodes;$k++) {
$pos_xk = $pos_x + $rayon * cos($k*$degre);
$pos_yk = $pos_y + $rayon * sin($k*$degre);
echo '<a href=""><text x="'.$pos_xk.'" y="'.$pos_yk.'">Ego '.$neighbors[$k].'</text></a>';
}
echo '</g>
</svg>';
}



Les fonctions qui vont permettent de faire le tableau d'information :
//serviceurl is a function used to run the service (by url) and getting back the result
//$name corresponds to the name of the service to run
//$value corresponds to the parameters of the service
function serviceurl($name,$value) {
//$durl is a defined default variable
global $durl;
$url=$durl.$name."/".$value."";
//We are getting the body content of the result of the RESTful webservice
$body = file_get_contents($url);
//We are treating the result
resultArray($body);
return $body;
}

//resultArray is a function permitting to adapt the result into a array
//$result corresponds on the result of the service request
function resultArray($result){
//We are using the defined separators for the construction of the array
global $separator1;
global $separator2;
$array1=explode($separator1,$result);
echo'<table>';

for($i=0;$i<sizeof($array1)-1;$i++) {
$array2=explode($separator2,$array1[$i]);
echo '<tr>';
for($j=0;$j<sizeof($array2);$j++) {
echo '<td>'.$array2[$j].'</td>';
}
echo '</tr>';
}
echo '</table>';
}
A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Pourquoi parler de javascript ? Tous tes codes sont en PHP ... et je ne trouve pas le rapport avec le JS ....

Par contre... sais tu ce que sont les variables $_GET ?
Car je pense que c'est la réponse que tu cherches.......
0
Onizuka95 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ta réponse,

$_GET ne peux s'utiliser qu'avec des balises <form /> non ???

En faite je me suis peux être mal exprimer. Je souhaite que lorsque je clique sur le lien, une fonction s'éxecute. C'est pour cela que je dois utilisé du javascript.

J'ai vu sur plusieurs sites qu'il n'était pas possible de le faire en php
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Onizuka95 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Les variables GET .. sont des variables transmises dans une URL.
par exemple : www.monsite.fr/index.php?toto=trucmachin

Dans cet exemple, la variable toto a pour valeur trucmachin.
Et pour la récupérer ... sur la page index.php .. il suffit d'utiliser :
 $mavariable = !empty($_GET['toto']) ? $_GET['toto'] : NULL;
echo $mavariable; // va afficher  trucmachin
0
Onizuka95 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
Donc si j'ai bien compris je peux faire :
<a href="index.php?var=infos" rel="nofollow noopener noreferrer" target="_blank"><text x="'.$pos_xk.'" y="'.$pos_yk.'">Ego '.$neighbors[$k].'</text></a>

$mavariable = !empty($_GET['var']) ? $_GET['var'] : NULL;
echo $mavariable; // va afficher infos
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > Onizuka95 Messages postés 6 Date d'inscription   Statut Membre Dernière intervention  
 
ben.. oui. c'est le fonctionnement des variables GET.
Y'a plus qu'à tester dans ton graphique...
0