Query specifiche

8 contenuti / 0 new
Ultimo contenuto
Query specifiche

Salve,
vorrei un consiglio su come procedere e su cosa usare...
dovrei inserire una tabella nel database di drupal con delle informazioni. Ora in una pagina di drupal dovrei creare una pagina in php con dei campi di inserimento che servono per fare delle query sulla tabella appena inserita. Per fare ciò mi conviene utilizzare qualche modulo specifico di drupal o fare tutto "alla vecchia maniera" ??
Inoltre dovrei fare, tramite sempre form creati da me, delle query specifiche su dei documenti di drupal....anke qui nessun modulo mi può essere d'aiuto??

Dopo un pò di ricerche sono arrivato alla conclusione che mi piacerebbe sfruttare le potenzialità di drupal...
Ho letto la guida su http://www.drupalitalia.org/node/2537 e l'ho trovata molto interessante, ma ho dei dubbi ancora: tutto questo codice dove va inserito?giusto per provare se copio tutto quel codice in una nuova pagina creata in drupal ottengo qualcosa?
Una volta creato il form con quei dati dovrei fare le query....la connessione al database come viene?se faccio direttamente la query ottengo i risultati?

Ho trovato anche un modulo molto interessante: webform !Questo può essere utile in inserimento....ma nella ricerca??(forse sono io che non ho ben capito come funziona...!)

La sezione è sbagliata, sposto in sviluppo..

Ciao
Marco
--
My blog
Working at @agavee

Dopo aver cercato di capire come costruire un blocco mi sono bloccato su un problema che spero qualcuno mi aiuti a risolverlo...
Ho creato il blocco e ho testato ke la funzione principale funziona...poi però ho aggiunto due form nelle quali inserire le informaizioni da ricercare ma c'è qualcosa ke non funziona perkè non ritorna niente!
Ecco il codice (ovviamente questa è una bozza di prova!):

<?php
function mioModulo_help($section='') {
 
$output = '';
  switch (
$section) {
    case
"admin/help#mioModulo":
     
$output = '<p>'t("Ecco dove viene messo il modulo"). '</p>';
      break;
  }
  return
$output;
}
function
mioModulo_perm() {
return array(
'access mioModulo content','access mioModulo' ,'administer mioModulo');
}
function
cerca_form_dati_modifica($value = NULL) {
   
$form['principale']['id'] = array(
       
'#type' => 'hidden',
       
'#title' => t('id'),
       
'#value' => $value['id'],
      );
   
$form['principale']['nome'] = array(
       
'#type' => 'textfield',
       
'#title' => t('nome'),
       
'#size' => 7,
       
'#maxlength' => 12,
       
'#default_value' => $value['nome'],
       
'#description' => t('nome'),
      );
   
$form['principale']['email'] = array(
       
'#type' => 'textfield',
       
'#title' => t('email'),
       
'#size' => 41,
       
'#maxlength' => 40,
       
'#default_value' => $value['email'],
       
'#description' => t('email'),
      );
   
$form['submit'] = array(
         
'#type' => 'submit',
         
'#value' => t('Cerca'),
    );
    return
$form;
}  
function
theme_cerca_form_dati_modifica($form) {
   
$output = drupal_render($form['principale']['id']);
   
$rows[] = array(
        array(
'data' => drupal_render($form['principale']['nome']), 'colspan' => 4)
     );
   
$rows[] = array(
        array(
'data' => drupal_render($form['principale']['email']), 'colspan' => 4)
     );
   
$rows[] = array(
        array(
'data' => drupal_render($form['submit']), 'colspan' => 4)
    );
   
$output .= drupal_render($form);
   
$output .= theme('table', array(), $rows);
    return
$output;
}
function
cerca_form_dati_modifica_submit($form_id,$form_values){
  
$nome = $form_values['nome'];
  
$email = $form_values['email'];
  
$limite= variable_get("mioModulo_maxdisp", 2) ;                     
  
$query = "SELECT name FROM users WHERE name = '$nome'";
  
$queryResult = pager_query($query, $limite);
   while (
$links = db_fetch_object($queryResult)) {
  
$block_content2 .= t($links->name) . '<br />';
   }
   return
$block_content2;
}
function
mioModulo_block($op='list', $delta=0) {
  if (
$op == "list") {
    
$block[0]["info"] = t('Questa è una prova');
     return
$block;
  }else if (
$op == 'view') {
   
$block_content = drupal_get_form('cerca_form_dati_modifica',$value);
/*   (codice funzionante)
*    $limite= variable_get("mioModulo_maxdisp", 2) +;
 *
 *   $query = "SELECT name FROM users";
 *
 *  $queryResult = pager_query($query, $limite);// 0, NULL, NULL);
 *
 *  //$queryResult =  db_query($query);
 *
 *  while ($links = db_fetch_object($queryResult)) {
 *
 *    $block_content .= t($links->name) . '<br />';
 *
 *  }
  */
   
$block_content .= theme('pager', NULL, variable_get('default_nodes_main', 2));
   
//if ($block_content == '') { return;}
   
$block['subject'] = 'Ecco gli utenti';
   
$block['content'] = $block_content;
    return
$block;
  }
}
function
mioModulo_menu() {
 
$items = array();
 
$items[] = array(
   
'path' => 'admin/settings/mioModulo',
   
'title' => t('Impostazioni mio modulo'),
   
'description' => t('Imposta il modulo'),
   
'callback' => 'drupal_get_form',
   
'callback arguments' => 'mioModulo_admin',
   
'access' => user_access('access administration pages'),
   
'type' => MENU_NORMAL_ITEM,
   );
  return
$items;
}
function
mioModulo_admin() {
 
$form['mioModulo_maxdisp'] = array(
   
'#type' => 'textfield',
   
'#title' => t('Massimo numero di nomi'),
   
'#default_value' => variable_get('mioModulo_maxdisp', 2),
   
'#size' => 2,
   
'#maxlength' => 3,
   
'#description' => t("Il massimo numeri di nomi da vedere.")
  );
  return
system_settings_form($form);
}
?>

se inserisco un nome che di sicuro è un utente mi ritorna continuamente la pagina iniziale con le form vuote!Vorrei solo che mi uscisse nel blocco il nome ke ho inserito!Cosa sbaglio???

Sono riuscito a far stampare il nome ricercato però c'è qualcosa che non va!Ho inserito l'istruzione print theme('page', $block_content2); però la stampa fa sparire il menù di sinistra...come se non stampasse nel blocco centrale!
Inoltre poi se torno indietro con il browser mi da l'errore:

warning: Cannot modify header information - headers already sent by (output started at C:\www\drupalintranet\sites\all\modules\mioModulo\mioModulo.module:101) in C:\www\drupalintranet\includes\common.inc on line 309.

dove la riga 101 è proprio l'istruzione print!
Vi prego......aiutatemi!!!!

Stai scrivento un modulo in un blocco o ho capito male quello che fai? Crea un modulo vero e proprio (prendi spunto dagli example, in particolare il block) e usa quello schema per ottenere quello che vuoi.

Ciao
Marco
--
My blog
Working at @agavee

Sinceramente ho seguito questa guida... http://drupal.org/node/82926
Volevo costruire un modulo.....che potevo impostare dalla sezione amministrazione!Però forse ho confuso un pò le cose...!
Mi indicheresti il link degli esempi?(l'avevo trovato ma l'ho perso..!)

Ciao
Marco
--
My blog
Working at @agavee