IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

select sans doublon


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut select sans doublon
    Bonjour, j'essaye de sortir d'un select un élément a la fois plus facile voici mon code et les champs qui son dans ma table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="refresh" content="10">
    <body bgcolor="#0075FF">
    <font size="3" face="comic sans ms" color= "#000000">Messages Priv&eacute;s</font><br/><br/>
    <b><font color="#008000">
    <style type="text/css">
    <!--
    .chat {
    	font-weight: bold;
    	color: #003;
    	font-style: italic;
    }
    -->
    </style>
    <?php
    include("../config_script.php");
    $time=time();
    $time=$time-300;
    $pseudo=$_GET['pseudo'];
     
    $reponse = mysql_query("SELECT * FROM ".PREFIXE."rooms WHERE his_pseudo='$pseudo' AND time>=$time");
    while ($donnees = mysql_fetch_array($reponse))
    { 
    if ($donnees['pseudo'] !=0) // si l'enregistrement existe bel et bien on affiche un message d'erreur
    {
    echo'<A TARGET=_blank BGCOLOR="#FFF8DC" HREF=private.php?id='.$donnees['id'].'&pseudo=$pseudo&contact='.$donnees['pseudo'].' />'.$donnees['pseudo'].'</A><br/>';
    }
    else // autrement on traite
    {
    echo'<span class="chat"><A TARGET=_blank HREF=private.php?id='.$donnees['id'].'&pseudo=$pseudo&contact='.$donnees['pseudo'].' />'.$donnees['pseudo'].'</A></span><br/>';
    } 
    }
    ?>
    mes insertions

    id - pseudo - his_pseudo - time
    Modifier Effacer 178 jujuju jujuju 1258204973
    Modifier Effacer 178 jujuju jujuju 1258205095
    Modifier Effacer 178 jujuju jujuju 1258205433
    Modifier Effacer 179 jujuju jujuju 1258206043
    Modifier Effacer 179 jujuju jujuju 1258206495
    Modifier Effacer 179 jujuju jujuju 1258206947
    Modifier Effacer 179 jujuju jujuju 1258207034
    Modifier Effacer 179 $pseudo jujuju 1258207114
    Modifier Effacer 179 $pseudo $pseudo 1258207126
    Modifier Effacer 179 jujuju jujuju 1258207851
    Modifier Effacer 179 jujuju jujuju 1258208128
    Modifier Effacer 179 jujuju jujuju 1258208326
    Modifier Effacer 179 jujuju jujuju 1258208731
    Modifier Effacer 179 jujuju jujuju 1258208755
    merci de votre aide

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Qu'est ce que tu veux dire par "sortir un element à la fois" ?

  3. #3
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    bonsoir oui sortir un élément a la fois comme tu dis

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Heu non ca c'est toi qui le dit et justement je ne comprends pas ce que tu souhaites obtenir.

  5. #5
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    sortir de la table rooms cet élément pseudo une seule fois à la fois

    j'ai trouvé cela mais je vois pas comment le mettre en place avec mes donnée de ma table.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    DELETE doublons.*
    FROM fr010 AS doublons
    INNER JOIN (
       SELECT questionNumb, MIN(id) AS plus_petit_id
       FROM fr010
       GROUP BY questionNumb
       HAVING COUNT(*) > 1
    ) AS a_garder
    ON a_garder.questionNumb = doublons.questionNumb
    AND a_garder.plus_petit_id <> doublons.id
    puis de l'afficher dans ma page

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La requete que tu nous montres sert visiblement a supprimer les lignes en doublon dans la table.

    Il faudrait vraiment que tu sois plus précis sur ce que tu souhaites obtenir.

  7. #7
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    avec la requête que j'ai trouvé, j'aimerais la mettre en oeuvre pour garder une seule donnée pseudo dans ma table a la fois , met je vois pas très bien comment mettre en forme pour afficher mon pseudo à la sortie du select .

    et remplacer mon select actuel par cette requête .

    Merci de ton aide

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La requete que tu nous montres sert à SUPPRIMER des données dans la table.

  9. #9
    Membre régulier
    Homme Profil pro
    Inscrit en
    Octobre 2004
    Messages
    514
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2004
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    salut j'ai trouver une autre solution à l'insertion voilà du me dira se que tu en pense Merci quand même de ton aide.


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    <?php
    $id = $_GET['id'];
    $pseudo = $_GET['pseudo'];
     
      //connection au serveur
    include("../config_script.php");
     
      //récupération des valeurs des champs:
      //nom:
      $pseudo = $_GET['pseudo'];
      $message = $_POST['message'];
      $message = htmlentities(addslashes(nl2br($message)));
      //création de la requête SQL:
     
      $sql = "INSERT INTO ".PREFIXE."private (pseudo, message, id) VALUES ('$pseudo', '$message', '$id')" ;
     
      //exécution de la requête SQL:
      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
    if ($sql)
    {
    include("../config_script.php");
     
    $time=time();
    $pseudo= $_GET['pseudo'];
    $contact=$_GET['contact'];
    //////////////////////////////////////////////////////////teste doublons salons//////////////////////////////////////////////////////////
    $reponse_pseudo=mysql_query("SELECT his_pseudo FROM ".PREFIXE."rooms WHERE his_pseudo='$contact'") or die ('Erreur : '.mysql_error());	
    //update du temps
    $update_pseudo=mysql_query("UPDATE ".PREFIXE."rooms  SET pseudo='$pseudo', his_pseudo='$contact',time='$time' WHERE his_pseudo='$contact'")or die ('Erreur : '.mysql_error());	
    //verification si pseudo existe déjà
    $count_pseudo=mysql_num_rows($reponse_pseudo);
    if($count_pseudo == 1)
    	{
    ?><meta http-equiv="refresh" content="0;url=private_message_1.php?id=<?php echo $id; ?>&pseudo=<?php echo $pseudo; ?>"><?php	
    return FALSE;
    	}
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    $sql = "INSERT INTO ".PREFIXE."rooms (id, pseudo, his_pseudo, time) VALUES ('$id', '$pseudo', '$contact', '$time')" ;
      mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
      if ($sql) { ?><meta http-equiv="refresh" content="0;url=private_message_1.php?id=<?php echo $id; ?>&pseudo=<?php echo $pseudo; ?>">
    <?php
    } 
    }
    ?>

Discussions similaires

  1. requete selection sans doublons
    Par fred75 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/03/2008, 19h59
  2. Selection sans doublons
    Par james_kirk dans le forum Langage SQL
    Réponses: 5
    Dernier message: 31/12/2007, 17h14
  3. Select sans doublon sur un champ
    Par Carnot dans le forum Langage SQL
    Réponses: 3
    Dernier message: 01/10/2007, 22h36
  4. SELECT sans doublons
    Par renaudjuif dans le forum Requêtes
    Réponses: 2
    Dernier message: 06/02/2007, 16h53
  5. SELECT sans doublons
    Par Brunal dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 20/11/2006, 16h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo