éviter duplicaté dans écriture fichier

cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 3 nov. 2004 à 02:06
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004 - 4 nov. 2004 à 17:05
Salut,

J'utilise un base MySQL dans lequel j'envoi dans un fichier
Username:password

$req = mysql_query("SELECT count(*) from Prestige_Etape_2 ORDER BY Login");

//requête de recherche
$req = mysql_query("SELECT * from Prestige_Etape_2");

//on compte les résultats
$res = mysql_numrows($req);

while( $sortie = mysql_fetch_array($req))
{

//on vide les comptes expirés dans MySQL
{
$date_1 = date("Y-m-d");
$delete = "DELETE FROM Prestige_Etape_2 WHERE Expire < '$date_1'";
$query = Mysql_Query($delete);
}

  $fichier = $DOCUMENT_ROOT."/htpasswd/.htpasswd";

//on log les usagers existents
{
  $info_a_logger = ''.$sortie['Login'].':'.$sortie['Password'].'';
  $fp = fopen($fichier, "a");
  $buffer = "\n";
  $info_a_logger = ''.$sortie['Login'].':'.$sortie['Password'].'';
  fputs($fp, $info_a_logger.$buffer);
  fclose($fp);
}
}


la logique de ce script:

- comparer les infos de la table sql avec le fichier .htpasswd
- effacer les infos de .htpasswd que la table sql ne contient pas
- ajouter les infos sql que le fichier ne contient pas

Pour le moment, mon script ajoute ce que la table contient au moment où la page est affichée...

Il ne tient pas compte des suppressions de la table sql ni si il y a duplicata dans le fichier que l'on écrit (.htpasswd)

Je ne peux pas laisser le script comme cela, évidemment...

Comment faire pour qu'en lisant le fichier il détecte ce qui est différent et agisse en conséquence (ajout et/ou suppression) ???

Merci !

2 réponses

ToblerOWNED Messages postés 18 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 8 novembre 2004
4 nov. 2004 à 16:53
Tu peux utiliser la méthode gros bourrin en vidant à chaque fois le fichier totalement et en le remplissant. le problème c'est si plusiquers utilisateur utilisent le script en même temps.
Sinon ce que tu peux faire, c'est que tu mets toutes les infos du fichier dans un tableau, tu le compare avec les données de ta base et il supprime ceux qui n'y sont pas. ensuite tu prend toutes les données de la base et tu compare au fichier en ajoutant ceux qui n'y sont pas...

--------------------------

#68 - Yverdonducs.ch
0
cs_pyranhaz Messages postés 236 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 13 décembre 2004
4 nov. 2004 à 17:05
Le "gros bourrin" fera l'affaire en attendant de savoir comment faire ta deuxième solution...

Cette deuxième solution serait l'idéale, mes mes compétences en la matière freine mes ardeurs...

Je vais voir commet je peux faire ça le plus simplement du monde...
0
Rejoignez-nous