bonsoir à tous après avoir retourné mon code dans tous les sens je vous appelle à l'aide

dans un de mes codes j’utilise la commande la plus classique du genre: "$row = mysql_fetch_array($result)".

Mais voilà pour une raison qui m'est inconnu, elle me bouffe une partie des infos

$select = "SELECT * FROM phpbb_users
                    LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
                    LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
                    LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
                    WHERE phpbb_users.user_id = '56' 
                    ORDER BY phpbb_user_group.group_id ASC ";
                    mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
        $total = mysql_num_rows($result);

            if($total) 
            {
            ?><div class="fiche">

                        <?php 
                while(($row = mysql_fetch_array($result))) 
                    {   
                        if ($row"username"]!=$lusername)
                            {   
                                ?><div class="contenant"><?php echo "Pseudo: ";?></div>
                                <div class="contenu"><?php echo $row"username"];
                                ?></div><?php
                                $lusername=$row"username"];
                            }
                        else {}

                        if ($row"user_inactive_reason"]!=$luser_inactive_reason)
                            {
                                $luser_inactive_reason=$row"user_inactive_reason"];
                                if ($row"user_inactive_reason"]==0)
                                    {   
                                        ?>
                                        </br>
                                        <div class="bpfiche2">
                                        <form action="pageprivee.php" method="post" >
                                        <input type="hidden" name="idu" value="<?php echo $row"user_id"];?>" />
                                        <input type="hidden" name="act" value="2" />
                                        <input type="submit" value="Désactiver"/>
                                        </form>
                                        </br>
                                        </div>
                                        <?php
                                    }

                                else if ($row"user_inactive_reason"]!=0)
                                    {   
                                        ?>
                                        </br>
                                        <div class="bpfiche2">
                                        <form action="pageprivee.php" method="post" >
                                        <input type="hidden" name="idu" value="<?php echo $row"user_id"];?>" />
                                        <input type="hidden" name="act" value="1" />
                                        <input type="submit" value="Activer"/>
                                        </form>
                                        </br>
                                        </div>
                                        <?php
                                    }

sur certain enregistrement que j'ai repéré, c'est toujours les même qui sont imcomplet, l'information user_id est perdu, je parle 1/100 enregistrement, et pourtant sur phpmyadmin, l'enregistrement et complet?

Je précise que la condition if ($row"user_inactive_reason"]==0) ou if ($row"user_inactive_reason"]!=$luser_inactive_reason) sont bonne puisque j'affiche les boutons de toues façons

auriez vous une idée?

je laisse le code complet car au final ma variable $idu ne se remplis pas parce que le post hidden 'idu' ne reçois pas les infos du $row"user_id"]

autre info, par endroit je force WHERE phpbb_users.user_id = '56' et donc $row"user_id"] existe sinon je n'aurai pas le bloc fiche

<?php
    session_start();
    require("auth.php");
    require ("ftpdl.php");
if(Auth::isLogged()){
    }
else{
    header('Location:index.php');
    }
extract($_POST);
echo 'id: ';
echo $idu;
echo '<br>';
echo 'action: ';
echo $act;
echo '<br>';
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
        <title>Ecran de control des avions</title>
    </head>
<body bgcolor="#333333"> 
<body>
</br>
<?php
if (($idu!=0)&&($act==1))
    {   
        //unset($_POST'act']);
        $time = time();
        $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error()); 
        $sql=("UPDATE `phpbb_users` SET `user_inactive_reason` = '0', `user_type`='0', `user_regdate`='$time' WHERE `user_id` ='$idu' ");
        mysql_query($sql) or die ('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());

        $message=str_replace("\'","'",$message);
        $origine="admin@fsfrancesimulateur2.fr";
        $de="Flo3376";
        $destinataire=$email;
        $sujet="Activation de votre compte FFS2";
        $message="Bonjour $pseudo , \n
        Vous vous êtes inscrit sur notre forum et nous en sommes très heureux. \n
        Votre compte viens d'être activé.\n
        Nous vous rappelons que dépassé un délaie de 7 jours, si aucune présentation n'est faite, \n
        votre compte sera détruit.\n
        Vous aurez toujours la possibilité de vous réinscrire.\
        Cordialement $de
        Nom : $pseudo \n
        Email : $email \n";
        $entete="From: $de \n Reply-To: $origine";
        mail($destinataire,$sujet,utf8_decode($message),$entete);
        ?><div class="actionr"><?php
        echo '<b><br>Le mail a bien été envoyé à:'.$pseudo.'</b></br>';
        echo '<br><b>Via:'.$email.'</b></br>';
        echo '<br><b>Contenant</b></br>';
        echo '<br><b>'.$message.'</b></br>';
        ?></div><?php
    }
