Query specifiche

Joe
Posts: 32
Iscritto il: 03 Giu 07

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??


Joe
Posts: 32
Iscritto il: 03 Giu 07

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...!)


Posts: 2049
Iscritto il: 01 Gen 07
Admin di Drupal ItaliaSviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneTraduttore

La sezione è sbagliata, sposto in sviluppo..

__________________

Ciao
    Mavimo
_________________
Io mio sito su Drupal, CFD e OpenFOAM (e se vi chiedete cosa c'entrano l'uno con l'altro.. bhè, non so nemmeno io la risposta Sticking out tongue )


Joe
Posts: 32
Iscritto il: 03 Giu 07

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???


Joe
Posts: 32
Iscritto il: 03 Giu 07

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!!!!


Posts: 2049
Iscritto il: 01 Gen 07
Admin di Drupal ItaliaSviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneTraduttore

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
    Mavimo
_________________
Io mio sito su Drupal, CFD e OpenFOAM (e se vi chiedete cosa c'entrano l'uno con l'altro.. bhè, non so nemmeno io la risposta Sticking out tongue )


Joe
Posts: 32
Iscritto il: 03 Giu 07

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..!)


Posts: 2049
Iscritto il: 01 Gen 07
Admin di Drupal ItaliaSviluppatore DrupalDrupal Monkey. Mangio moduli e API a colazioneTraduttore

Vieni su IRC: http://www.drupalitalia.org/pjirc

__________________

Ciao
    Mavimo
_________________
Io mio sito su Drupal, CFD e OpenFOAM (e se vi chiedete cosa c'entrano l'uno con l'altro.. bhè, non so nemmeno io la risposta Sticking out tongue )


Condividi contenuti