Sql

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,
j'aimerais savoir comment "écrire" dans la base de registre...
je m'explique je veut mètre un ''module'' de payement par allopass sur mon site
a chaque fois que un membre valide un code allopass il gagne 1 000point

''je connais presque rien en sql donc voila merci :$ ''

37 réponses

IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Si je comprends bien :

cat
clear
idm_idc
idu_idc
language
pass
site
tmp_mail
user

sont les noms de tes tables.

id
name
email
pass
share
own
credits
....

Sont les noms des champs de la table 'user';

Si tu veux augmenter le nombre de credits de tes membres, il ne faut pas insérer un nouvel enregistrement mais en modifier un existant :

mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
2
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Pour insérer une ligne dans une table SQL :

mysql_query("INSERT INTO table (nom_champ) VALUES ('valeur');");

Bien sur, avant ça tu dois créer la table et te connecter à ta BDD avec un mysql_connect() et un mysql_select_db().

Bon courage !
1
Utilisateur anonyme
 
merci : )

alors sa donnerai :


<php?
mysql_connect()
mysql_query("INSERT INTO table (nom_champ) VALUES ('+1000');");
mysql_select_db()
?>

désolé si je dit des connerie :$
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193 > Utilisateur anonyme
 
t ca implique que tu programmes en php ca
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
$host = "localhost";
$user = "root";
$pass="";
$db = "nom_de_la_base";
//a changer bien sur en fonction de ta base de données

mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("INSERT INTO ...
mysql_close();
1
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
$host =intval "$hostnm";
$user = "$usernm";
$pass="$pwd";
$db = "$dbName";



-> a ce moment, tu remplace directement les noms de variable dans le reste du code ....

mysql_connect($hostnm,$usernm,$pwd);
1
Utilisateur anonyme
 
a oui en plus c'est logique : $ désolé



<php?
require('error_inc.php');
require('config_inc.php');


mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
mysql_close();
?>




comme sa ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Oui ca semble être à peu près ça :

Sauf :

<php? -> <?php
$user = "$usernm"; -> $user = $usernm; -> les guillemets ne servent à rien dans ce cas là
$host =intval "$hostnm"; -> je comprends pas trop mais tu dois sans doutes avoir raison ;)

et bien entendu, tu dois aussi initialiser les variables '$nombre_de_credits' et '$id_du_membre_qui_recoit_les_credits' avec les bonnes valeurs
1
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
la base de registre n'est pas gérée en SQL d'après ce que je sais
0
Utilisateur anonyme
 
je me trompe surement quelque par ^_^

pour parlé avec mais mot "plus simple" je voudrais que lorsque un membre va sur une page il gagne des point sur son compte
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
masi le programme est sur un site internet (genre php), sur l'ordi du gars (prog VB, C++ ou autre...) ????
0
Utilisateur anonyme
 
oui mon site est en php

0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193
 
la prochjaine fosi précise.....

étant donné que le php s'execute coté client, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
étant donné que le php s'execute coté client, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
→ étant donné que le php s'execute coté serveur, il est impossible d'acceder a la base de registre.. donc en effet, il faut utiliser la base de données de ton site.
0
Nabla's Messages postés 18203 Date d'inscription   Statut Contributeur Dernière intervention   3 193 > Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention  
 
oupas!!!! honte sur moi, méa culpa !!!
j'ai voulu dire ne s'execute pas coté client ....
0
Utilisateur anonyme
 
merci c'est bien détaillé tout se qu'il fo mais ,,, sur ma base de donné il y a plusieurs branche ,,,,
cat
clear
idm_idc
idu_idc
language
pass
site
tmp_mail
user


alors quand je suis dans mysql et que je clic sur user il y a encor plusieurs "branche"

id
name
email
pass
share
own
credits
....

et les point vont se rajouté automatiquement dans
user/credits ?

ou c'est plus compliqué ?


merci encore =$

0
Utilisateur anonyme
 
alors voila ,,,, : $ j'éspére avoir tout bon : D mais fo pas révé ^_^


<php?
require('error_inc.php');
require('config_inc.php');


$host =intval "$hostnm";
$user = "$usernm";
$pass="$pwd";
$db = "$dbName";