if (($idu!=0)&&($act==2))
    {
        //unset($_POST'act']);
        $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error()); 
        $sql=("UPDATE `phpbb_users` SET `user_inactive_reason` = '1' WHERE `user_id` ='$idu' LIMIT 1");
        mysql_query($sql) or die ('Erreur SQL ! <br>'.$sql.'<br>'.mysql_error());
    }
//unset($act);
//unset($_POST'act']);
echo 'id: ';
echo $idu;
echo '<br>';
echo 'action: ';
echo $act;
echo '<br>';
//connection à la DB
$link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select="SELECT user_id, username,user_inactive_reason,user_email , user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_regdate ,group_id 
        FROM phpbb_users
        WHERE user_id = '56'
        ORDER BY user_id DESC ";
        mysql_query("SET NAMES 'utf8'");
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);
if($total) 
    {
        ?> <div class="tableau">
            <div class="tabl1">
                <div class="tid"><?php echo 'ID'; ?> </div>
                <div class="tpseudo"><?php echo 'Pseudo'; ?> </div>
                <div class="tmail"><?php echo 'Mail'; ?> </div>
                <div class="taap"><?php echo 'Post'; ?> </div> 
            </div><?php
        while(($row = mysql_fetch_array($result))) 
            {

                if ($row"user_inactive_reason"]==3) 
                    {
                        ?><div class="desac"><?php
                    }
                elseif($row"user_inactive_reason"]==1) 
                    {
                        ?><div class="nonac"><?php
                    }
                elseif($row"user_inactive_reason"]==0) 
                    { 
                        if ($row"user_posts"]!=0)
                            {
                                if (($row"user_lastpost_time"])>(time()-(3600*24*31*3)))
                                    {
                                        ?><div class="act"><?php
                                    }
                                elseif (($row"user_lastpost_time"])<(time()-(3600*24*31*3)))
                                    {
                                        if(($row"group_id"])==13)
                                            {
                                                ?><div class="rese"><?php
                                            }
                                        else
                                            {
                                                ?><div class="dorm"><?php
                                            }
                                    }
                            }
                        elseif ($row"user_posts"]==0)
                            {
                                ?><div class="paspres"><?php
                            }
                    }

                ?><div class="id"><?php echo $row"user_id"];?></div><?php
                ?><div class="pseudo"><?php echo $row"username"];?></div><?php
                ?><div class="mail"><?php /*echo $row"user_email"];*/?></div><?php
                ?><div class="aap"><?php echo $row"user_posts"];?></div><?php
                ?>  
                <div class="bpfiche">
                <form action="pageprivee.php" method="post" >
                <input type="hidden" name="idu" value="<?php echo $row"user_id"];?>" />
                <input type="submit" value="Fiche"/>
                </form>
                </div>
                </div>
                <?php
            }
        ?> </div><?php
    }
