Inrémentation (j'suisi perdu)
bip
-
bip -
bip -
Bonjour,
VOila je voudrais savoir comment est-ce que je peut incrémenter en PHP ma variable "num"
enfaite c'est un petit form que le client rempli puis les infos sont enregistrer dans la bdd
il ne rempli pas le num(il est en hidden), car il lui sera attribué automatiquement
voila donc je voudrais seulement le code qui pourrait incrémenter ce num (pas la méthode d'auto-incrément qui est fourni par MYSQL)
merci
voila mon code
en html
<form method="POST" action="add.php">
<center>
<input type="hidden" name="num" size="10" />
<input type="text" name="nom" size="20" value="nom" maxlength="35" >
...
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
en php:
<for ($i =0; $i <= 5; $i++)
{
$num = $i;
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$num')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
là enfaite sa enregistre 5 fois un client avec un num de 1 A 5 a chaque fois
merci de votre aide
VOila je voudrais savoir comment est-ce que je peut incrémenter en PHP ma variable "num"
enfaite c'est un petit form que le client rempli puis les infos sont enregistrer dans la bdd
il ne rempli pas le num(il est en hidden), car il lui sera attribué automatiquement
voila donc je voudrais seulement le code qui pourrait incrémenter ce num (pas la méthode d'auto-incrément qui est fourni par MYSQL)
merci
voila mon code
en html
<form method="POST" action="add.php">
<center>
<input type="hidden" name="num" size="10" />
<input type="text" name="nom" size="20" value="nom" maxlength="35" >
...
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
en php:
<for ($i =0; $i <= 5; $i++)
{
$num = $i;
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$num')";
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
}
là enfaite sa enregistre 5 fois un client avec un num de 1 A 5 a chaque fois
merci de votre aide
A voir également:
- Inrémentation (j'suisi perdu)
- Code deverouillage telephone perdu - Guide
- Mot de passe bios perdu - Guide
- Mot de passe administrateur perdu windows 10 - Guide
- Code puk perdu - Guide
- J'ai perdu mes places de concert fnac - Forum Consommation & Internet
18 réponses
Bonjour,
Il faut que tu récupère dans ta BDD la dernière valeur incrémenté (dernier num de client enregistrer) et que tu lui ajoute 1.
Cordialement
Il faut que tu récupère dans ta BDD la dernière valeur incrémenté (dernier num de client enregistrer) et que tu lui ajoute 1.
Cordialement
merci de ta rep djkent
juste si tu pourrait me donner un pti bout de code stp ^^
j'ai l'idée mais par tro le code
je commence par la requete de recherche
mysql_query ("select max(num) from infos_tbl");
puis la modification
mysql_query ("UPDATE infos_tbl SET num = num + 1");
est-ce que c'est un ca???
merci
juste si tu pourrait me donner un pti bout de code stp ^^
j'ai l'idée mais par tro le code
je commence par la requete de recherche
mysql_query ("select max(num) from infos_tbl");
puis la modification
mysql_query ("UPDATE infos_tbl SET num = num + 1");
est-ce que c'est un ca???
merci
Pour la recherche ça me semble bon
Par contre pas de update sinon tu vas écraser ce qui existe déjà.
De ce que j'ai compris tu cherches à ajouter des clients?
Utilise un INSERT INTO VALUES après avoir stocké le resultat de ta recherche (+1) dans une variable
Par contre pas de update sinon tu vas écraser ce qui existe déjà.
De ce que j'ai compris tu cherches à ajouter des clients?
Utilise un INSERT INTO VALUES après avoir stocké le resultat de ta recherche (+1) dans une variable
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
voila ce que j'ai fai
mysql_query ("SELECT max(num) FROM infos_tbl");
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$num'++)";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
sauf qu'il me dit aucune valeur défini par défaut sur NUM , donc j'ai mi par défaut '1' mais sa n'enregistre rien le champ est vide
mysql_query ("SELECT max(num) FROM infos_tbl");
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$num'++)";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
sauf qu'il me dit aucune valeur défini par défaut sur NUM , donc j'ai mi par défaut '1' mais sa n'enregistre rien le champ est vide
Re:
il faut que tu mettes le résultat de :
Ensuite tu ajoute 1 a cette variable
Pour finir tu insert cette variable dans ta BDD
Petite question, pourquoi ne pas utiliser l'auto-incrément de MySQL?
il faut que tu mettes le résultat de :
mysql_query ("SELECT max(num) FROM infos_tbl"); dans une variable
Ensuite tu ajoute 1 a cette variable
Pour finir tu insert cette variable dans ta BDD
Petite question, pourquoi ne pas utiliser l'auto-incrément de MySQL?
est-ce que c'est ca :
voila ce que j'ai fais :
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url) VALUES('$nom','$prenom','$email','$titre','$url')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql2 = "SELECT max(num) FROM infos_tbl";
mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$sql2++;
mysql_query ("INSERT INTO infos_tbl(num) VALUES('$sql2')");
pour l'instant sa ajoute 1 pour tous
voila ce que j'ai fais :
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url) VALUES('$nom','$prenom','$email','$titre','$url')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
$sql2 = "SELECT max(num) FROM infos_tbl";
mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$sql2++;
mysql_query ("INSERT INTO infos_tbl(num) VALUES('$sql2')");
pour l'instant sa ajoute 1 pour tous
et il me dit
Erreur SQL !INSERT INTO infos_tbl(nom, prenom,email, titre, url) VALUES('nom','prenom','email','titre du site','url du site')
Field 'num' doesn't have a default value
donc j'ai mis une valeur par défaut dans num , j'ai mis "1" mais ya que le 1 pour tt le monde après
Erreur SQL !INSERT INTO infos_tbl(nom, prenom,email, titre, url) VALUES('nom','prenom','email','titre du site','url du site')
Field 'num' doesn't have a default value
donc j'ai mis une valeur par défaut dans num , j'ai mis "1" mais ya que le 1 pour tt le monde après
//Tu récupère le dernier numéros inséré et le met dans la variable num
$num = "SELECT max(num) FROM infos_tbl";
mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
//Tu incrémente cette variable de 1
$num ++;
//Tu insère tes données et le num avec pour créer un nouvel enregistrement.
mysql_query ("INSERT INTO infos_tbl(num,nom, prenom,email, titre, url) VALUES('$num','$nom','$prenom','$email','$titre','$url')");
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Je pense que comme ça c'est mieux mais je n'ai pas pus le tester, dsl
As tu vérifié ta requete select (SELECT max(num) FROM infos_tbl) dans MySQL?
Sinon je t'avous que je vois pas vraiment, en plus je peux meme pas testersur ce PC.
Je continus de regardé, je te tiens au courant
Sinon je t'avous que je vois pas vraiment, en plus je peux meme pas testersur ce PC.
Je continus de regardé, je te tiens au courant
voila ba je vien d'essayé la requete , alors quand le NUM 9 est enregistrer, pour la requete le MAX est 9 alors qu'il ya 78 ou 98 etc ... et donc j'ai supprimé 9 là il trouve bien le MAX 98
mais ce que je ne comprend pas c'est pourquoi la requete répond ainsi "Field 'num' doesn't have a default value"
je suis obligé de mettre un défault pour testé :(
mais ce que je ne comprend pas c'est pourquoi la requete répond ainsi "Field 'num' doesn't have a default value"
je suis obligé de mettre un défault pour testé :(
Je pense pas, faudrait que je vérifie, mais pourquoi te compliquer la tache en incrémentant toi même num?
parce que le reponsable veut un num de style P001, P002 etc ... :( et si ya un autre moyen je suis preneur
sayè la moitié du souci est réglé
il fallai pas séparé le NUM de cette requete
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
là il n'y a plu de message d'erreur mais lors de l'enregistrement il enregistre "T" dans le num pour tous les client
il fallai pas séparé le NUM de cette requete
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
là il n'y a plu de message d'erreur mais lors de l'enregistrement il enregistre "T" dans le num pour tous les client
pourquoi il veut affiché absolument "T" dans la bdd pour num
enfaite num est en VARCHAR je fais l'inscription et tt et il ajoute T pour num
j'ai changé VARCHAR PAR INT voila skil di
Erreur SQL !INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('nom','prenom','email','titre du site','url du site','T')
Incorrect integer value: 'T' for column 'num' at row 1
voila le code
$sql2 = "SELECT max(num) FROM infos_tbl";
mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$nb = $sql2['num'];
$nb++;
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
enfaite num est en VARCHAR je fais l'inscription et tt et il ajoute T pour num
j'ai changé VARCHAR PAR INT voila skil di
Erreur SQL !INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('nom','prenom','email','titre du site','url du site','T')
Incorrect integer value: 'T' for column 'num' at row 1
voila le code
$sql2 = "SELECT max(num) FROM infos_tbl";
mysql_query ($sql2) or die('Erreur SQL !'.$sql2.'<br>'.mysql_error());
$nb = $sql2['num'];
$nb++;
// on écrit la requête sql
$sql = "INSERT INTO infos_tbl(nom, prenom,email, titre, url, num) VALUES('$nom','$prenom','$email','$titre','$url','$nb')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
Ah oui exact, num est un varchar c'est pour ça qu'on peut pas faire le num+1. Je t'avous que la je sais pas trop comment faire.
Comme le num est de la forme P000, il faut peu etre concaténer la lettre dans une variable avec un nombre que tu incrémente dans une autre. Mais sa signifie qu'il faut convertir a un moment ton nombre en varchar je pense et sa, j'ai l'idée mais je sais pas le faire en php ( je suis encore débutant en php)
Comme le num est de la forme P000, il faut peu etre concaténer la lettre dans une variable avec un nombre que tu incrémente dans une autre. Mais sa signifie qu'il faut convertir a un moment ton nombre en varchar je pense et sa, j'ai l'idée mais je sais pas le faire en php ( je suis encore débutant en php)