enregistrement sans doublons

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : enregistrement sans doublons

par newbee » 06 févr. 2006, 15:17

oki merci à tous!!

Le code Sql fonctionne bien et il ne me renvoi pas de messages d'erreur.

Merci ;)

par sadeq » 06 févr. 2006, 15:10

Tiens SQL qui fait ça :

Code : Tout sélectionner

ALTER TABLE ma_table ADD UNIQUE id_unique ( identifiant , date )
Mais efface d'abord les doublons qui existent.

par jobherzt » 06 févr. 2006, 14:59

normalement oui, je ne me souviens pas de la syntaxe, mais il est possible de mettre un couple en unique. evidemment, si tu met chaque champ indiciduellement en unique, ca ne marche pas, puisque la date est repetee.

par newbee » 06 févr. 2006, 14:55

... ça ne marche pas...
Si je mets les 2 champs en unique: plus rien ne s'affiche!
"mettre le couple en unique" : existe t-il une autre solution pour mettre le couple ensemble, et non chaque champs en unique?

par jobherzt » 06 févr. 2006, 14:16

dans la famille bourrin, je te propose une solution simple : dans ta base, designe le couple {login;date} comme unique. du coup, l'ajout d'un doublon generera une erreur, qu'il te suiffit de recuperer.

enregistrement sans doublons

par newbee » 06 févr. 2006, 13:05

Bonjour tout le monde! (Ouaissssssss)
C'est encore moi.... (Ohhhhhhhhh)

Petit soucis en rapport à un précédent post (voir http://www.phpfrance.com/forums/voir_sujet-13953.php).
Je recupere et j'affiche la date et l'identifiant des personnes qui ce sont connectés. 9a, ça marche (merci le_cobra20). Le probleme c'est que si une personne se connecte 3 fois dans la journée (donc avec le même identifiant), mon affichage l'affiche évidemment 3 fois!

Donc en gros je voudrais éviter les doublons.
Genre avant l'écriture, lui dire : if cet_identifiant et cette_date est déja dans ma table, alors n'écris pas...

Mon code de la page d'insertion est :
<?php
session_start();
$host="localhost";
$login="root";
$pass="";
$base="ma_base";
$connect= mysql_connect($host,$login,$pass);
mysql_select_db($base, $connect);

   $query = 'INSERT INTO ma_table VALUES(NULL, "'.date("Y-m-d").'",  "'.$_SESSION['identifiant'].'")';
mysql_query($query, $connect);
header ("Location: index.php");
?>
Merci d'avance ;)