Précédent   Forum des professionnels en informatique > PHP > PHP & SGBD > PHP & MySQL
PHP & MySQL Forum d'entraide sur les fonctions MySQL avec PHP. Avant de poster -> FAQ MySQL, Cours MySQL et Sources MySQL. Pour les questions concernant le moteur MySQL plutôt que les fonctions PHP, merci d'utiliser le forum MySQL.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/01/2012, 14h50   #1
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
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 :
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 :
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
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 15h52   #2
Membre éprouvé
 
Développeur Web
Inscription : avril 2005
Messages : 395
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : avril 2005
Messages : 395
Points : 479
Points : 479
Salut,

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

la 1ère :
Code :
"SELECT * FROM TRAJET_BATEAU...
la 2ème :
Code :
"SELECT * FROM trajet_bateau
Le nom de la table trajet_bateau est en minuscule dans ta base ?
__________________
Zend PHP5 Certification
MySQL 4 Core Certification
Gats est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 15h59   #3
Modératrice
 
Avatar de Celira
 
Femme
Développeuse PHP/Java
Inscription : avril 2007
Messages : 3 671
Détails du profil
Informations personnelles :
Sexe : Femme
Âge : 27
Localisation : France

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

Informations forums :
Inscription : avril 2007
Messages : 3 671
Points : 5 404
Points : 5 404
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)

Pour afficher votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur)
Celira est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/01/2012, 17h43   #4
Nouveau Membre du Club
 
Inscription : janvier 2011
Messages : 146
Détails du profil
Informations forums :
Inscription : janvier 2011
Messages : 146
Points : 26
Points : 26
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
tanaka59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h56.


 
 
 
 
Partenaires

Hébergement Web