Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2822 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Requête : SELECT * FROM = ok , mais SELECT id, ... FROM = ko

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Requête : SELECT * FROM = ok , mais SELECT id, ... FROM = ko

n°1358621
oli1987
Posté le 03-05-2006 à 14:08:33  profilanswer
 

Bonjour,
 
Voilà, j'ai un petit soucis avec une requête.
 

Code :
  1. <?php
  2. mysql_connect("localhost", "******", "******" ) or die("Impossible de se connecter :  " . mysql_error());
  3. mysql_select_db("******" );
  4. $result = mysql_query("SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, match, score FROM r1d ORDER BY id" );
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  6. {
  7. ?>
  8.   <table align="center" width="500" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
  9.     <tr>
  10.       <td width="80"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[0]; ?></font></span></td>
  11.       <td width="200"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[1]; ?></font></span></td>
  12.       <td width="140"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[2]; ?></font></span></td>
  13.       <td width="80"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[3]; ?></font></span></td>
  14.     </tr>
  15.   </table>
  16. <?php
  17. }
  18. mysql_free_result($result);
  19. ?>


 
Le tableau avec les données de la table ne s'affiche pas!!
 
Bizarre, car avec un code +- similaire sur une autre page, ca fonctionne :
 

Code :
  1. <?php
  2. mysql_connect("localhost", "******", "******" ) or die("Impossible de se connecter :  " . mysql_error());
  3. mysql_select_db("******" );
  4. $result = mysql_query("SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, texte FROM news ORDER BY date DESC" );
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  6. {
  7. ?>
  8.   <table align="center" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="500" id="AutoNumber1">
  9.     <tr>
  10.       <td width="440"><span style="font-size: 8pt"><font face="verdana"><b><?php echo $row[0]; ?>. News postée le <?php echo $row[1]; ?></b></font></span></td>
  11.     </tr>
  12.     <tr>
  13.       <td width="440"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[2]; ?></font></span><hr align="left" color="#4C0099" width="400" size="1">
  14. </td>
  15.     </tr>
  16.   </table>
  17. <?php
  18. }
  19. mysql_free_result($result);


 
Pouvez vous m'aider ?
 

mood
Publicité
Posté le 03-05-2006 à 14:08:33  profilanswer
 

n°1358659
sielfried
Posté le 03-05-2006 à 14:55:23  profilanswer
 

Au hasard, la table 'r1d' est vide ? :spamafote:


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1358663
oli1987
Posté le 03-05-2006 à 14:56:48  profilanswer
 

non.
 
Lorsque j'effectue la requete en tapant SELECT * FROM r1d, tout se passe bien, mais mon but est de formater la date et je dois passer par  
 
SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, .... FROM r1d
 
Je ne comprends pas mon erreur

n°1358673
biboune77
Posté le 03-05-2006 à 15:03:41  profilanswer
 

Rajoute après chaque instruction mysql : or die('Erreur SQL :'.mysql_error());
 
Exemple :
 
$result = mysql_query("SELECT id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, match, score FROM r1d ORDER BY id" ) or die('Erreur SQL :'.mysql_error());

n°1358679
oli1987
Posté le 03-05-2006 à 15:09:29  profilanswer
 

ca ne change rien, aucun message d'erreur

n°1358682
olivthill
Posté le 03-05-2006 à 15:13:24  profilanswer
 

D'autres questions similaires ont déjà été postées ici, et il semble le nom "id" ait une signification spéciale pour MySQL.
La solution consiste à préfixer id avec le nom de la table :
SELECT r1d.id ... FROM r1d...

n°1358715
naceroth
Posté le 03-05-2006 à 15:33:14  profilanswer
 

Perso, je lis ça DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date et je me demande comment mysql ne crise pas, tu utilise comme nom d'alias un nom de champs qui est de plus un mot réservé :hello:

n°1358722
oli1987
Posté le 03-05-2006 à 15:37:40  profilanswer
 

nom d'alias ?
 
