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
- Acheter colis perdu poste - Accueil - Services en ligne
18 réponses
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
2 mars 2009 à 12:44
2 mars 2009 à 12:44
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
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
2 mars 2009 à 13:03
2 mars 2009 à 13:03
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
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
3 mars 2009 à 10:39
3 mars 2009 à 10:39
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
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
3 mars 2009 à 11:12
3 mars 2009 à 11:12
//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
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
3 mars 2009 à 11:59
3 mars 2009 à 11:59
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é :(
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
3 mars 2009 à 12:17
3 mars 2009 à 12:17
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());
djkent1
Messages postés
363
Date d'inscription
jeudi 5 février 2009
Statut
Membre
Dernière intervention
20 mai 2015
48
3 mars 2009 à 14:13
3 mars 2009 à 14:13
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)