Rechercher : dans
Par :

Requete sql php

Dernière réponse le 19 fév 2009 à 15:28:50 drogba7213, le 19 fév 2009 à 08:19:33 
 Signaler ce message aux modérateurs

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

Configuration: Windows 2003
Internet Explorer 7.0

1

drogba7213, le 19 fév 2009 à 09:11:00

Up

Répondre à drogba7213

2

Dalida, le 19 fév 2009 à 09:25:56

Salut,

et un champ avec auto_increment ?

pour le code, il faut utiliser le bouton "garder la mise en forme".
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

3

drogba7213, le 19 fév 2009 à 09:34:35

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

Répondre à drogba7213

4

Dalida, le 19 fév 2009 à 09:44:43

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 ?
[ Mathieu ]

Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

5

drogba7213, le 19 fév 2009 à 09:51:53

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?

Répondre à drogba7213

6

Dalida, le 19 fév 2009 à 10:02:44

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');
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

7

drogba7213, le 19 fév 2009 à 10:16:27

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.

Répondre à drogba7213

8

drogba7213, le 19 fév 2009 à 10:23:49

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?

Répondre à drogba7213

9

Mikey_UFC, le 19 fév 2009 à 10:24:36

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');

Répondre à Mikey_UFC

10

drogba7213, le 19 fév 2009 à 10:28:20

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?

Répondre à drogba7213

11

Mikey_UFC, le 19 fév 2009 à 10:31:21

Si tu vides ta table avec un truncate ça doit remettre l'auto-increment à zéro.

Répondre à Mikey_UFC

12

Dalida, le 19 fév 2009 à 10:32:24

ALTER TABLE `table` AUTO_INCREMENT = 0;

ça t'arrive de faire des recherches avant de poster ?
[ Mathieu ]
Il y a sûrement des pandas pour ne dépendre de rien

Répondre à Dalida

13

drogba7213, le 19 fév 2009 à 10:33:43

Ca c'est pour mysql pas opur access si?

Répondre à drogba7213

16

Mikey_UFC, le 19 fév 2009 à 10:40:54

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 ).

Répondre à Mikey_UFC

14

drogba7213, le 19 fév 2009 à 10:40:42

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.p­hp on line 35
37000

Répondre à drogba7213

15

drogba7213, le 19 fév 2009 à 10:40:43

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.p­hp on line 35
37000

Répondre à drogba7213

17

drogba7213, le 19 fév 2009 à 11:05:25

Non je n'ai pas la solution les gars et oui cest ma clé primaire et du coup je suis bloque mnt lol

Répondre à drogba7213

18

Mikey_UFC, le 19 fév 2009 à 11:11:53

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;

Répondre à Mikey_UFC

19

drogba7213, le 19 fév 2009 à 11:23:34

Non bah ca fonctionne pas tanpis merci kan mm

Répondre à drogba7213

20

Mikey_UFC, le 19 fév 2009 à 14:29:41

Meme les méthodes barbares ? ? ?

Répondre à Mikey_UFC