Back to top

Autore Topic: problemino autocompleter db con doppio textbox  (Letto 3055 volte)

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
problemino autocompleter db con doppio textbox
« il: 28 Giu 2016, 12:04:55 »
salve ragazzi, ho un problemino nel salvataggio dei dati.

Ho due textbox in lettura da una tabella con due campi codiceprodotto e nomeprodotto

1) textbox codiceprodotto con autocompleter
2) textbox nomeprodotto

autocompleter con codice

Codice: [Seleziona]
  <?php
    
foreach($form->data['Datacom'] as $un_codice){
        if(!empty(
$form->data['tag']) AND stripos($un_codice['codiceprodotto'], $form->data['tag']) === false){
            continue;
        }
        
$json[] = array('id' => $un_codice['nomeprodotto'], 'text' => $un_codice['codiceprodotto']);
    }
    echo 
json_encode($json);
    
?>


load javascript in on load (per textobox nomeprodotto) con codice

Codice: [Seleziona]
jQuery(document).ready(function(jQ) {
  jQ('#codiceprodotto').on("select2-selecting", function(evt) {
    jQ('#nomenome').val(evt.choice.id);
  });
});

#codiceprodotto l'ID dell'autocompleter e #nomenome l'ID del texbox nomeprodotto


Nel form che compilo funziona tutto bene, nel codiceprodotto visualizza il codice e il nomeprodotto il nome del prodotto

Al momento del salvataggio nelo db succede il problema, in codiceprodotto salva il nome e in nomeprodotto non salva niente

C'è qualcuno più esperto di me che capisce dove sta il problema ??

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #1 il: 28 Giu 2016, 13:21:22 »
controlla che il name del campo del nomeprodotto coincida con quello del campo della tabella in cui va salvato

metti anche delle action debugger per vedere cosa succede in certi punti del On Submit
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #2 il: 28 Giu 2016, 16:14:23 »
controlla che il name del campo del nomeprodotto coincida con quello del campo della tabella in cui va salvato

metti anche delle action debugger per vedere cosa succede in certi punti del On Submit

ciao vales, grazie dell'aiuto....in effetti c'era qualche problemino dove hai detto...ho sistemato un po di cose e ricreato e rigenerato tabella/mail

riepilogo
autocompleter

Codice: [Seleziona]
<?php
foreach($form->data['Datacom'] as $uno){
    if(!empty(
$form->data['tag']) AND stripos($uno['codiceprodotto'], $form->data['tag']) === false){
        continue;
    }
    
$json[] = array('id' => $uno['nomeprodotto'], 'text' => $uno['codiceprodotto']);
}
echo 
json_encode($json);
?>

javascript

Codice: [Seleziona]
jQuery(document).ready(function(jQ) {
  jQ('#codice').on("select2-selecting", function(evt) {
    jQ('#nome').val(evt.choice.id);
  });
});

nel form visivo vedo tutto correttamente al suo posto
nella mail e nel db mi restituisce due volte il nome del prodotto (sia nel campo codice che nel nome)


non vorrei azzardare ma secondo me il problema sta nel codice autocompleter...c'è un po di confusione li



questo il debug

Codice: [Seleziona]
Data Array

Array
(
    [option] => com_chronoforms5
    [view] => form
    [Itemid] => 127
    [chronoform] => PRATICA
    [event] => submit
    [codiceutente] => WebMaster
    [mail] => polizzano@feelplus.it
    [datapratica] => 28-06-2016
    [contatto] => inserire nome e/o telefono se diverso
    [codice] => DH-9000                  18"45
    [nome] => DH-9000                  18"45
    [descrizionedifetto] => ygje
    [manifestazionedifetto] => yytjtej
    [datigaranzia] => 0
    [numeroddt] => 1234.55555
    [dataddt] => 14/06/2016
    [datascontrino] =>
    [dichiarazione] => 1
    [inviopratica] => INVIA PRATICA
    [mailutente] => polizzano@feelplus.it
    [id] => 57
    [ip_address] => xxxxxxxx
)

Array
(
)

Errors

Array
(
)

Debug Info