pourquoi ca marche dans un autre cas avec le même SELECT ?
 
pour r1d.id, ca ne marche pas non plus. Ma requete est la suivante désormais :
 

Code :
  1. <?php
  2. mysql_connect("localhost", "***", "***" ) or die("Impossible de se connecter :  " . mysql_error());
  3. mysql_select_db("***" );
  4. $result = mysql_query("SELECT DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date, match, score FROM r1d ORDER BY date" );
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  6. {
  7. ?>
  8.   <table align="center" width="450" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
  9.     <tr>
  10.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[0]; ?></font></span></td>
  11.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[1]; ?></font></span></td>
  12.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[2]; ?></font></span></td>
  13.     </tr>
  14.   </table>
  15. <?php
  16. }
  17. mysql_free_result($result);
  18. ?>


Message édité par oli1987 le 03-05-2006 à 15:40:30
n°1358733
olivthill
Posté le 03-05-2006 à 15:45:08  profilanswer
 

Oui la requête est désormais celle-là. Content de l'apprendre. :)  
Mais est-ce que cette nouvelle requête fonctionne ?
 
Tiens le id a disparu de la requête.
Donc c'est la date qui pose un problème ?
 
Choisir le mot "date" pour ces noms de variable est une autre prise de risque.
Ce mot "date" peut avoir une signification spéciale pour MySQL.
Pourquoi ne pas prendre des noms moins ordinaires et plus longs (date_du_truc), ou contenant des numéros (date1), ce qui permet d'éviter tous conflits éventuels avec des mots réservés ?
D'ailleurs, est-ce normal que le nom de l'alias soit "date" et que la colonne soit nommée "date" ?
Comment est-ce que MySQL va s'y retrouver dans toutes ces "date" ?
Peut-être qu'en essayant avec un alias différent du nom de la colonne, cela marcherait.
 

n°1358745
oli1987
Posté le 03-05-2006 à 15:52:13  profilanswer
 

ca va tjrs pas avec cette requette comme tu me dis
 

Code :
  1. <?php
  2. mysql_connect("localhost", "***", "***" ) or die("Impossible de se connecter :  " . mysql_error());
  3. mysql_select_db("***" );
  4. $result = mysql_query("SELECT DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date_match, match, score FROM r1d ORDER BY date_match" );
  5. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  6. {
  7. ?>
  8.   <table align="center" width="450" border="0" cellpadding="5" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111">
  9.     <tr>
  10.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[0]; ?></font></span></td>
  11.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[1]; ?></font></span></td>
  12.       <td width="150"><span style="font-size: 8pt"><font face="verdana"><?php echo $row[2]; ?></font></span></td>
  13.     </tr>
  14.   </table>
  15. <?php
  16. }
  17. mysql_free_result($result);
  18. ?>


 
 
et j'ai bien sur changé le nom de mon champ dans ma table qui s'appelle date_match mtnt


Message édité par oli1987 le 03-05-2006 à 15:52:46
mood
Publicité
Posté le 03-05-2006 à 15:52:13  profilanswer
 

n°1358750
olivthill
Posté le 03-05-2006 à 15:55:37  profilanswer
 

Bon, que reste-t-il à changer ?
Le format de la date ?
Ce n'est pas drôle quand on a un bug qui vous résiste, mais courage, la solution va bientôt venir.

n°1358765
oli1987
Posté le 03-05-2006 à 16:05:51  profilanswer
 

oui, il n'y a plus "quà formater la date"...
 
je ne comprends pas pourquoi il n'affiche rien

n°1358766
oli1987
Posté le 03-05-2006 à 16:06:07  profilanswer
 

le nom de ma table est trop court ? "r1d" ???

n°1358768
oli1987
Posté le 03-05-2006 à 16:06:57  profilanswer
 

je vais tout recommencer, en recréant tout, je vous dis si ca marche ou pas après

n°1358781
oli1987
Posté le 03-05-2006 à 16:15:52  profilanswer
 

