Un Tcho peu d'aide SVP : Afficher une table avec condition selon ID membre

FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012 - 23 janv. 2010 à 11:51
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012 - 25 janv. 2010 à 10:33
Bonjour a tous,
Je vous expose une situation et mon problème .

Situation :
Ma base sql se nomme "Kxprotect"

J'ai deux tables dans cette base de donnée :
Table 1 : membres
Table 2 : winner

dans ma table "membres" j'ai déjà un grand nombre d'inscrits ... 2 membres , c'est exceptionnel non ...

ma table "membre" se compose de id_user / pseudo / nom / prenom
dont toto est membre et Manouche ...

id_user de toto 1 / pseudo de toto toto / nom = XXXXX / prenom = Arthur
id_user de Manouche 2 / pseudo manouche / nom = Dejungle / prenom = georges

Dans ma table winner j'ai la liste des kdos gagnés : id_user(correspondant au gagnant) / refobjet /titreobjet / winnerkadx /datewin(correspondant aussi au gagnant) etc ...
- 3 kdos on été gagnés : 2 kdos par toto et 1 kdo de manouche ...

Ce que je souhaites faire c'est lorsque toto est sur son compte membre, il souhaite tout simple voir ce qu'il a gagné comme KDO ...

De mon coté je souhaite aidez toto : J'ai pu afficher une table mais malheureusement je vois apparaitre toute la table . Je veux uniquement voir ce qu'à gagné toto .

Mon code est le suivant en espérant que vous pourrez m'aider ...

<?php session_start(); // On relaye la session
require_once('auth/connexion.php');

if (isset($_SESSION['authentification'])) 
if (session_is_registered("authentification") && $_SESSION['privilege'] == "admin"){ 
}
else {
header("Location:index.php?erreur=intru");
}
?>
 <?php
    $select=mysql_select_db("kxprotect");


    switch($_GET["test"])
    {
      case 1 : $query="select  * from winner order by refobjet asc"; break;
      case 2 : $query="select  * from winner order by refobjet desc"; break;
      case 3 : $query="select  * from winner order by datewin asc"; break;
      case 4 : $query="select  * from winner order by datewin desc"; break;
      case 5 : $query="select  * from winner order by titreobjet asc"; break;
      case 6 : $query="select  * from winner order by titreobjet desc"; break;
      case 7 : $query="select  * from winner order by winnerkadx asc"; break;
      case 8 : $query="select  * from winner order by winnerkadx desc"; break;
      case 9 : $query="select  * from winner order by datenvoi asc"; break;
      case 10 : $query="select * from winner order by datenvoi desc"; break;
      case 11 : $query="select * from winner order by statutenvoi asc"; break;
      case 12 : $query="select * from winner order by statutenvoi desc"; break;
      default : $query="select * from winner";
    }

    $result=mysql_query($query);
    $totenreg=mysql_num_rows($result);

    echo "<form action='lister.php' method='get' name='lister' enctype='multipart/form-data'>";
    echo "\";
echo \"----
\";
if ($totenreg==0)
echo \"<h2>IL N'Y A PAS D'ENTREE, \";
else
{
echo \"<h2>IL Y A ".$totenreg." ENTREE(S), \";
echo \"\";
}
echo \"</form>\";

$i=0;
while ($row=mysql_fetch_array($result))
{
if ($i==0)
{
echo \"----
\";
$i++;
}
else
{
echo \"----
\";
$i--;
}
echo \"<h5>".$row["refobjet"].", \";
echo \"<h5>".$row["datewin"].", \";
echo \"<h5>".$row["titreobjet"].", \";
echo \"<h5>".$row["winnerkadx"].", \";
echo \"<h5>".$row["datenvoi"].", \";
echo \"<h5>".$row["statutenvoi"].", \";
echo \"----
\";
}
    echo "
";
  ?>

5 réponses

Gr3g69 Messages postés 27 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 13 février 2010
25 janv. 2010 à 00:31
Hello,

Il te faut ajouter une condition de tri pour retourner tes résultats uniquement pour ton utilisateur.

Comme ceci :

case 1 : $query="select * from winner WHERE id_user = '$la_variable_qui_contient_ton_id_user' order by refobjet asc"; break;
0
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012
25 janv. 2010 à 02:31
Salut Gr3g69 ,
Merci de vouloir m'aider une fois de plus !
En fait, j'avais déjà effectué cette démarche a part que j'avais inclus WHERE '...' avant asc et desc et j'avais les deux soucis suivant :

"Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource" , erreur correspondant a la ligne "$totenreg=mysql_num_rows($result);"

et "Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource" correspondand a la ligne "while ($row=mysql_fetch_array($result))"

Chose que j'ai toujours lorsque j'utilise ta méthode . Dès que j'insère WHERE , à la ligne contenant " default : $query="select * from winner "; " j'ai les deux messages ci-dessus !!!

alors j'comprends pas tout sachant que id_user est déclaré dans mes pages précédentes ...
0
Gr3g69 Messages postés 27 Date d'inscription dimanche 6 décembre 2009 Statut Membre Dernière intervention 13 février 2010
25 janv. 2010 à 09:55
Le soucis c'est qu'il n'y a pas bien d'autre solution.

Tu as quoi comme version de MySQL ?
0
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012
25 janv. 2010 à 10:08
Mysql 5-4 pro
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
FXPHANTOM Messages postés 60 Date d'inscription lundi 11 janvier 2010 Statut Membre Dernière intervention 10 mai 2012
25 janv. 2010 à 10:33
J'ai essayé quelques chose qui semblait fonctionner mais le soucis c'est que lorsque je me connecte sur un compte différent , il ne reconnait que id_user à 1 à cause de $row[0] :

<?php

$select=mysql_select_db("kdprotec");  
$query = "SELECT id_user FROM membres ";
$result = mysql_query($query);
while($row = mysql_fetch_row($result)){
$id_user = $row[0];
   switch($_GET["test"])
    {
      case 1 : $query="select * from winner WHERE idwinner = $id_user order by refobjet when asc"; break;
      case 2 : $query="select * from winner WHERE idwinner = $id_user order by refobjet desc"; break;
      case 3 : $query="select * from winner WHERE idwinner = $id_user order by datewin asc"; break;
      case 4 : $query="select * from winner WHERE idwinner = $id_user order by datewin desc"; break;
      case 5 : $query="select * from winner WHERE idwinner = $id_user order by titreobjet asc"; break;
      case 6 : $query="select * from winner WHERE idwinner = $id_user order by titreobjet desc"; break;
      case 7 : $query="select * from winner WHERE idwinner = $id_user order by winnerkadx asc"; break;
      case 8 : $query="select * from winner WHERE idwinner = $id_user order by winnerkadx desc"; break;
      case 9 : $query="select * from winner WHERE idwinner = $id_user order by datenvoi asc"; break;
      case 10 : $query="select * from winner WHERE idwinner = $id_user order by datenvoi desc"; break;
      case 11 : $query="select * from winner WHERE idwinner = $id_user order by statutenvoi asc"; break;
      case 12 : $query="select * from winner WHERE idwinner = $id_user order by statutenvoi desc"; break;
      default : $query="select * from winner WHERE idwinner = $id_user ";
    }

    $result=mysql_query($query);
    $totenreg=mysql_num_rows($result);

    echo "<form action='lister.php' method='get' name='lister' enctype='multipart/form-data'>";
    echo "\";
echo \"----
\";
if ($totenreg==0)
echo \"AUCUN ENVOI NI D'OBJET POUR LE MOMENT 
,
\";
else
{
echo \"VOUS AVEZ ".$totenreg." OBJET(S) REMPORTE(S)
,
\";
echo \"\";
}
echo \"</form>\";

$i=0;
while ($row=mysql_fetch_array($result))
{
if ($i==0)
{
echo \"----
\";
$i++;
}
else
{
echo \"----
\";
$i--;
}
echo \"<h5>".$row["refobjet"].", \";
echo \"<h5>".$row["datewin"].", \";
echo \"<h5>".$row["titreobjet"].", \";
echo \"<h5>".$row["winnerkadx"].", \";
echo \"<h5>".$row["datenvoi"].", \";
echo \"<h5>".$row["statutenvoi"].", \";
echo \"----
\";
}
    echo "
";
}
// fermeture de la base de donnée
mysql_close(); 

  ?>


Tu penses qu'il y a pas quelque chose à modifier pour que ça puisses fonctionner ! ou en utilisant une autre fonction !
0