else {echo 'Pas d\'enregistrements dans cette table...';}
if (($idu!=0))
    {

         $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error());

        $select = "SELECT * FROM phpbb_users
                    LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
                    LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
                    LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
                    WHERE phpbb_users.user_id = '56' 
                    ORDER BY phpbb_user_group.group_id ASC ";
                    mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
        $total = mysql_num_rows($result);

        $select4="SELECT group_id
                FROM phpbb_users
                WHERE user_id='$idu'
                ORDER BY user_id ASC ";
                mysql_query("SET NAMES 'utf8'");
                $result4 = mysql_query($select4,$link) or die ('Erreur : '.mysql_error() );
                $total4 = mysql_num_rows($result4);

        if ($total4) 
            {
                while(($row4 = mysql_fetch_array($result4)))
                    {
                        $grd=$row4"group_id"];
                    }
            }

        if($total) 
            {
            ?><div class="fiche">

                        <?php 
                while(($row = mysql_fetch_array($result))) 
                    {   
                        if ($row"username"]!=$lusername)
                            {   
                                ?><div class="contenant"><?php echo "Pseudo: ";?></div>
                                <div class="contenu"><?php echo $row"username"];
                                ?></div><?php
                                $lusername=$row"username"];
                            }
                        else {}

                        if ($row"user_inactive_reason"]!=$luser_inactive_reason)
                            {
                                $luser_inactive_reason=$row"user_inactive_reason"];
                                if ($row"user_inactive_reason"]==0)
                                    {   
                                        ?>
                                        </br>
                                        <div class="bpfiche2">
                                        <form action="pageprivee.php" method="post" >
                                        <input type="hidden" name="idu" value="<?php echo $row"user_id"];?>" />
                                        <input type="hidden" name="act" value="2" />
                                        <input type="submit" value="Désactiver"/>
                                        </form>
                                        </br>
                                        </div>
                                        <?php
                                    }
                                else if ($row"user_inactive_reason"]!=0)
                                    {   
                                        ?>
                                        </br>
                                        <div class="bpfiche2">
                                        <form action="pageprivee.php" method="post" >
                                        <input type="hidden" name="idu" value="<?php echo $row"user_id"];?>" />
                                        <input type="hidden" name="act" value="1" />
                                        <input type="submit" value="Activer"/>
                                        </form>
                                        </br>
                                        </div>
                                        <?php
                                    }
                            }
                        if ($row"user_email"]!=$luser_email)
                            {
                                ?><div class="contenant"><?php echo "mail: ";?></div>
                                <div class="contenu"><?php /*echo $row"user_email"];*/
                                ?></div>
                                </br><?php
                                $luser_email=$row"user_email"];
                            }
                        else {}

                        if ($row"user_lastvisit"]!=$luser_lastvisit)
                            {
                                ?><div class="contenant"><?php echo "Dernier passage: ";?></div><?php
                                if ($row"user_lastvisit"]==0)
                                    {
                                        ?><div class="contenu"><?php echo "jamais venu visiter";?></div>
                                        </br><?php
                                    }
                                else
                                    {
                                        ?><div class="contenu"><?php echo date('d/m/Y H:i',$row"user_lastvisit"]);?></div>
                                        </br><?php
                                    }
                                $luser_lastvisit=$row"user_lastvisit"];

                            }
                        else {}

                        if ($row"user_lastpost_time"]!=$luser_lastpost_time)
                            {
                                ?><div class="contenant"><?php echo "Dernier message: ";?></div><?php
                                if ($row"user_lastpost_time"]==0)
                                    {
                                        ?><div class="contenu"><?php echo "aucun message";?></div>
                                        </br><?php

                                    }
                                else
                                    {
                                        ?><div class="contenu"><?php echo date('d/m/Y H:i',$row"user_lastpost_time"]);?></div>
                                        </br><?php
                                    }                               
                                $luser_lastpost_time=$row"user_lastpost_time"];

                            }
                        else {}

                        if ($row"user_posts"]!=$luser_posts)
                            {

                                ?><div class="contenant"><?php echo "Nombre de messages: ";?></div><?php
                                if ($row"user_posts"]==0)
                                    {
                                        ?><div class="contenu"><?php echo "aucun message";?></div>
                                        </br><?php

                                    }
                                else
                                    {
                                        ?><div class="contenu"><?php $row"user_posts"];?></div>
                                        </br><?php
                                    }                               
                                $luser_posts=$row"user_posts"];
                            }
                        else {}

                        if ($row"user_regdate"]!=$luser_regdate)
                            {
                                ?><div class="contenant"><?php echo "Date d'inscription: ";?></div><?php
                                ?><div class="contenu"><?php echo date('d/m/Y H:i',$row"user_regdate"]);;?></div>
                                </br><?php
                                $luser_regdate=$row"user_regdate"];

                            }
                        else {}

                        if ($row"pf_code_trackeur"]!=$lpf_code_trackeur)
                            {
                                ?><div class="contenant"><?php echo "Code Trackeur: ";?></div>
                                <div class="contenu"><?php echo $row"pf_code_trackeur"];
                                ?></div>
                                </br><?php
                                $lpf_code_trackeur=$row"pf_code_trackeur"];

                            }
                        else {}

                        if ($row"pf_id_fsx"]!=$lpf_id_fsx)
                            {
                                ?><div class="contenant"><?php echo "ID FSX: ";?></div>
                                <div class="contenu"><?php echo $row"pf_id_fsx"];
                                ?></div>
                                </br><?php
                                $lpf_id_fsx=$row"pf_id_fsx"];

                            }
                        else {}
                        if ($row"pf_skype"]!=$lpf_skype)
                            {
                                ?><div class="contenant"><?php echo "Skype: ";?></div>
                                <div class="contenu"><?php /*echo $row"pf_skype"];*/
                                ?></div>
                                </br><?php
                                $lpf_skype=$row"pf_skype"];
                            }
                        else {}
                        if ($row"pf_tarun"]!=$lpf_tarun)
                            {
                                ?><div class="contenant"><?php echo "Test AR 1: ";?></div>
                                <div class="contenu"><?php echo $row"pf_tarun"];
                                ?></div>
                                </br><?php
                                $lpf_tarun=$row"pf_tarun"];

                            }
                        else {}

                        if ($row"pf_tardeux"]!=$lpf_tardeux)
                            {
                                ?><div class="contenant"><?php echo "Test AR 2: ";?></div>
                                <div class="contenu"><?php echo $row"pf_tardeux"];
                                ?></div>
                                </br><?php
                                $lpf_tardeux=$row"pf_tardeux"];
                            }
                        else {}

                        if ($mgroupe==0)
                            {
                                ?><div class="groupe1"><?php
                                ?></br></br><div class="contenant"><?php echo "Rattaché au(x) groupe(s):";?></br></div>
                                <div class="contenu"><?php
                                echo $row"group_id"];
                                echo " ";
                                echo $row"group_name"];
                                ?></div>
                                <div class="bpfiche2">
                                <input type="image" src="croix.png" alt="Envoyer"/>
                                <?php
                                if ($grd!=$row"group_id"])
                                    {
                                        ?><input type="image" src="def.png" alt="Envoyer"/><?php
                                    }
                                ?>

                                </div>
                                </br><?php
                                $mgroupe=1;

                            }
                        else
                            {
                                ?>
                                <div class="contenu"><?php
                                echo $row"group_id"];
                                echo " ";
                                echo $row"group_name"];
                                ?></div>
                                <div class="bpfiche2">
                                <input type="image" src="croix.png" alt="Envoyer"/>
                                <?php
                                if ($grd!=$row"group_id"])
                                    {
                                        ?><input type="image" src="def.png" alt="Envoyer"/><?php
                                    }
                                else
                                    {
                                        ?><input type="image" src="stars.png" alt="Envoyer"/><?php
                                    }
                                ?>
                                </div>
                                </br><?php
                            }

                    }
                    ?></div>

                <div class="groupe2"><?php
                $select2="SELECT * FROM phpbb_groups
                ORDER BY group_id ASC ";
                mysql_query("SET NAMES 'utf8'");
                $result2 = mysql_query($select2,$link) or die ('Erreur : '.mysql_error() );
                $total2 = mysql_num_rows($result2);

                $select5= "SELECT *
                FROM phpbb_groups
                WHERE group_id NOT 
                IN (
                SELECT DISTINCT phpbb_user_group.group_id
                FROM phpbb_user_group
                JOIN phpbb_groups ON phpbb_groups.group_id = phpbb_user_group.group_id
                WHERE user_id = '$idu'
                )
                LIMIT 0 , 30";
                mysql_query("SET NAMES 'utf8'");
                $result5 = mysql_query($select5,$link) or die ('Erreur : '.mysql_error() );
                $total5 = mysql_num_rows($result5);

                if($total5) 
                    {
                        while(($row = mysql_fetch_array($result5))) 
                            {
                                if ($mgroupe2==0)
                                    {                                           
                                        ?></br></br><div class="contenant"><?php echo "Rattacher au groupe:";?></br></div>
                                        <?php
                                        $mgroupe2=1;
                                        ?>
                                        <div class="contenu"><?php
                                        echo $row"group_id"];
                                        echo " ";
                                        echo $row"group_name"];
                                        ?></div>
                                        <div class="bpfiche2">
                                        <input type="image" src="val.png" alt="Envoyer"/>
                                        </div>
                                        </br><?php
                                    }

                                else
                                    {
                                        ?>
                                        <div class="contenu"><?php
                                        echo $row"group_id"];
                                        echo " ";
                                        echo $row"group_name"];
                                        ?></div>
                                        <div class="bpfiche2">
                                        <input type="image" src="val.png" alt="Envoyer"/>
                                        </div>
                                        </br><?php
                                    }
                            }
                    }
            ?></br></div><?php

            ?>  </div><?php
            }

        else {echo 'Pas d\'enregistrements dans cette table...';}
    }