Array
(
    [4] => Array
        (
            [DB Save] => Array
                (
                    [Queries] => Array
                        (
                            [0] => INSERT INTO `garanzia_pratiche` (`codiceutente`, `mail`, `datapratica`, `contatto`, `descrizionedifetto`, `manifestazionedifetto`, `datigaranzia`, `numeroddt`, `dataddt`, `datascontrino`, `dichiarazione`, `inviopratica`, `user_id`, `uniq_id`, `created`) values ('WebMaster', 'polizzano@feelplus.it', '28-06-2016', 'inserire nome e/o telefono se diverso', 'ygje', 'yytjtej', '0', '1234.55555', '14/06/2016', '', '1', 'INVIA PRATICA', '628', '9ea886d0cf259f33c1cf773a3523549383e37a8e', '2016-06-28 16:03:36');
                        )

                )

        )

    [9] => Array
        (
            [Email] => Array
                (
                    [0] => An email with the details below was sent successfully:
                    [1] => To:polizzano@feelplus.it, garanzia@feelplus.it
                    [2] => Subject:FEELPLUS - Pratica di Assistenza
                    [3] => From name:FEELPLUS - Assistenza Tecnica
                    [4] => From email:garanzia@feelplus.it
                    [5] => CC:
                    [6] => BCC:
                    [7] => Reply name:
                    [8] => Reply email:
                    [9] => Attachments:
                    [10] => Array
                        (
                        )

                    [11] => Body:
<table border="1">
<tr><td>Codice Utente</td><td>WebMaster</td></tr>
<tr><td>E-Mail</td><td>polizzano@feelplus.it</td></tr>
<tr><td>Data Pratica</td><td>28-06-2016</td></tr>
<tr><td>Contatto</td><td>inserire nome e/o telefono se diverso</td></tr>
<tr><td>Codice Prodotto</td><td>DH-9000                  18"45</td></tr>
<tr><td>Nome Prodotto</td><td>DH-9000                  18"45</td></tr>
<tr><td>Descrizione Difetto</td><td>ygje</td></tr>
<tr><td>Come si è manifestato il difetto ?</td><td>yytjtej</td></tr>
<tr><td>Dati garanzia</td><td>0</td></tr>
<tr><td>N. DDT</td><td>1234.55555</td></tr>
<tr><td>Data DDT</td><td>14/06/2016</td></tr>
<tr><td>Data Scontrino</td><td></td></tr>
<tr><td>Scontrino</td><td></td></tr>
<tr><td>id</td><td>57</td></tr>
</table><br /><br />IP: xxxxxxx
                )

        )

)

« Ultima modifica: 28 Giu 2016, 16:17:57 da Ago_ »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #3 il: 28 Giu 2016, 16:25:38 »
mi sembra strana questa riga
Codice: [Seleziona]
    $json[] = array('id' => $uno['nomeprodotto'], 'text' => $uno['codiceprodotto']);
a logica id dovrebbe essere associato a codiceprodotto e text a nomeprodotto

ma non conoscendo i campi delle tabelle usate per autocompleter e db save è difficile essere precisi
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #4 il: 28 Giu 2016, 16:40:48 »
mi sembra strana questa riga
Codice: [Seleziona]
    $json[] = array('id' => $uno['nomeprodotto'], 'text' => $uno['codiceprodotto']);
a logica id dovrebbe essere associato a codiceprodotto e text a nomeprodotto

ma non conoscendo i campi delle tabelle usate per autocompleter e db save è difficile essere precisi

mmm...in effetti non avevo mai fatto caso a quell'id in mezzo al codice...

la tabella dei codici è composta solo da due campi (codiceprodotto,nomeprodotto), non esiste nessun campo id in questa tabella.

il campo id esiste nella tabella di salvataggio del form, a parte ovviamente (campo autoincrementale che crea il sistema chronoforms alla creazione della tabella di salvataggio del form)

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #5 il: 28 Giu 2016, 17:33:23 »
dal debug che hai postato e da quello che hai precisato penso che il codice dovrebbe essere modificato così:
Codice: [Seleziona]
<?php
foreach($form->data['Datacom'] as $uno){
    if(!empty(
$form->data['tag']) AND stripos($uno['nomeprodotto'], $form->data['tag']) === false){
        continue;
    }
    
$json[] = array('id' => $uno['codiceprodotto'], 'text' => $uno['nomeprodotto']);
}
echo 
json_encode($json);
?>

inoltre nei campi della tabella che viene salvata non ci sono i campi codice e nome
« Ultima modifica: 28 Giu 2016, 17:41:05 da vales »
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #6 il: 28 Giu 2016, 17:56:37 »
dal debug che hai postato e da quello che hai precisato penso che il codice dovrebbe essere modificato così:
Codice: [Seleziona]
<?php
foreach($form->data['Datacom'] as $uno){
    if(!empty(
$form->data['tag']) AND stripos($uno['nomeprodotto'], $form->data['tag']) === false){
        continue;
    }
    
$json[] = array('id' => $uno['codiceprodotto'], 'text' => $uno['nomeprodotto']);
}
echo 
json_encode($json);
?>

