Requete sql php

Résolu/Fermé
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 - 19 févr. 2009 à 08:19
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 - 19 févr. 2009 à 15:28
Bonjour,

voila je fai ma requete

$sqlnum = "SELECT MAX(NUMERO)
FROM JOUR ";

enfin je la récupère et veut l'incrémenté de un a chaque fois ke je veut insérer une ligne sachant que j'ai 6 ligne a insérer mon numero ne s'incrémente je ne vois pas comment faire

$result=odbc_result_all($req);
$num = $result++;

Je ne sais pas si je suis assez clair

pouvez vous m'éclairer svp?

merci d'avance
A voir également:

20 réponses

drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 09:11
up
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
19 févr. 2009 à 09:25
salut,

et un champ avec auto_increment ?

pour le code, il faut utiliser le bouton "garder la mise en forme".
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 09:34
je ne peut pas faire de bouton c'est dans une procédure lol

dsl mais dans l'entreprise ou je travaille je dois avoir un navigateur pas a la bonne version car je peut pas faire le truc pour la mise en forme.

donc je ne pense pas que ta solution fonctionne en aurais tu une autre

au pire si tu veut je peut mettre la page de code mais ca va faire long pour si peu
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
19 févr. 2009 à 09:44
et ben tu ajoutes des balises < code> et </ code> (sans espaces) ton navigateur devrait supporter…

et pour ta BDD, tu peux pas coller ton champ en auto increment ?
0

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

Posez votre question
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 09:51
si mais je sais pas pourquoi dans access ca ne fonctionne pas

je l'ai mis en auto incrément donc pas de problème

et dans le

insert into ... (numero, ....)
values ('',....)


c'est bien comme ca qu'est la syntaxe?
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
19 févr. 2009 à 10:02
access ?
mais tu travailles pas sur in site web ?

enfin bref…

dans ta requête d'insertion il faut que tu mettes tous les champs et comme valeur pour l'auto incrément tu envoies une chaîne vide.

de tête :
INSERT INTO `table` (`champ_auto`, `champ1`, `champ2`, `champ3`) VALUES ('', 'val1', 'val2', 'val3');
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:16
si je travaille pour un site web mais je suis obligé de travailler dans une base access c'est trop chiant bref j'ai déja essayé l'auto incrément avec cette syntaxe et ca ne fonctionne pas

alors je ne sais plus le message d'erreur je remat tout en place et je te met le msg d'erreur.
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:23
voila j'ai fait ca :

"INSERT  INTO JOUR (NUMERO , DATE_DEBUT, OUVERTURE, CADENCE, JOUR)
            VALUES ('', #$date#, 438, 68, 'Lundi') " ; 


dans la base numero est en numero auto

et il me répond

Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Type de données incompatible dans l'expression du critère., SQL state 22005 in SQLExecDirect in C:\Program Files\Apache Group\Apache2\htdocs\www\Logiciel\Insertion\Insertion_JOUR.php on line 33
22005

as tu une idée?
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 10:24
Salut,

Essaye de ne pas mettre le champ qui est en auto increment dans la liste.
INSERT INTO `table` (`champ1`, `champ2`, `champ3`) VALUES ('val1', 'val2', 'val3');
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:28
effectivement c'est ca merci je n'y avais pas pensé c'est trop bien

par contre

comment remettrel'incrément a zéro svp?
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 10:31
Si tu vides ta table avec un truncate ça doit remettre l'auto-increment à zéro.
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
19 févr. 2009 à 10:32
ALTER TABLE `table` AUTO_INCREMENT = 0;

ça t'arrive de faire des recherches avant de poster ?
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:33
ca c'est pour mysql pas opur access si?
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 10:40
Désolé, c'est un standard SQL, mais c'est vrai qu'avec microsoft, ça ne marche que rarement :(
Dalida a du te donner la solution. ( mais n'oublie pas aussi de supprimer les enregistrements présents sinon ça risque de poser des problèmes si c'est ta clé primaire ).
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:40
non le truncate ne se remet pas a zéro

pour dalida :

voici l'erreur pour le alter table

Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction ALTER TABLE., SQL state 37000 in SQLExecDirect in C:\Program Files\Apache Group\Apache2\htdocs\www\Logiciel\Insertion\Insertion_JOUR.php on line 35
37000
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 10:40
non le truncate ne se remet pas a zéro

pour dalida :

voici l'erreur pour le alter table

Warning: odbc_do() [function.odbc-do]: SQL error: [Microsoft][Pilote ODBC Microsoft Access] Erreur de syntaxe dans l'instruction ALTER TABLE., SQL state 37000 in SQLExecDirect in C:\Program Files\Apache Group\Apache2\htdocs\www\Logiciel\Insertion\Insertion_JOUR.php on line 35
37000
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 11:05
non je n'ai pas la solution les gars et oui cest ma clé primaire et du coup je suis bloque mnt lol
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 11:11
Si tu ne trouves pas de solutions, il y a des méthodes pas propres :
- Suppression du champ en auto-increment et recréation
- Ou alors il doit y avoir une option pour que l'auto-increment prenne les valeurs libres. Tu la met tu insères une première valeur ( ça devrait remettre 1 et après il devrait continuer ) et tu l'enlèves.
- Ou alors encore plus barbare, suppression de la table et recréation.

Tu as tout bien écrit pour ton alter :
ALTER TABLE `table` AUTO_INCREMENT = 0;
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 11:23
non bah ca fonctionne pas tanpis merci kan mm
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 14:29
Meme les méthodes barbares ? ? ?
0
drogba7213 Messages postés 1521 Date d'inscription mardi 14 août 2007 Statut Membre Dernière intervention 3 avril 2010 21
19 févr. 2009 à 15:21
bah fo ke je casse tout les liens c'est chiant en plus j'arrive pas a les recréé donc fo que je refasse le mcd sous win design donc c'est chiant je laisse pour le moment
0
Mikey_UFC Messages postés 312 Date d'inscription jeudi 8 mars 2007 Statut Membre Dernière intervention 2 août 2010 1
19 févr. 2009 à 15:28
Si tu veux que ton auto-increment reparte de 0, il faut tout d'abord vider ta table.
Si ta table contient des infos, il faudra supprimer les infos liées se trouvant dans d'autres tables ( si les contraintes ont un ON DELETE CASCADE, ça le fait automatiquement ).

D'autre part, je pense que la requête de Dalida ne fonctionne que si ta table est vide.
0