scrivere su database -2-

5 contenuti / 0 new
Ultimo contenuto
scrivere su database -2-

in riferimento al post http://www.drupalitalia.org/?q=node/1062

nella parte di codice

/*
---------------- FUNZIONI DI RICERCA ---------------------------------------

function soggetto_form_ricerca()
{
// Proprietà del form
$form['#method'] = 'post';
$form['#action'] = url('soggetto/ricerca');
// );
// Campo Nome/Ragione Sociale
$form['nome'] = array(
'#type' => 'textfield',
'#title' => t('Nome'),
'#size' => 50,
'#maxlength' => 50,
'#autocomplete_path' => 'soggetto/autocomplete/nome',
'#prefix' => '',
'#suffix' => '',
);

// Campo Partita Iva
$form['codicefiscale'] = array(
'#type' => 'textfield',
'#title' => t('P.Iva/Cod.Fiscale'),
'#size' => 45,
'#maxlength' => 16,
'#autocomplete_path' => 'soggetto/autocomplete/codice',
'#prefix' => '',
'#suffix' => '',
);

// Pulsante Ricerca
$form['search'] = array('#type' => 'submit', '#value' => t('Cerca'));

// Provvede a controllare il form completando eventuali valori omessi, costruisce e stampa il form
$output = drupal_get_form('soggetto_form_ricerca', $form);
return $output;
}

// VALIDAZIONE DEI DATI IMMESSI NEL FORM RICERCA
function soggetto_form_ricerca_validate($form_id, $form_values) {
}
// ESECUZIONE DOPO AVER VERIFICATO I DATI DEL FORM DI RICERCA
function soggetto_form_ricerca_submit($form_id, $form_values) {

// Trasforma i dati trasmessi nel post in dati di GET
drupal_goto('soggetto/lista', 'nome='.$form_values['nome']);
}
*/
la funzione ricerca pur essendo impostata per due campi nome e codice fiscale, funziona solo per nome, se cambio nell'ultima riga
drupal_goto('soggetto/lista', 'codicefiscale='.$form_values['codicefiscale']);
funziona solo per codice fiscale.
Come faccio a farli funzionare ambedue.

Quel codice l'ho postato come "studio" per chi vuol capire come collegarsi e interagire con una propria tabella. E' logico che non puoi fare una ricerca combinata tra codice fiscale e e nome. Se conosci già il codice fiscale è inutile mettere il nome, quindi se immetti il nome significa che non conosci il codice fiscale del cliente che vuoi cercare. Detto tutto cio, se comunque vuoi fare la riceca per due campi, devi passare i nomi dei campi e dei valori tramite URL. Nel codice di arrivo dovrai leggere queste variabili e fare la dovuta query.

// Trasforma i dati trasmessi nel post in dati di GET
drupal_goto('soggetto/lista', 'nome='.$form_values['nome'].'&codicefiscale='.$form_values['nome']);

P.S.
I passaggi che faccio, sembrano apparentemente superflui, in quanto avrei potuto mettere la query e la tabella da visualizzare, direttamente nell'hook_submit. Ma faccio un passaggio in più perchè..... vabbè, ti lascio sperimentare e batterci di naso ;-)

Ciao
Gianni

Io quello che vorrei riuscire a fare e proprio Se conosci già il codice fiscale cerca per codice fiscale,altrimenti cerca per nome.così come l'avevi pensato tu ma e questo che nn funziona.e non capisco perchè.
ti ringrazio sempre, questo codice mi ha fatto capire veramente un bel po di cosucce.

giuseppe

Ora funziona, anche se lascio uno dei campi bianco.

// Trasforma i dati trasmessi nel post in dati di GET
drupal_goto('soggetto/lista', 'nome='.$form_values['nome'].'&codicefiscale='.$form_values['nome']);

giuseppe

Avevo capito il contrario, ma il caso vuole che quel codice risolve il tuo problema (come da te notato) :-)
Effettivamente era un bug che, rivedendolo nel mio progetto ufficiale, avevo già corretto giorni fa.

Ciao
Gianni