Bonjour,

J'ai un système d'album photo mais le problème c'est que quand je prend mon album dans ma basse de données pour l'afficher il me l'affiche en trois pourtant dans ma basse de données il n'y en a que 1.

Je vous laisse mon code ci vous voyer de ou ça peut venir.

<?php
    session_start();
?>  
    <style type="text/css">
        .albm{
            height:100px;
            width:100px;
            margin:10px;
            border:1px solid black;
            float: left;
            background-color: black;
            line-height: 20px;
        }
        a{
            text-decoration: none;
            color: white;
        }
    </style>
<h1><center>Mes albums</center></h1>
<?php
    $connect= mysql_connect('localhost','root','');
    $db = mysql_select_db('Pics2Smile');

    $email = $_SESSION'email'];
    $que=mysql_query("SELECT id FROM users WHERE email='$email'");
    while($utilisateur=mysql_fetch_assoc($que))
    {
        $idmemberco = $utilisateur'id'];
        $query = "SELECT album.name, album.id ".
        "FROM users, album ".
        "WHERE $idmemberco = album.user_id";
        $result = mysql_query($query) or die(mysql_error());
        while($albm = mysql_fetch_array($result)){
    ?>
        <a href="albumview.php?idalbm=<?php echo $albm'id']; ?>">
        <div class="albm">
        <center><?php echo $albm'name']; ?></center>
        </div></a>
    <?php
    }
}
?>
<center><hr><br/><h1>Ajouter un album ?</h1>
<a style="color:blue;" href="addalbum.php">Ajouter un album</a></center>

Voila merci d'avance

8 réponses


Lotfi Berrahal
Réponse acceptée

que définie tu par la variable

$idmemberco = $utilisateur'id'];

c'est tous les id des utilisateurs c'est ça?
en gros dans ta requette tu fais where autant de fois qu'il y a de membre du moins c'est ce que je comprend!

TheDarkNight17
Auteur
Réponse acceptée

Bah c'est bon j'ai trouvé :) Mais je ne serrais jamais y arriver sans toi ! Merci parce que ça fait 2h45 que je suis la dessus et la ligne devient :

$query = "SELECT album.name, album.id FROM users, album WHERE email='$email' AND user_id='$idmemberco'";

a la place de

$query = "SELECT album.name, album.id FROM users, album WHERE $idmemberco = album.user_id";

Grand merci tu ma eclairé en me disant "dans ta requette tu fais where autant de fois qu'il y a de membre du moins c'est ce que je comprend!" Bah grand merci je valide ta réponse

Bonjour,

Je ne comprend pas ta seconde requête $query

$query = "SELECT album.name, album.id ".
        "FROM users, album ".
        "WHERE $idmemberco = album.user_id";

pourquoi ne pas mettre :

$query = "SELECT album.name, album.id FROM users, album WHERE $idmemberco = album.user_id";

et pourquoi idmemberco est une variable ici ? je pense qu'il y a une erreur ici après le sql c'est pas mon truc ^^ !

Voila j'ai un peut regarder et j'ai trouver ce problème.
Quand il a X membres dans la table donc X lignes il m'affiche les albums X foie.
Donc ci j'ai 140 membres il va m'afficher 140 foie chaque album. Une solution ?

Oui c'est bien ça mais je devrais faire comment alors ?

Cela dépend de ta base de donné comme elle est faite .
Tu peux me donner tes différentes bases? LE nom des colones et ce que tu veux afficher dynamiquement ?

De rien le forum est fait pour ça ;) sinon valide surtout ta réponse que ça aide les autre! :)

Bonjour, je pense que tu as oublié de faire une jointure entre tes tables. essayes avec :

$query = "SELECT album.name, album.id ".
        "FROM album LEFT JOIN user ON album.user_id = user.id ".
        "WHERE album.user_id = $idmemberco";

Sans la structure de tes tables, pas facile de t'aider, essaye tout de même.