?>

</body>
</html>

merci d'avance de votre aide

Flo

11 réponses


elRingo
Réponse acceptée

bonsoir

après un essai rapide, votre système perd le phpbb_users.user_id. J'ai fait la modification (avec AS) suivante et je récupère bien l'id

$select = 'SELECT phpbb_users.user_id AS id, phpbb_users.username,
...
...
echo $row"id"];

bonsoir

c'est quoi le problème, ta demande n'est pas claire !! est- ce que si tu affiches $total ( après la ligne 193) tu obtiens le bon nombre d'enregistrement ?

flo3376
Auteur

oui je sais mais c'est pas évident à expliquer,

disons que dans ma bd il y a 100 enregistrements:

si je passe par php my admin avec cette requéte:

SELECT * FROM phpbb_users
                    LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
                    LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
                    LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
                    ORDER BY phpbb_user_group.group_id ASC

mes 100 résultats sortent complet

si je passe par ma page, j'en ai 1 ou 2, mais toujours les mêmes qui sorte avec une partie en moin, dont le $row"user_id"] qui est absent ou vide, mais que sur 2 enregistrement bien identifiés, c'est toujours les mêmes qui me coince ma page.

La question était selon vous il y a une erreur sur ma page surcharge de données etc..... ou, cela proviendrai de ma bd qui à un prb d'indexation?

je suis en train de voir que l'ancienne page qui tourne encore à un soucis avec les même comptes, elle ne veux pas les afficher

<?php
    session_start();
    require("auth.php");
    require ("ftpdl.php");
if(Auth::isLogged()){
    }
else{
    header('Location:index.php');
    }
?>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="style.css" type="text/css" media="screen"/>
        <title>Ecran de control rapide des membres</title>
    </head>
<body>

        <div class="div1">
                <style type="text/css"> 
                a:link 
                { 
                text-decoration:none; 
                color: black;
                } 
</style>
        Tableau de tous les membres </br>
        <?php
