Mysql ,inserer plusieurs données colonne

Fermé
mik3fly - 13 nov. 2011 à 15:57
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 - 13 nov. 2011 à 21:17
Bonjour,

j'aimerai enregistrer les dates de visite, de mes utilisateurs, ainsi que leur adresse ip dans deux colonne distincte.

Quand je fais un ('UPDATE') , la donnée précédente est mise a jour(donc effacé)

et quand je fais un INSERT , j'ai erreur sur la condition.
Dois-je recuperer l'ancienne valeur d'abord, et lui ajouter la nouvelle.?. et ainsi de suite??

Ne serait-ce pas excessivement lourd.. si un utilisateur se serait connecté plus de 1000 fois??? (donc 1000adresse ip a récupéré, + 1000 timestamp a récupéré.. :s)

Je vous remercie de toute l'aide que vous pourriez m'apporter


A voir également:

3 réponses

Nico_ Messages postés 1219 Date d'inscription vendredi 29 décembre 2006 Statut Membre Dernière intervention 15 mars 2016 189
13 nov. 2011 à 16:20
Bonjour,

Personnellement je trace les identifications de mes visiteurs et membres
j'ai une table de données avec 3 champs
Id
ip
datetime

J'efface ensuite les données dont la date est supérieur à 15 mois

je ne me soucis pas du nombre de lignes ni de la place
0
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
13 nov. 2011 à 16:23
Il est possible que tu es un problème sur tes clés primaires ou alors sur tes doublons.

Si tu as mis une clé primaire sur l'une de tes colonnes, il ne pourra pas insérer les données pour raison de contrainte.

Si tu mets une date avec une heure, ça évitera les doublons et l'insertion sera alors possible.
0
voici mes deux requetes la deuxiéme fonctionne, mais efface la donné précédente puisque c'est un UPDATE

mysql_query('INSERT INTO bddcom (lastip,lastsee) VALUES (
"'.$connexion.'","'.$time.'") WHERE name='.$_SESSION['user'].'')

mysql_query('UPDATE bddcom SET lastip="'.$connexion.'", lastsee="'.$time.'" WHERE name="'.$_SESSION['user'].'"')or die('Erreur de mise a jour bddcom'.mysql_error());
0
Sara426 Messages postés 671 Date d'inscription mardi 6 octobre 2009 Statut Membre Dernière intervention 16 décembre 2015 63
13 nov. 2011 à 21:17
Je ne sais pas comment ta base est organisé mais essaie de faire deux tables séparées.
Une qui retient l'adresse ip et le nom d'utilisateur et l'autre qui prend un identifiant (soit un auto incrément soit ip ou autre) et qui insére un nouveau tuple à chaque connexion. Comme l'heure est différente à chaque fois ça ne devrait pas poser de problème.
0