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 :

2 mêmes résultats différents = abérration [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut 2 mêmes résultats différents = abérration
    Bonjour

    C'est encore moi , je viens de constater une grosse abérration mais que je ne sais pas pourquoi ça fait cela .

    En tout premier lieu je sélectionne dans une liste déroulante d'un formulaire une compagnie et un trajet.

    Je passe les deux informations à une page suivante qui doit me les afficher en retrouvant " la référence "

    Par exemple " Marseille - Bastia " sur la compagnie " duchmoll " renverrai la reference "17" grace a cette requete :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $sqlt = "SELECT * FROM TRAJET_BATEAU WHERE comp='".mysql_real_escape_string($comp)."' AND trajet='".mysql_real_escape_string($trajet)."'";
     
    $reqt = mysql_query($sqlt) or die("'Erreur SQL !'".$sqlt."''".mysql_error());
     
    $datat = mysql_fetch_array($reqt);
     
    $ref_traj=$datat['ref_traj'];
     
    echo $comp.' '.$trajet.' '.$ref_traj*1 ;

    Hors ici je me retrouve non pas avec la reference "17" mais "0 "

    Et sur la même page quand je lance une seconde requête pour lister toutes les valeurs je me retrouve bien avec la reference "17" et non "0" .

    Code php : 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
    $sql = 'SELECT * FROM trajet_bateau';
    $req = mysql_query($sql) or die('Erreur SQL ! '.$sql.' '.mysql_error());
    echo "<div align=\"center\"><center> <table border=\"1\">";
    $i=0;
    while($data = mysql_fetch_array($req))
    {
    echo  "<tr> <td>";
    echo $data['ref_traj'];
    echo "</td> <td>";
    echo $data['comp'];
    echo "</td> </tr> <tr><td>";
    echo $data['trajet'];
    echo "</td> <td>";
    $i++;
    }
    echo " </table> </center></div>";

    Donc au final je retrouve avec 2 valeurs dont une aberrante. En gros " 0=17 " ???

    Le problème est que avec le requête qui doit retrouver la référence j'ai tester les 30 valeurs de la table, environ la moitier renvoi "0" au lieu de vrai valeur.

    Soit la requete est fausse , soit je doit refaire la table car c'est elle qui foire ?

    Merci d'un tuyau SVP car la je séche

    Merci d'avance
    Dernière modification par Invité ; 04/01/2012 à 15h01.

  2. #2
    Membre chevronné
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Par défaut
    Salut,

    pour commencer je vois une différence entre tes deux requêtes :

    la 1ère :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM TRAJET_BATEAU...
    la 2ème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "SELECT * FROM trajet_bateau
    Le nom de la table trajet_bateau est en minuscule dans ta base ?

  3. #3
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ce que tu peux faire, c'est afficher la requête via un echo et l'exécuter via PhpMyAdmin (ou assimilé) histoire de voir ce qu'elle renvoie vraiment...

    Et aussi pourquoi $ref_traj*1 ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  4. #4
    Invité
    Invité(e)
    Par défaut
    Salut

    Alors j'ai re testé en ne mettant que des majuscules ( comme dans la table )

    Pour : $ref_traj*1 >> c'est un essai que j'avais fait pour voir si foire encore ,

    >> Sous le SGBD la requête marche impec pourtant

    Finalement j'ai trouvé l'erreur qui vient des données de la base . J'avais plusieurs clefs primaires automatiques que j'avais du changé et au final au je n'aurais pas du changer les clefs primaires automatiques , bug de phpmyadmin a mon avis

    Encore merci à vous pour le dérangement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 22/05/2008, 12h58
  2. Réponses: 6
    Dernier message: 11/11/2007, 17h34
  3. Réponses: 6
    Dernier message: 24/05/2007, 13h40
  4. [SQL2K]Une même requête des résultats différents
    Par jeeerome dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 11/07/2006, 14h20
  5. Résultats différent entre une requête SQL, et la même en VBA
    Par thetaps dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 23/09/2005, 12h05

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