Information importante
En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".
Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact
De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.
Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".
Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.
Salut,
Permalien Soumis par gossuin le 8 Décembre, 2017 - 14:09
Salut,
Ben il te sort exactement ce qu'il y a dans le contenu de la table node...
la liste des nid, la date de création et de modification, le type, le cid, et l'uid.
Les autres champs sont des tables séparées, avec un entity_id pour faire le lien avec le nid du node.
Et il existe 2 commandes :
db_query, pour une requete sql brute, pas pdo
db_select, pour une requete pdo friendly, qui est plutot conseillé dans l'ensemble.
Si tu cherches un contenu précis, il faut joindre 2 tables : celle des nodes et celle du champ recherché.
Je te conseille VIVEMENT d'aller faire un tour dans ta db drupal pour voir comment c'est gaulé, avant d'y aller à l'aveugle comme tu sembles le faire. Le nom de tes champs ne correspond pas exactement au nom de tes tables, et chaque table possede des éléments différents selon son type de champ.
Du genre, pour le champs "body" :
// c'est trés important de séparer les appels de table comme dans l'exemple, ça ne marchera pas si tu fait tout d'une traite...
$query = db_select('node', 'n');
// table "node"=> 'n'
$query->join('field_data_body', 'b', 'n.nid = b.entity_id');
// table "field_data_body" => 'b', joint à 'n' via le nid
$query
->fields('n', array('nid', 'title'))
->condition('n.type', 'page')
->condition('n.status', '1')
->execute();
Voir :
https://www.drupal.org/docs/7/api/database-api
Si tu veux sortir TOUS les champs, alors sers-toi de la liste de nid que te donne ton résultat, et fait une boucle avec des node_load(). Evidement, ca va etre trés lourd en ressources.