$paspres;
$temppresdep;
$inacticomp;
$compdom;

// connection à la DB
    $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
    mysql_select_db($db) or die ('Erreur :'.mysql_error());

$select = $select = 'SELECT phpbb_users.user_id, username,user_inactive_reason,user_email , user_lastvisit, user_lastpost_time, user_lastpage, user_posts, user_regdate , phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name,phpbb_profile_fields_data.user_id,phpbb_profile_fields_data.pf_code_trackeur,phpbb_profile_fields_data.pf_id_fsx
            FROM phpbb_users
            LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
            LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
            LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
            ORDER BY phpbb_users.user_id DESC ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

if($total) {
        echo '<table bgcolor="#616161">'."\n";
        echo '<tr>';
        echo '<td bgcolor="#669999"><b><u>ID</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Pseudo</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Mail</u></b></td>';
        echo '<td bgcolor="#669999"><b><u>Action a prévoir</u></b></td>';
        echo '</tr>'."\n";
    while(($row = mysql_fetch_array($result))) {
        if(($row"user_id"])&&($userid!=$row"user_id"]))
        {
                if ($row"user_inactive_reason"]==3) 
                    {
                    $inacticomp=1;
                    $span_style="#FEFEFE";
                    $bgcolor="#010101";
                    }
                elseif($row"user_inactive_reason"]==1) 
                    {
                    $inacticomp=1;
                    $bgcolor="#FA2AEC";
                    $span_style="#010101";
                    }
                elseif($row"user_inactive_reason"]==0) 
                    {
                    $inacticomp=0;
                    $bgcolor="#FA2AEC";
                    $span_style="#010101";
                    }
                if (($row"user_posts"]==0)&&($inacticomp==0))
                    {
                    $paspres=1;
                    $span_style="#010101";
                    }
                elseif (($row"user_posts"]!=0)&&($inacticomp==0))
                    {
                    $paspres=0;
                    $span_style="#010101";
                    $bgcolor="#40A465";
                    }
                if (($inacticomp==0)&&($paspres==0)&&(($row"user_lastpost_time"])>(time()-(3600*24*31*3))))
                    {
                    $span_style="#010101";
                    $bgcolor="#40A465";
                    }
                elseif(((($row"user_lastpost_time"])<(time()-(3600*24*31*3)))&&($inacticomp==0)&&($paspres==0)))
                    {
                    $span_style="#010101";
                    $bgcolor="#3737FB";
                    }

                elseif ((($row"user_regdate"])<(time()-(3600*24*7)))&&($row"user_posts"]==0)&&$row"user_inactive_reason"]==0)
                    {
                    $span_style="#010101";
                    $bgcolor="#FE0101";                     
                    }
                elseif(($inacticomp==0)&&($paspres==1))
                    {
                    $bgcolor="#F6C218";
                    $span_style="#010101";
                    }
            $userid=$row"user_id"];
            echo '<tr>';
            $useridc=$useridc+1;
            $usernamec=$usernamec+1;
            $useremailc=$useremailc+1;
            ${'userid'.$useridc}=$row"user_id"];
            ${'username'.$usernamec}=$row"username"];
            ${'user_email'.$user_emailc}=$row"user_email"];

                echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_id"].'</p></td>';
                echo'<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><a href="pageprivee.php?id='.${'userid'.$useridc}.'&email='.${'user_email'.$user_emailc}.'&name='.${'username'.$usernamec}.'">'.${'username'.$usernamec}.'</a></p></td>';
                echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">'.$row"user_email"].'</td></p>';

                if((($row"user_lastpost_time"])<(time()-(3600*24*31*3)))&&($row"user_posts"]>=1))
                    {
                        if (($row"group_id"])==13)
                            {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>pilote réserviste</u></b></td></p>';}
                        else {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>passer le compte en pilote réserviste</u></b></td></p>';}
                        }                       

                elseif ((($row"user_lastvisit"])==0)&&(($row"user_lastpost_time"])==0)&&($row"user_inactive_reason"]==0)&&(($row"user_regdate"])<(time()-(3600*24*7)))) 
                    {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>Compte inutile, supprimer le compte</u></b></td></p>';}
                elseif ((($row"user_lastpost_time"])==0)&&($row"user_inactive_reason"]!=1)&&(($row"user_regdate"])>(time()-(3600*24*7)))) 
                    {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>En attente de présentation, aucune action pour le moment</u></b></td></p>';}
                elseif ((($row"user_regdate"])<(time()-(3600*24*7)))&&($row"user_posts"]==0)&&$row"user_inactive_reason"]==0)
                    {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>Pas de présentation,supprimer le compte</u></b></td></p>';}
                elseif($row"user_inactive_reason"]==1) 
                    {
                    echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>compte en attente d\'activation</u></b></td>';
                    }
                elseif($row"user_inactive_reason"]!=0) 
                    {
                    echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';"><b><u>compte désactivé</u></b></td>';
                    }

                else
                    {echo '<td style="background-color : '.$bgcolor.';"><p style="color : '.$span_style.';">ras</td></p>';}

            echo '</tr>'."\n";
        }
        else{}
    }
    echo '</table>'."\n";
}

