Requete sql php

Résolu
drogba7213 Messages postés 1550 Statut Membre -  
Mikey_UFC Messages postés 315 Statut Membre -
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

20 réponses

  1. drogba7213 Messages postés 1550 Statut Membre 22
     
    up
    0
  2. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    salut,

    et un champ avec auto_increment ?

    pour le code, il faut utiliser le bouton "garder la mise en forme".
    0
  3. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  4. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  7. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    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
  8. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  9. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  10. Mikey_UFC Messages postés 315 Statut Membre 1
     
    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
  11. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  12. Mikey_UFC Messages postés 315 Statut Membre 1
     
    Si tu vides ta table avec un truncate ça doit remettre l'auto-increment à zéro.
    0
  13. Dalida Messages postés 7114 Date d'inscription   Statut Contributeur Dernière intervention   923
     
    ALTER TABLE `table` AUTO_INCREMENT = 0;

    ça t'arrive de faire des recherches avant de poster ?
    0
  14. drogba7213 Messages postés 1550 Statut Membre 22
     
    ca c'est pour mysql pas opur access si?
    0
    1. Mikey_UFC Messages postés 315 Statut Membre 1
       
      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
  15. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  16. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
  17. drogba7213 Messages postés 1550 Statut Membre 22
     
    non je n'ai pas la solution les gars et oui cest ma clé primaire et du coup je suis bloque mnt lol
    0
  18. Mikey_UFC Messages postés 315 Statut Membre 1
     
    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
  19. drogba7213 Messages postés 1550 Statut Membre 22
     
    non bah ca fonctionne pas tanpis merci kan mm
    0
  20. Mikey_UFC Messages postés 315 Statut Membre 1
     
    Meme les méthodes barbares ? ? ?
    0
  21. drogba7213 Messages postés 1550 Statut Membre 22
     
    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
    1. Mikey_UFC Messages postés 315 Statut Membre 1
       
      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