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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de type dans une requête SQL

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème de type dans une requête SQL

n°1400973
MS-DOS_199​1
www.newbie-project.net
Posté le 05-07-2006 à 11:49:59  profilanswer
 

Bonjour à tous :)  
 
Je développe un forum et cherche en ce moment à coder la fonction qui permet à l'utilisateur de distinguer les forums lus de ceux qu'il n'a pas encore lu
 
J'ai réfléchi et ai trouvé (tout seul comme un grand :whistle: ) la solution qui me paraît être la meilleure :
(dans mes exemples, 1 désigne l'id du membre en cours)
 
* Quand un visiteur visite un forum, on ajoute son id dans un champ f_read de la table forums (pareil pour les sujets)
-> Concrètement, ça donne :

Code :
  1. UPDATE forums SET f_read = f_read + ', 1' WHERE f_id = 3

-> Ce qui donnera à terme quelque chose du genre f_read = '123, 54, 1, 2, 48, 87987, 654'
(bien entendu, dès qu'un membre poste dans le forum, je vide ce champ :sarcastic: )
 
* Ensuite, pour lister les forums, on fait une condition qui regarde si l'id du membre est dans la liste :

Code :
  1. SELECT [...] CASE WHEN 1 IN (f_read) THEN '1' ELSE '0' END AS f_read

... et j'affiche mes belles icones lu / non lu ;)  
 
Seulement voilà, je fais directement appel au champ f_read dans ma requête (avec IN (f_read) ) et MySQL me renvoie toujours 0 même quand mon id est dans le champ :heink:  
 
Je pense que c'est parce qu'il interprète mon champ comme du texte (et l'entoure donc avec des guillemets) et non comme une "suite de nombres séparés par des virgules" ... :sweat:  
 
En effet, la requête suivante marche parfaitement :

Code :
  1. SELECT [...] CASE WHEN 1 IN (123, 54, 1, 2, 48, 87987, 654) THEN '1' ELSE '0' END AS f_read


 
Ce qu'il faudrait, c'est convertir le contenu du champ en un format ("suite de nombres" ) que MySQL comprendrait, mais je sèche... :sweat:  
 
Des idées ?


---------------
Viendez sur le Newbie-Project et essayez le Newbie-Directory (nouveau)
mood
Publicité
Posté le 05-07-2006 à 11:49:59  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  Problème de type dans une requête SQL

 

Sujets relatifs
[MYSQL] Probleme de creation de table[Problème] - Template affichage :??:
En tete de champs dans SQL plusProblème envoi mail
probleme ON UPDATE CASCADE MYSQLprobleme avec un import fichier texte dans mysql
Probleme avec les evenements keyup et keydown[Résolu][PHP] Problème avec header()
Problème au survol d'un lien dans un div[SQL] [access] problème avec requête sur un champ de type date
Plus de sujets relatifs à : Problème de type dans une requête SQL


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