Sql
RésoluUtilisateur anonyme -
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 :$ ''
--
L'orthographe c'est pas mon fort mais je fait un effort XD
De plus j'ajouterais simplement que... vous êtes en train de lire ma signature : )
Configuration: Windows XP Firefox 3.0.6
37 réponses
- 1
- 2
Le problème porte sur l’incrémentation des crédits d’un membre après la validation d’un code Allopass et sur la modification des données dans une base de données via PHP et MySQL. Plusieurs propositions suggèrent d’utiliser une requête UPDATE sur la table des utilisateurs pour augmenter les crédits existants, en ciblant l’identifiant du membre et en ajoutant le nombre de crédits. D'autres réponses précisent les aspects techniques, comme la connexion à la base, l’initialisation des variables et l’importance de tester le code côté serveur plutôt que côté client. Enfin, l’échange souligne l’importance de tester le script sur un environnement sûr et de corriger les éventuelles erreurs d’exécution côté serveur, afin d’assurer une opération fiable.
-
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."';"); -
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 ! -
$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(); -
$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);-
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 ?
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
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 -
la base de registre n'est pas gérée en SQL d'après ce que je sais
-
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 -
masi le programme est sur un site internet (genre php), sur l'ordi du gars (prog VB, C++ ou autre...) ????
-
-
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.-
é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.
-
-
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 =$
-
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();
?>
-
$host =intval "$hostnm"; -> je comprends pas trop mais tu dois sans doutes avoir raison ;)
c'est de l'ironie ? : $ -
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 ... -
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 ? " -
$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 ... -
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é ^_^
-
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. -
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 !! -
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();
?>
- 1
- 2