un lien qui affiche des donnée d'une table sql

Eléphanteau du PHP | 32 Messages

20 mai 2011, 12:34

Bonjour,
Aujourd'hui mon problème ou disons ce que je cherche a faire c'est lorsque je clique sur un lien, dans ce liens j'encapsule une valeur, cette valeur sera mis sous forme de variable et avec un script php connexion sql etc avec une fonction WHERE je mettrait juste une variable.

J'explique plus en detail comme sa sa a l'air incompréhensible un exemple sera plus concret :

J'ai ceci:
page : emploi.php
<ul class="audit">
<li><a href="" target="sql">Audit externe</a></li>
<li>Audit interne</li>
<li>Autres fonctions Audit / Conseil</li>
<li>Conseil en droit / fiscalité</li>
<li>Conseil en finances</li>
<li>Conseil en management / stratégie / organisation</li>
<li>Conseil en marketing / Commerce / Communication</li>
<li>Conseil en NTIC et systèmes d’information</li>
<li>Conseil en ressources humaines / Recrutement</li>
</ul>


dans mon 1er <li> je mettrai un <a href="emploi.php?souscat=audit-externe" target="sql"> (sql correspond a une iframe)

ensuite via mon script de récupération de la valeur j'ai ceci:
<?php
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('search',$db); 

$table = array ("Audit Externe"=>"audit-externe"); // tableau pour referencé les valeur possible de souscat

if(isset($_GET['souscat'])) // on regarde si souscat existe
{
$postes = $_GET['souscat']==".$table."; //si il existe on compare la donnée (='audit-externe') si elle est égale a une valeur du tableau, ensuite on enregistre le tout sous la variable de $postes 

// Creation et envoi de la requete
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM recherche_emploi where postes = '$postes' ORDER BY date";
$result = mysql_query($query) or die ( "Erreur sur la requete :\n$requete \n".mysql_error() );

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$date = $row[0];
$fonction = $row[1];
$dep = $row[2];
echo "<div class=resultat><tr><ul><li>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td>$dep</td>\n
</li></ul></tr>\n</div>";
}
}
?>
et ensuite on affiche les valeurs de ma table sql demandé exemple dans mon cas si on clique sur le lien 'Audit externe' on affiche la valeur date, fonction, dep qui son stocker dans ses champs.

Je pense être clair mais si ce n'es pas le cas n’hésite pas a me le dire

je récapitule:
cliqué sur un lien pour afficher la valeur des champs correspondant a la valeur du lien (j'entends par sa valeur le nom du lien (Audit externe par exemple)).

Merci pour votre temps et votre aide.

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

20 mai 2011, 12:59

salut,

tu semble maitriser ce que tu veux, mais tu n'a pas dit ce qui n'allait pas dans tous cela :mrgreen:

y aune chose assez extravagante (je m'étonne même que tu n'est pas d'erreur) => postes = $_GET['souscat']==".$table.";

ça c'est un if / else ou au pire l'opérateur ternaire mais pas ce que tu a mis !

ce qu'il te faut c'est tester si la valeur de $_GET['souscat'] correspond a un index dans $table et si c'est le cas tu l'affecte a $postes !

d'ailleurs ton tableau est pas construit dans le bon sens pour être simple a utiliser.
<?php
$table = array ('audit-externe' =>'Audit Externe'); // tableau pour referencé les valeur possible de souscat

if(isset($_GET['souscat']) && isset($table[ $_GET['souscat'] ])) // on regarde si souscat existe
{

$query = 'SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM recherche_emploi where postes = \''.mysql_real_escape_string($table[ $_GET['souscat'] ]).'\' ORDER BY date';
// traitement etc
}
else {
// ben pas de requete hein
}
?>
@+
Il en faut peu pour être heureux ......

Eléphanteau du PHP | 32 Messages

20 mai 2011, 13:21

Merci pou ton aide ^^

j'ai pris compte de se que tu a marqué et j'ai modifier ainsi:

formempli1.php
<?php
$db = mysql_connect('localhost', 'root', '');

// on sélectionne la base
mysql_select_db('search',$db); 

$table = array ('audit-externe' =>'Audit externe'); // tableau pour referencé les valeur possible de souscat

if(isset($_GET['souscat']) && isset($table[ $_GET['souscat'] ])) // on regarde si souscat existe
{

$query = 'SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM recherche_emploi where postes = \''.mysql_real_escape_string($table[ $_GET['souscat'] ]).'\' ORDER BY date';
$result = mysql_query($query) or die ( "Erreur sur la requete :\n$requete \n".mysql_error() );

// Recuperation des resultats
while($row = mysql_fetch_row($result)){
$date = $row[0];
$fonction = $row[1];
$dep = $row[2];
echo "<div class=resultat><tr><ul><li>\n
<td>$date</td>\n
<td>$fonction</td>\n
<td>$dep</td>\n
</li></ul></tr>\n</div>";
}
}
else {
echo'pas de données';
}
?>
emploi.php
<li><a href="formemploi.php?souscat=audit-externe" target="sql">Audit externe</a></li>
Mais aucune donnée ne s'affiche ni aucune erreur :s

Eléphanteau du PHP | 32 Messages

20 mai 2011, 17:11

en faite si j'ai une erreur lol

Parse error: parse error in C:\wamp\www\projet\projetacceuil\formemploi1.php on line 12
$query = 'SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM recherche_emploi where postes = \''.mysql_real_escape_string($table[ $_GET['souscat'] ]).'\' ORDER BY date'; 

ViPHP
xTG
ViPHP | 7331 Messages

20 mai 2011, 17:59

Au niveau du format de la date. ;)

Eléphanteau du PHP | 32 Messages

20 mai 2011, 19:29

en faite j'ai changer comme cela :
$postes = $table[ $_GET['souscat'] ];
$query = "SELECT DATE_FORMAT(date, '%d-%m-%Y') as datefr,fonction,dep FROM recherche_emploi where postes = '$postes' ORDER BY date";
et sa a l'air de marché wait and see comme on dit :)

Eléphanteau du PHP | 32 Messages

20 mai 2011, 19:43

sa marche :d

Merci pour votre aide surtout moogli tu m'a beaucoup aidé :) merci mon cas et résolut enfin point de vu php pas mental looool

bonne soirée a toutes et a tous et encore merci :)