Voilà mon code ci dessous, et le résultat là ==> http://bcml.no-ip.org/Equipes/R1D/accueil1.php
 

Code :
  1. <p align="center"><font face="verdana" size="4"><b><u>Régionale 1 Dames</u></b></font></p>
  2. <p align="left"><font face="verdana" size="2"><b>Calendrier & résultats</b></font></p>
  3. <table align="center" border="1" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="400">
  4.     <tr>
  5.       <td width="80" align="center"><font face="Verdana"><b>
  6.       <span style="font-size: 8pt; text-decoration: underline">Journée</span></b></font></td>
  7.       <td width="120" align="center"><font face="Verdana"><b>
  8.       <span style="font-size: 8pt; text-decoration: underline">Date</span></b></font></td>
  9.       <td width="120" align="center"><font face="Verdana"><b>
  10.       <span style="font-size: 8pt; text-decoration: underline">Match</span></b></font></td>
  11.       <td width="80" align="center"><font face="Verdana"><b>
  12.       <span style="font-size: 8pt; text-decoration: underline">Score</span></b></font></td>
  13.     </tr>
  14. </table>
  15. <?php
  16. mysql_connect("localhost", "***", "***" ) or die("Impossible de se connecter :  " . mysql_error());
  17. mysql_select_db("***" );
  18. $result = mysql_query("SELECT regundames.id, DATE_FORMAT(date,'%d-%m-%Y à %H:%i:%s') AS date_match, match, score FROM regundames ORDER BY regundames.id DESC" );
  19. while ($row = mysql_fetch_array($result, MYSQL_NUM))
  20. {
  21. ?>
  22. <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" width="400">
  23.     <tr>
  24.       <td width="80" align="center"><font face="Verdana"><b>
  25.       <span style="font-size: 8pt; text-decoration: underline"><?php echo $row[0]; ?></span></b></font></td>
  26.       <td width="120" align="center"><font face="Verdana"><b>
  27.       <span style="font-size: 8pt; text-decoration: underline"><?php echo $row[1]; ?></span></b></font></td>
  28.       <td width="120" align="center"><font face="Verdana"><b>
  29.       <span style="font-size: 8pt; text-decoration: underline"><?php echo $row[2]; ?></span></b></font></td>
  30.       <td width="80" align="center"><font face="Verdana"><b>
  31.       <span style="font-size: 8pt; text-decoration: underline"><?php echo $row[3]; ?></span></b></font></td>
  32.     </tr>
  33. </table>
  34. <?php
  35. }
  36. mysql_free_result($result);
  37. ?>

n°1358814
sielfried
Posté le 03-05-2006 à 16:29:38  profilanswer
 

Essaie :
DATE_FORMAT(`date`, '%d-%m-%Y à %H:%i:%s')


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1358834
oli1987
Posté le 03-05-2006 à 16:41:00  profilanswer
 

ca ne change tjrs rien :(

n°1361035
oli1987
Posté le 06-05-2006 à 22:27:09  profilanswer
 

problème résolu...
 
Mon champ "match" posait problème. En le remplacant par "game", tout va bien :D

n°1361087
cinocks
Posté le 07-05-2006 à 00:57:51  profilanswer
 

pour ce genre de bug où l'origine est aussi bete, il serait bon de tester la requete avec un bon phpMyadmin. Tu aurais eu de suite ce qui n'allait pas dans la requete. :o


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Requête : SELECT * FROM = ok , mais SELECT id, ... FROM = ko

 

Sujets relatifs
balise <SELECT>pb select/option value+php [resolu]
Requête champs calculésauthentification parfeu requete php
convertir macro excel en requete SQLRequête SQL avec VB
pblm de requete SQL besoin aide !!!ACCESS requete ajout Insert into - a l'aide !
AJAX et firefox j'arrive pas a envoyer une requete POST[SAGE] requete sql via odbc sous sage gestion commercial ligne 100
Plus de sujets relatifs à : Requête : SELECT * FROM = ok , mais SELECT id, ... FROM = ko


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR