MàJ "intellignete" d'une BDD SQL en PHP

Résolu/Fermé
mydanilove Messages postés 4 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 10 octobre 2007 - 1 oct. 2007 à 17:58
mydanilove Messages postés 4 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 10 octobre 2007 - 2 oct. 2007 à 14:32
Salut à tous !

Voici mon problème. Je voudrais mettre à jour une base de donnée SQL. Pour faire simple, je vais schématiser :

J'ai une liste de joueurs dans ma base de données avec un nombre de points...
id | Nom | Nbr points

Je veux donc :
- créer la fiche si elle est inexistante
- si elle existe : ajouter le nombre de points au précédent, séparé par un "-" => "26898-55696"... afin d'avoir sa progresison jour après jour.

Voilà !

je voudrais surtout quelques chose de très optimisé car il y aura environ 10.000 enregistrements...
A voir également:

2 réponses

Bonsoir,

je ne vais pas te faire tout le code mais te donner la methode:

il faut lire dans la base si fiche correspond à cet id

$question="SELECT * FROM ta_table WHERE id='.$id." ";
$rep=mysql_query($question);

3 cas :
1- la fiche n'éxiste pas
mysql_num_rows($rep==0)
il faut la creer par
INSERT INTO ta_table SET etc......

2- la fiche existe
mysql_num_rows($rep>0)
mais un seul score 26898 (par une fonction chaine de php tu recherches le "-")

il faut rajouter le deuxième score
au score lu Nbr_points tu rajoutes "-"Nouveau_score


3- la fiche existe mais avec double score

tu explode par rapport à "-" tu prends le deuxième auquel tu rajoutes "-"Nouveau_score


au passage dans ta base ne mets pas Nbr points mais Nbr_points pas d'espace dans les noms de champs

Voilà à toi de coder
0
mydanilove Messages postés 4 Date d'inscription lundi 1 octobre 2007 Statut Membre Dernière intervention 10 octobre 2007
2 oct. 2007 à 14:32
merci de la réponse, je l'ai essayé mais en fait comme j'ai beaucoup d'enregistrement à vérifier ça prend du temps...
Je pense que je vais rester là dessu :)

encore merci !
0