mysql_connect($host,$user,$pass);
mysql_select_db($db);
mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
mysql_close();
?>



0
Utilisateur anonyme
 
$host =intval "$hostnm"; -> je comprends pas trop mais tu dois sans doutes avoir raison ;)


c'est de l'ironie ? : $
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
non, pas tout à fait ...

je pensais que tu avais copié/collé ça d'ailleurs dans ton code et qu'il y a avait une bonne raison (que je connais pas) de faire ça comme ça ...
0
Utilisateur anonyme
 
petite modification ,,,,

alors page principale :

<?php
require('config_real_inc.php');


mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$id_du_membre_qui_recoit_les_credits."';");
mysql_close();
?>



page config_real_inc.php :

<?
$hostnm = "..........";
$usernm = "............";
$pwd = "..........";
$dbName = "............";
$nombre_de_credits = "1000";
$id_du_membre_qui_recoit_les_credits = "...." //je voie pas quoi métre ici : (
.....
.....
.....




sa devrai fonctionné comme sa ? "
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
$id_du_membre_qui_recoit_les_credits = "...." //je voie pas quoi métre ici : (

je ne voie pas quoi métre ici -> je ne vois pas quoi mettre ici ... ;)

Ben cette valeur tu dois la récupérer dans les sessions par exemple ...

Généralement, quand un membre se connecte sur un site, il existe ensuite une variable du genre $_SESSION['id_membre'] qui permet de savoir quel est le membre qui s'est identifié.

Donc : $id_du_membre_qui_recoit_les_credits = $_SESSION['id_membre'];

Et tu ne dois pas mettre $nombre_de_credits et $id_du_membre_qui_recoit_les_credits dans ton fichier 'config' mais dans le même fichier que la requête ... sinon ce sera toujours le même membre qui recevra toujours le même nombre de credits (pour les credits, c'est peut-être voulu, je ne sais pas) !

J'espère avoir été à peu près clair ...
0
Utilisateur anonyme
 
voila je pense que c'est bon : $


page principalles :

<?php
require('config_real_inc.php');
require('config_inc.php');

mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$t_user"';");
mysql_close();
?>

page config_real_inc.php :

<?
// your mysql database details
$hostnm = "......";
$usernm = ".......";
$pwd = "......";
$dbName = ".....";
$nombre_de_credits = "1000";
....
....
...



page config_inc :

<?

require_once("config_real_inc.php");
$num_en=10;

$t_language= "language";
$t_user= "user";
$t_site= "site";
$t_clear= "clear";
$t_cat= "cat";
$t_idu_idc= "idu_idc";
$t_idm_idc= "idm_idc";
$t_tmp_mail= "tmp_mail";
....
...
...
...

j'éspére que c'est bon ! : $ réste plus qua tésté ^_^
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
Oui, ça semble bon ...

Sauf le ="1000"; ... ce n'est pas une erreur mais les guillemets ne sont pas nécessaires autour d'un nombre.
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
je pense que aurais du lui dire de tester, il va pas oser sinon…
-:oD
0
IpIpIpIpOne Messages postés 436 Date d'inscription   Statut Membre Dernière intervention   116
 
En relisant ... non, finalement, c pas bon ... :D

$t_user= "user";

-> ca c'est nimporte quoi ...

Tous tes utilisateurs n'ont pas 'user' pour id ... l'id ($t_user) doit être un nombre unique et propre à chaque utilisateur !!
0
Utilisateur anonyme
 
alors peut étre sa :

<?php

unset($login,$pwrd,$id);
session_start();
session_register("login","pwrd","id");

require('config_real_inc.php');
require('config_inc.php');

mysql_connect($hostnm,$usernm,$pwd);
mysql_select_db($dbName);
mysql_query("UPDATE user SET credits=credits+".$nombre_de_credits+" WHERE id='".$usernm"';");
mysql_close();
?>
0
Dalida Messages postés 6728 Date d'inscription   Statut Contributeur Dernière intervention   922
 
et quand tu testes ça donne quoi ?

c'est de la programmation, pas de la théorie.
tu vas pas écrire ton script en entier sur le forum en le faisant valider par des tiers avant de tester !

tu essaies et tu vois !
si il y a une erreur tu la donnes et comme ça tu vas avancer !
0