else {echo 'Pas d\'enregistrements dans cette table...';}

alors soi j'ai fait deux fois la même bourde, ce qui est fort possible ou ma bd à un hic.

existe t'il une commande pour afficher d'un coup tous le contenue d'un tableau sans utiliser de while?

merci de ton aide

flo

$obj = mysql_fetch_object($result);
var_dump($obj);

flo3376
Auteur

merci pour ta requête avec celle ci y a pas photo, on vois qu'il y a de la perte:

voici le résultat pour une fiche qui fonctionne

object(stdClass)#1 (106) { "user_id"]=> string(3) "502" "user_type"]=> string(1) "0" "group_id"]=> string(2) "12" "user_permissions"]=> string(0) "" "user_perm_from"]=> string(1) "0" "user_ip"]=> string(13) "88.136.21.204" "user_regdate"]=> string(10) "1351442830" "username"]=> string(5) "Jurau" "username_clean"]=> string(5) "jurau" "user_password"]=> string(34) "$H$9wM/j4FtpJIdwzNhG8IM3mHI4PL24T/" "user_passchg"]=> string(10) "1351442180" "user_pass_convert"]=> string(1) "0" "user_email"]=> string(20) "alphajet18@gmail.com" "user_email_hash"]=> string(11) "66822528320" "user_birthday"]=> string(10) "23- 7-1997" "user_lastvisit"]=> string(10) "1353867113" "user_lastmark"]=> string(10) "1351894667" "user_lastpost_time"]=> string(10) "1353867110" "user_lastpage"]=> string(9) "index.php" "user_last_confirm_key"]=> string(10) "370ZJAY0XU" "user_last_search"]=> string(10) "1352573841" "user_warnings"]=> string(1) "0" "user_last_warning"]=> string(1) "0" "user_login_attempts"]=> string(1) "0" "user_inactive_reason"]=> string(1) "0" "user_inactive_time"]=> string(10) "1351442180" "user_posts"]=> string(2) "35" "user_lang"]=> string(2) "fr" "user_timezone"]=> string(4) "0.00" "user_dst"]=> string(1) "1" "user_dateformat"]=> string(11) "D j M Y H:i" "user_style"]=> string(1) "1" "user_rank"]=> string(1) "0" "user_colour"]=> string(6) "0099FF" "user_new_privmsg"]=> string(1) "1" "user_unread_privmsg"]=> string(1) "1" "user_last_privmsg"]=> string(10) "1353868732" "user_message_rules"]=> string(1) "0" "user_full_folder"]=> string(2) "-3" "user_emailtime"]=> string(1) "0" "user_topic_show_days"]=> string(1) "0" "user_topic_sortby_type"]=> string(1) "t" "user_topic_sortby_dir"]=> string(1) "d" "user_post_show_days"]=> string(1) "0" "user_post_sortby_type"]=> string(1) "t" "user_post_sortby_dir"]=> string(1) "a" "user_notify"]=> string(1) "0" "user_notify_pm"]=> string(1) "1" "user_notify_type"]=> string(1) "0" "user_allow_pm"]=> string(1) "1" "user_allow_viewonline"]=> string(1) "1" "user_allow_viewemail"]=> string(1) "1" "user_allow_massemail"]=> string(1) "1" "user_options"]=> string(6) "230271" "user_avatar"]=> string(18) "502_1351684677.jpg" "user_avatar_type"]=> string(1) "1" "user_avatar_width"]=> string(3) "250" "user_avatar_height"]=> string(3) "250" "user_sig"]=> string(257) "On qualifie un excellent atterrissage quand l'avion est ré-utilisable derrière, on qualifie un bon atterrissage quand le pilote sort vivant de l'avion. <img src="http://img683.imageshack.us/img683/285/201013113474818.jpg" alt="">" "user_sig_bbcode_uid"]=> string(8) "2vtp15c1" "user_sig_bbcode_bitfield"]=> string(4) "CA==" "user_from"]=> string(0) "" "user_icq"]=> string(0) "" "user_aim"]=> string(0) "" "user_yim"]=> string(0) "" "user_msnm"]=> string(0) "" "user_jabber"]=> string(0) "" "user_website"]=> string(0) "" "user_occ"]=> string(7) "lycéen" "user_interests"]=> string(17) "Marine Nationnale" "user_actkey"]=> string(8) "HV48CYBL" "user_newpasswd"]=> string(0) "" "user_form_salt"]=> string(16) "9187351630bbe81e" "user_new"]=> string(1) "0" "user_reminded"]=> string(1) "0" "user_reminded_time"]=> string(1) "0" "group_leader"]=> string(1) "0" "user_pending"]=> string(1) "0" "group_type"]=> string(1) "0" "group_founder_manage"]=> string(1) "0" "group_skip_auth"]=> string(1) "0" "group_name"]=> string(6) "Pilote" "group_desc"]=> string(51) "Ce sont les équivalent des utilisateur enregistré" "group_desc_bitfield"]=> string(0) "" "group_desc_options"]=> string(1) "7" "group_desc_uid"]=> string(0) "" "group_display"]=> string(1) "0" "group_avatar"]=> string(18) "g12_1349123314.png" "group_avatar_type"]=> string(1) "1" "group_avatar_width"]=> string(3) "250" "group_avatar_height"]=> string(3) "250" "group_rank"]=> string(1) "0" "group_colour"]=> string(6) "0099FF" "group_sig_chars"]=> string(1) "0" "group_receive_pm"]=> string(1) "0" "group_message_limit"]=> string(1) "0" "group_max_recipients"]=> string(1) "0" "group_legend"]=> string(1) "0" "pf_icao"]=> string(4) "LFLD" "pf_skype"]=> string(8) "Jurau 18" "pf_va"]=> string(0) "" "pf_code_trackeur"]=> string(7) "FFS0050" "pf_id_fsx"]=> string(5) "jurau" "pf_tarun"]=> string(7) "landing" "pf_tardeux"]=> string(34) "pour mieux controler mes appareils" "pf_immat"]=> NULL }

