IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

les entiers négatifs


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut les entiers négatifs
    Salut à tous.

    J'ai un provblème avec mysql : Gère-t-il d'une manière particulière les nombres négatifs ?

    parce que lorsque je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requette = "SELECT * FROM produits WHERE sous_type=$type AND stock<1000";
    je ne comprends par mais il me sort tous les enregistrements entre 1 et 999 mais pas 0 et moins.....

    pour info, stock est du MEDIUMINT.

  2. #2
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut

    Tu ne peux pas contourner le problème en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requette = 'SELECT * FROM produits WHERE sous_type='.$type.' AND stock BETWEEN -8388608 AND 1000';
    .
    PS : requête et pas requette

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut Mainteanta, c'est pire...
    ça marche toujours pas

    au cas où, voilà ma table :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    CREATE TABLE `produits` (
      `id` int(11) NOT NULL auto_increment,
      `intitule` tinytext NOT NULL,
      `commercant` int(11) NOT NULL default '0',
      `sous_type` int(11) NOT NULL default '0',
      `prix` double NOT NULL default '0',
      `frais_port` double NOT NULL default '0',
      `description` text NOT NULL,
      `stock` mediumint(9) NOT NULL default '0',
      `photo_type` tinytext NOT NULL,
      `photo_blob` blob NOT NULL,
      PRIMARY KEY  (`id`)
    ) TYPE=MyISAM AUTO_INCREMENT=23 ;
     
    -- 
    -- Contenu de la table `produits`
    -- 
     
    INSERT INTO `produits` 
        (`id`, `intitule`, `commercant`, `sous_type`, `prix`, `frais_port`, `description`, `stock`, `photo_type`, `photo_blob`) 
      VALUES 
        (1, 'Assiette', 24, 0, 8.05, 10.9, 'Asiette en Argile', 2, 'image/pjpeg', );
    INSERT INTO `produits` 
        (`id`, `intitule`, `commercant`, `sous_type`, `prix`, `frais_port`, `description`, `stock`, `photo_type`, `photo_blob`) 
      VALUES 
        (13, 'Jambon', 27, 0, 25, 2, 'lkg', 0, 'image/gif', ;
    INSERT INTO `produits` 
        (`id`, `intitule`, `commercant`, `sous_type`, `prix`, `frais_port`, `description`, `stock`, `photo_type`, `photo_blob`)
      VALUES 
        (10, 'ndmlknqlkfdnv', 24, 0, 1, 1, '1', 4, 'image/pjpeg', );

  4. #4
    Membre éprouvé Avatar de Aliosha
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    124
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 124
    Par défaut
    Bah... Dans ta base tu as des chiffres négatifs ?

    Parce que MEDIUMINT va de -8388608 à 8388607 (comme tu dois le savoir), donc c'est pas vraiment un problème de ce côté...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations forums :
    Inscription : Mars 2007
    Messages : 129
    Par défaut
    en fait, mon problème est aussi valable pour les stock=0 :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $requette = "SELECT * FROM produits WHERE sous_type=13 AND stock BETWEEN -8388608 AND 1000';
    avec la table que je vous ai montré, il me ressortira pas l'id n°13

  6. #6
    Membre Expert
    Avatar de trotters213
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    2 571
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 571
    Par défaut
    ça ne viendrait pas tout simplement de ton sous_type=13 qui n'est jamais vrai ?

Discussions similaires

  1. Espace disque alloué pour les entiers
    Par stos dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 30/10/2006, 14h17
  2. fstream >> probleme avec les entiers
    Par Acropole dans le forum SL & STL
    Réponses: 6
    Dernier message: 01/12/2005, 10h36
  3. Sélectionner tous les entiers dans une fourchette
    Par ludo.guy dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/07/2004, 09h15
  4. FormatFloat pour les entiers !?
    Par Lung dans le forum Langage
    Réponses: 5
    Dernier message: 10/04/2003, 15h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo