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

 


Dernière réponse
Sujet : [PHP/MySQL] accéder à un champs dans un résultat
Profil supprimé j'ai eu peur :))

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
j'ai eu peur :))
__Lolo__ ca je ne dis pas que c pas pratique ms c justement paske c pratique que c dangereux (comme souvent en info)
qd tu vois un select * dans un script t bien obligé d'aller voir sur la base ce que tu recuperes non ? :)  
 
enfin bon c clair que quand t'as 50 champs (ca m'est jamais arrivé c ptet pr ca :) ) c plus rapide (feignasse powa !! :D )
 
elcap > oui je lui indique les colonnes a recuperer

 

[edit]--Message édité par __Lolo__--[/edit]

__Lolo__ a écrit a écrit :

bah je fais un select ms pas * c tout  ;)  
 
le truc c que qd tu fais select *
1- ca te dis pas ce que tu recuperes qd tu te relis
2- tu recuperes la plupart du temps des trucs qui t'interesse pas




 
tu fais donc select from ??? ou tu lui donne systématiquement les noms des champs ?
 
2/ sauf quand tu as besoin de tout :))) ce qui est souvent mon cas ces temps-ci avec mes petites tables :))

seb666 Quand t'as besoin de tout les champs c quand même bien pratique de mettre * :)
si par contre t'as besoin de 5 champs et que le * t'en renvoi 50, c debile puisque ca bouffe du temps et le la memoire !
Et puis si tu prefixe les champs comme je le disais, tu sais ce que te renvoi * ...
__Lolo__ bah je fais un select ms pas * c tout  ;)  
 
le truc c que qd tu fais select *
1- ca te dis pas ce que tu recuperes qd tu te relis
2- tu recuperes la plupart du temps des trucs qui t'interesse pas
ben si tu as besoin de tout les champs.... pkoi pas faire de select ????
 
en plus moi on m'a jamais parlé d'informatique en cours :)))
__Lolo__ moi on m'a dit de pas faire de select * en cours dc je fais pas ...  :D (discipliné le lolo  :sarcastic: )
je crois que je vais effectivement passer par la modif de ma base de données... mais bon, c chiant et puis je me demandais si on pouvait faire autrement..... mais c'est plus propre de pas avoir de noms de champs identiques :)
seb666 la t'as pas de problème vu que tu a le jointure sur le champ ... donc les 2 champs contiennent la meme chose...
Pour ne jamais avoir ce genre de pb, fait comme moi : je prefixe tout les noms de champ d'un identifiant de trois lettre correspondant a la table.
ex :
table1 ->tb1_id
table2 ->tb2_id

__Lolo__ a écrit a écrit :

bah non ms la il sait pas de kel table tu parles




 
là par exemple :
 
SELECT * FROM materiels, sscategories, fabricants where materiels.id_fab = fabricants.id_fab and materiels.id_sscat = sscategories.id_sscat ORDER BY materiels.id_mat
 
je lui précise pas.... et pourtant ça marche... peut-être me sélectionne-t-il les deux id_sscat des deux tables puisque c'est * ???
 
alors je devrais utiliser select table1.*, table2.* (je viens de tester ça marche...)
 
Elcap :)

 

[edit]--Message édité par elcap--[/edit]

__Lolo__ bah non ms la il sait pas de kel table tu parles
lolo, d'habitudes, y'a pas besoin si ?
seb666 Deja dans la clause where, utilise des alias de table plutot que le nom complet...
pis essaye un truc du genre
select table1.*, table2.* pour les tables ou t'as pas besoin de faire d'alias de champs... je suis pas sur que ca marche en MySQL mais tu peut tjrs essayer
__Lolo__ le id_mat que tu selectionnes faut préciser si c un notes.id_mat ou un materiels.id_mat
tu sélectionnes un id_momnote qui doit etre un id_nomnote (notes.id_nomnite ou noms_notes.id_nomnote ?)

 

[edit]--Message édité par __Lolo__--[/edit]

ma requête fini par me sembler un tantinet compliquée non ???
 
$resultnotes = mysql_query("SELECT id_note, id_mat, id_mem, id_momnote, note, N.date_crea as date_crea_note, N.date_modif as date_modif_note, nom_note, M.date_crea as date_crea_mem, login, nom_mat  FROM notes N, noms_notes, materiels, membres M where notes.id_nomnote = noms_notes.id_nomnote and notes.id_mat = materiels.id_mat and notes.id_mem = membres.id_mem order by materiels.id_mat", $db);
 
le pb, c'est que jusque là je faisais select * et là je suis obligé de sélectionné chaque champs...  
 
en plus ça marche pas... c zarb...
je me demandais à quoi pouvais bien servir les alias :)))) j'ai ma réponse :)))
seb666 tu fais
select N.date_crea as date_notes, M.date_crea as membres_date from notes N, membre M .....
encore moi héhé :))
 
voici ce que je fais :
 
 
$resultnotes = mysql_query("SELECT * FROM notes, noms_notes, materiels, membres where notes.id_nomnote = noms_notes.id_nomnote and notes.id_mat = materiels.id_mat and notes.id_mem = membres.id_mem order by materiels.id_mat", $db);
 
while( $rownotes = mysql_fetch_object($resultnotes) )
{  
  echo $rownotes->date_crea;
}
 
seulement, j'ai un champs date_crea dans ma table notes ET dans ma table membres.... comment lui imposer de ne m'afficher que l'un ou lautre ???
 
merci :))
Elcap

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)