et voici le résultat pour une fiche qui fonctionne pas correctemnt

"50e4b0645eb57433" "user_new"]=> string(1) "1" "user_reminded"]=> string(1) "0" "user_reminded_time"]=> string(1) "0" "group_leader"]=> string(1) "0" "user_pending"]=> string(1) "0" "group_type"]=> string(1) "0" "group_founder_manage"]=> string(1) "0" "group_skip_auth"]=> string(1) "0" "group_name"]=> string(6) "Pilote" "group_desc"]=> string(51) "Ce sont les équivalent des utilisateur enregistré" "group_desc_bitfield"]=> string(0) "" "group_desc_options"]=> string(1) "7" "group_desc_uid"]=> string(0) "" "group_display"]=> string(1) "0" "group_avatar"]=> string(18) "g12_1349123314.png" "group_avatar_type"]=> string(1) "1" "group_avatar_width"]=> string(3) "250" "group_avatar_height"]=> string(3) "250" "group_rank"]=> string(1) "0" "group_colour"]=> string(6) "0099FF" "group_sig_chars"]=> string(1) "0" "group_receive_pm"]=> string(1) "0" "group_message_limit"]=> string(1) "0" "group_max_recipients"]=> string(1) "0" "group_legend"]=> string(1) "0" "pf_icao"]=> NULL "pf_skype"]=> NULL "pf_va"]=> NULL "pf_code_trackeur"]=> NULL "pf_id_fsx"]=> NULL "pf_tarun"]=> NULL "pf_tardeux"]=> NULL "pf_immat"]=> NULL }

donc j'ai un soucis avec cette requête SQL

$link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error());

        $select = "SELECT * FROM phpbb_users
                    LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
                    LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
                    LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
                    WHERE phpbb_users.user_id = '$idu' 
                    ORDER BY phpbb_user_group.group_id ASC ";
                    mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
        $total = mysql_num_rows($result);

        ?><div class="fiche"><?php
        $obj = mysql_fetch_object($result);
        var_dump($obj);
        ?></div><?php

Je suis preneur de toute les idées car là moi je sèche complètement.

merci d'avance flo.

flo3376
Auteur

donc voilà ou j'en suis

voici une requête sql rentrée dans php my admin:

SELECT phpbb_users.user_id, phpbb_users.username, phpbb_users.user_inactive_reason, phpbb_users.user_email, phpbb_users.user_lastvisit, phpbb_users.user_lastpost_time, phpbb_users.user_lastpage, phpbb_users.user_posts, phpbb_users.user_regdate, phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name, phpbb_profile_fields_data.user_id, phpbb_profile_fields_data.pf_code_trackeur, phpbb_profile_fields_data.pf_id_fsx
FROM phpbb_users
LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id
LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id
LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id
WHERE phpbb_users.user_id = "56"
ORDER BY phpbb_users.user_id DESC
LIMIT 0 , 30


et comme vous pouvez le voir, elle passe bien

en demandant un génération php de cette requete que je mets dans une page php j'obtiens ça comme code

