Tri Sql en fonction d'un clic sur un lien
Posté : 30 août 2010, 14:56
Bonjour,
Je suis débutant en PHP je flanche sur ce problème depuis maintenant quelques jours. c'est l'obstacle ultime, la dernière ligne droite avant que mon site soit terminé
1 J'ai mon fichier "produit.class.php" qui contient toutes les fonctions dont j'ai besoin.
2 Sur la page news_Big.php j'appelle la fonction dispNewBig qui me liste toutes mes news (une news = un dossier contenant fichier, images... pour l'instant je n'affiche qu'une image)
Ce que j'aimerais faire c'est que quand on clique sur une news on soit redirigé vers la page:
3 details.php qui appelle la fonction dispSoldatBig. J'aimerais que cette fonction affiche le contenu relatif au lien qui viens d'être cliqué, cela ce passe au niveau du tri de la fonction
$relativeaNewsBig est juste un exemple une éventuelle variable qui devrait être définie au préalable dans la fonction dispNewsBig(?).
Je précise que ma page contenant les class est en php objet. Ci dessous je n'affiche que les deux fonctions et non tout le code de ma page.
Voilà pour la petite histoire.
Je vous remercie d'avance.
Je suis débutant en PHP je flanche sur ce problème depuis maintenant quelques jours. c'est l'obstacle ultime, la dernière ligne droite avant que mon site soit terminé
1 J'ai mon fichier "produit.class.php" qui contient toutes les fonctions dont j'ai besoin.
2 Sur la page news_Big.php j'appelle la fonction dispNewBig qui me liste toutes mes news (une news = un dossier contenant fichier, images... pour l'instant je n'affiche qu'une image)
Ce que j'aimerais faire c'est que quand on clique sur une news on soit redirigé vers la page:
3 details.php qui appelle la fonction dispSoldatBig. J'aimerais que cette fonction affiche le contenu relatif au lien qui viens d'être cliqué, cela ce passe au niveau du tri de la fonction
SELECT * FROM produit WHERE nom_reel=" $relativeaNewsBig " ORDER by date DESC';
$relativeaNewsBig est juste un exemple une éventuelle variable qui devrait être définie au préalable dans la fonction dispNewsBig(?).
Je précise que ma page contenant les class est en php objet. Ci dessous je n'affiche que les deux fonctions et non tout le code de ma page.
<?php
//fonction qui affiche les news (une news = un dossier contenant fichier, images...)
public function dispNewBig()
{
// se connecte a la base de donné
$this->connectDB();
// Selectionne tous les champs de la table produit par ordre décroissant
$sql = 'SELECT * FROM produit ORDER by date DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// Liste toute la table
while ($data = mysql_fetch_array($req))
{
//mise en page d'une news dans laquelle se trouve le fameux lien
?>
<div id="news_case">
<div id="prev_transparent"> <a href="#parent2-<? echo $prev; ?>"> <img src="images/transparent.png" width="30" height="159" /> </a> </div>
<div class="H2" id="txt_case"></div>
<div id="new_degrade_top"></div>
<!-- affiche image_small vers un lien pas encore défini//-->
<a href"details.php"><img src="produit/<? echo $data[2]; ?>/images/image_small.jpg" alt="" width="253" height="158" /></a>
</div>
<?
}
}
$this->disconnectDB();
}
// cette fonction affiche le contenu relatif au lien suivi depuis dispNewsBig
public function dispSoldatBig()
{
//connexion à la BDD
$this->connectDB();
// ici je dois séléctionner le champ relatif à dispNewBig. le "$relativeaNewsBig" sera en fait le champ de la colonne nom_reel
$sql = 'SELECT * FROM produit WHERE nom_reel=" $relativeaNewsBig " ORDER by date DESC';
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// Le while n'es pas vraiment utile ici vu qu'il ny à jamais plus d'un champ séléctionné (je viens de le remarquer)
while ($data = mysql_fetch_array($req))
{
//Tout ce code n'est pas important pour résoudre mon problème
$folder = "produit/"$relativeaNewsBig"/ref";
$dossier = opendir($folder);
$nbCases = 0;
$next = 1;
$prev = -1;
$nbfichiertotal = 0;
while ($Fichier = readdir($dossier)) {
if ($Fichier != "." && $Fichier != "..") {
$nomFichier = $folder."/".$Fichier;
$nbCases ++ ;
if($nbCases == 1 || $nbCases == 8 || $nbCases == 15 || $nbCases == 22 ){
$prev ++;
?><li> <div id="soldat_case_left"><div id="soldat_prev_transparent"><? echo $this->myvar ; ?><a href="#parent2-<? echo $prev; ?>"><img src="images/transparent.png" width="40" height="159" /></a></a></div><img src="<? echo $nomFichier; ?>"></div> <? "<BR />";
}else{
if($nbCases == 7 || $nbCases == 14 || $nbCases == 21 || $nbCases == 28){
$next ++;
?><div id="soldat_case"><div id="soldat_next_transparent"><a href="#parent2-<? echo $next; ?>"><img src="images/transparent.png" width="40" height="159" /></a></a></div><img src="<? echo $nomFichier; ?>"></div></li><? "<BR />";
}else{
?><div id="soldat_case"><img src="<? echo $nomFichier; ?>"></div> <? "<BR />";
}
}
}
}
closedir($dossier);
}
$this->disconnectDB();
}
?>
Voilà pour la petite histoire.
Je vous remercie d'avance.