inoltre nei campi della tabella che viene salvata non ci sono i campi codice e nome

con questo codice nel form si invertono, quindi nel codice autocompleter si vede il nome...e nel campo nome compare il codice
appena salvo nella mail e nel db in entrambi i campi compare il codice

nella tabella di salvataggio ci sono molte colonne tra cui codiceprodotto (dove si salva il codice e nomeprodotto per il nome)

io mi chiedo, questo "id" nel codice a cosa si riferisce, purtroppo non sono un programmatore da zero e qualche passaggio delle stringhe mi salta...
« Ultima modifica: 28 Giu 2016, 18:04:00 da Ago_ »

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #7 il: 28 Giu 2016, 18:17:21 »
Citazione
nella tabella di salvataggio ci sono molte colonne tra cui codiceprodotto (dove si salva il codice e nomeprodotto per il nome)

appunto nel form non hai campi con quei nomi, quindi non possono essere salvati.

id e text sono nella funzione ajax e non influiscono nelle successive operazioni. text è ciò che si vede nel campo e id e ciò che viene inserito realmente come valore.

hai un link al form
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #8 il: 28 Giu 2016, 18:20:12 »
appunto nel form non hai campi con quei nomi, quindi non possono essere salvati.

id e text sono nella funzione ajax e non influiscono nelle successive operazioni. text è ciò che si vede nel campo e id e ciò che viene inserito realmente come valore.

hai un link al form

allora se nomino i due campi della tabella di salvataggio con codiceprodotto e nomeprodotto come nella tabella del read DB...dovrebbe funzionare...

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #9 il: 28 Giu 2016, 18:36:43 »
direi di si
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #10 il: 28 Giu 2016, 18:56:09 »
niente, con queste impostazioni e campi db uguali alla tabella dei codici, nel form si invertono i campi e nel db/mail si visualizza in entrambi il codice

questo il link
http://atalabici.net/garanzia/index.php?option=com_chronoforms5&view=form&Itemid=127

Offline vales

  • Global Moderator
  • Instancabile
  • *****
  • Post: 8012
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #11 il: 28 Giu 2016, 19:08:45 »
mi sembra che in campo nome prende il valore del codice e questo dipende dal javascript che hai realizzato
Download e demo di Albo Pretorio On Line per Joomla 1.5 e Joomla 2.5 e 3
Moduli scuola On Line v1 per Joomla 3
http://valesweb.altervista.org

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #12 il: 28 Giu 2016, 19:11:29 »
mi sembra che in campo nome prende il valore del codice e questo dipende dal javascript che hai realizzato

allora il colpevole è qua...

Codice: [Seleziona]
jQuery(document).ready(function(jQ) {
  jQ('#codiceprodotto').on("select2-selecting", function(evt) {
    jQ('#nomeprodotto').val(evt.choice.id);
  });
});


Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #13 il: 29 Giu 2016, 08:59:07 »
vales grazie per l'aiuto, ma visto i problemi ho deciso di unire i due campi nomeprodotto e codice prodotto e fare unico campo textbox con autocompleter, così taglio la testa al toro. se vuoi vedere l'effetto il link rimane valido.

Offline giusebos

  • Fuori controllo
  • *
  • Post: 21748
  • Sesso: Maschio
  • Giuseppe Serbelloni Mazzanti Viendalmare
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #14 il: 29 Giu 2016, 10:07:56 »
se posso darti un consiglio, alla voce class inserisci una di queste classi,

L in maiuscolo, così avrai ampliato le dimensioni dei box secondo bootstrap

Queste le classi complete che puoi usare per ridimensionare i box

XS, S, M, L, XL

su www.icagenda.it guide e tutorial con esempi di chronoforms e chronoconnectivity

Offline Ago_

  • Abituale
  • ****
  • Post: 823
  • Sesso: Maschio
    • Mostra profilo
Re:problemino autocompleter db con doppio textbox
« Risposta #15 il: 29 Giu 2016, 10:14:21 »
se posso darti un consiglio, alla voce class inserisci una di queste classi,

L in maiuscolo, così avrai ampliato le dimensioni dei box secondo bootstrap

Queste le classi complete che puoi usare per ridimensionare i box

XS, S, M, L, XL

buono a sapersi...thx giusebos

 



Web Design Bolzano Kreatif