<?php
    require ("ftpdl.php");

         $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error());

        $select = 'SELECT phpbb_users.user_id, phpbb_users.username,phpbb_users.user_inactive_reason,phpbb_users.user_email , phpbb_users.user_lastvisit, phpbb_users.user_lastpost_time, phpbb_users.user_lastpage, phpbb_users.user_posts, phpbb_users.user_regdate , phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name,phpbb_profile_fields_data.user_id,phpbb_profile_fields_data.pf_code_trackeur,phpbb_profile_fields_data.pf_id_fsx'
        . ' FROM phpbb_users'
        . ' LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id'
        . ' LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id'
        . ' LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id'
        . ' WHERE phpbb_users.user_id = "56"'
        . ' ORDER BY phpbb_users.user_id DESC LIMIT 0, 30 ';
                    mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
        $total = mysql_num_rows($result);

        $obj = mysql_fetch_object($result);
        var_dump($obj);
            if ($total) 
            {
                while(($row = mysql_fetch_array($result)))
                    {
                        echo '<br>';
                        echo '$row"phpbb_users.user_id"]: ';
                        echo $row"phpbb_users.user_id"];

                    }
            }
?>

et si j’exécute, j'ai ça:

pourquoi je perds mes infos, expliquez moi car là je commence vraiment à désespérer.

bonsoir,

je n'arrive pas non plus a comprendre la différence entre les deux traitements. Je pourrai jetter un coup d'oeil dessus ce soir.
Par contre, il me faut les fichiers :

  • les tables : laisse que l'enregistrement 56 // fichier sql
  • c'est quoi ftpdl.php ?

je récupérerai le code ci-dessus

mettez moi ça en ligne pour que je puisse les récupérer

flo3376
Auteur

merci elRingo, ça me rassure pour une fois que c'est pas une faute bête ça me rassure.

je te fait ça de suite avec un site rien que pour toi une base de donnée séparé et alléger

site de test grafikart

contenu de ftpdl version grafikart

<?php
$dbhost = 'db447002050.db.1and1.com';
$dbuser = 'dbo447002050';
$dbpass = 'grafikar';
$db = 'db447002050';
?>

test.php

<?php

    require ("ftpdl.php");

         $link = mysql_connect ($dbhost,$dbuser,$dbpass) or die ('Erreur : '.mysql_error() );
        mysql_select_db($db) or die ('Erreur :'.mysql_error());

        $select = 'SELECT phpbb_users.user_id, phpbb_users.username,phpbb_users.user_inactive_reason,phpbb_users.user_email , phpbb_users.user_lastvisit, phpbb_users.user_lastpost_time, phpbb_users.user_lastpage, phpbb_users.user_posts, phpbb_users.user_regdate , phpbb_user_group.user_id, phpbb_user_group.group_id, phpbb_groups.group_name,phpbb_profile_fields_data.user_id,phpbb_profile_fields_data.pf_code_trackeur,phpbb_profile_fields_data.pf_id_fsx'
        . ' FROM phpbb_users'
        . ' LEFT JOIN phpbb_user_group ON phpbb_users.user_id = phpbb_user_group.user_id'
        . ' LEFT JOIN phpbb_groups ON phpbb_user_group.group_id = phpbb_groups.group_id'
        . ' LEFT JOIN phpbb_profile_fields_data ON phpbb_users.user_id = phpbb_profile_fields_data.user_id'
        . ' WHERE phpbb_users.user_id = "56"'
        . ' ORDER BY phpbb_users.user_id DESC LIMIT 0, 30 ';
                    mysql_query("SET NAMES 'utf8'");
        $result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
        $total = mysql_num_rows($result);

        $obj = mysql_fetch_object($result);
        var_dump($obj);

            if ($total) 
            {
                while(($row = mysql_fetch_array($result)))
                    {
                        echo '<br>';
                        echo '$row"phpbb_users.user_id"]: ';
                        echo $row"phpbb_users.user_id"];

                    }
            }

?>

en créant ta bd j'ai peut être aperçu le soucis, c'est que dans l'un des table que je scan, y a pas de correspondance pour le 56

flo3376
Auteur

je confirme que le bug est supprimé avec le as,
bien que cela est une victoire, elle en a que le demi gout car je ne saurai pas pourquoi, ai je poussé la chose trop loin?
M'enfin grâce à toi ce bug est détruit et pour une fois ce n'était pas une erreur de débutant qui en était la cause merci El Ringo

Ton problème c'est dans ton echo, tu demandes l'affichage de phpbb_users.user_id or si tu regarde bien le resultat phpMyAdmin tu n'as aucune colonne de ce nom. La liaison nomTable.nomChamps n'est valable que pour la requête (ce n'est que mon avis biensur).

Dans le résultat, tu as tous les champs de toutes les tables. c'est our ça qu'il n'est plus nécessaire d'ajouter le nom de la table.

Pourquoi il n'affiche rien avec user_id uniquement, je pense que c'est du au fait que tu as plusieurs colonnes qui portent ce nom.

Enfin a quoi te sert le order by par id ? tu n'a qu'un seul user_id ?

flo3376
Auteur

il n'y avait qu'un seul id car je connaissais un des id qui merdé, en tant normal y a pas le where, je brasse les tables dans leur totalité.