Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Consiglio su progettazione script

    Salve a tutti,
    spiego brevemente la mia situazione.
    Ho 3 tabelle in un DB MySQL. Una "db_ordini", una "db_magazzino" e una "db_clienti".

    Ho una pagina chiamata inserimento_ordini.php in cui ad un certo punto ho la necessità che tramite una text con funzione di autocompletamento, mi vengano mostrati, via via che si scrive, i codici inerenti, presi dalla colonna "Codice" in db_magazzino.

    Una volta inserito il codice completo e cliccato fuori dalla text, lo script dovrebbe leggere, sempre dalla tabella db_magazzino, i colori presenti per quel tipo di oggetto e fare in automatico una tabella, Colori-Taglie in cui nelle varie celle, tramite text o select si può selezionare il quantitativo.
    Chiaramente uno dei problemi sarà che il numero dei Colori è variabile, mentre la tipologia delle taglie disponibili è sempre uguale.

    Infine mi servirebbe un pulsantino, che se premuto mi aggiunge un'altra text nella riga sotto, permettendomi di aggiungere un altro Codice.

    Infine, dovrei trovare un modo semplice ed efficace per registrare questo tipo di combinazioni Codice-Taglie-Colori nel db, in modo da poterlo richiamare e mostrare in un modulo tabellare che ho già creato in un'altra pagina.

    Volendo posso intavolare un discorso di compenso.

  2. #2
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    Re: Consiglio su progettazione script

    Originariamente inviato da Pepo06
    Salve a tutti,
    spiego brevemente la mia situazione.
    Ho 3 tabelle in un DB MySQL. Una "db_ordini", una "db_magazzino" e una "db_clienti".

    Ho una pagina chiamata inserimento_ordini.php in cui ad un certo punto ho la necessità che tramite una text con funzione di autocompletamento, mi vengano mostrati, via via che si scrive, i codici inerenti, presi dalla colonna "Codice" in db_magazzino.

    ........
    ho letto superficialmente il resto.
    Cominciamo da qui (la base) e ti devo dire che questo è fattibile lato client ed in javascript (quindi altamente sconsigliabile per + motivi).

    Infatti per farlo lato server dovresti, per assurdo, ad ogni lettera cliccata inviare l'informazione al server e questo prova l'autocompletamento.
    Con il javascript se è un utente internet .... lascia perdere; se è un utente intranet se pò fà, ma pensa che ad ogni terminal dovresti mettere le informazioni per l'autocompletamento. Se poi è una intranet dove ogni utente terminal di fatto lavora su una parte del server allora è un discorso che può continuare!
    ciao

  3. #3
    Ti ringrazio per la risposta.
    Avevo la vaga impressione che mi servisse JavaScript.

    Comunque, l'utente o meglio, ogni utente, lavorerà solo in intranet e nella propria parte di database. Quindi nella casistica che tu ritieni possibile.

    Non penso sia un problema inserire qualcosa per l'autocompletamento, ho già addocchiato qualche script che mi permette di "completare" una text prelevando i valori da db.

    Piuttosto è la metodica di ragionamento sulla parte successiva, nel senso, come mi conviene fare per leggere colori e taglie e "rapportarle" in un'altra tabella con un numero di text ogni volta diverso.

    Ah, precisazione. Non mi serve una gran sicurezza o perfezione nelle funzioni usate nel codice. Come detto questo script funzionerà unicamente in intranet su pc non collegati ad internet.

  4. #4
    Utente di HTML.it L'avatar di *pragma
    Registrato dal
    Sep 2001
    Messaggi
    1,087

    Re: Consiglio su progettazione script

    Originariamente inviato da Pepo06
    ...........
    Una volta inserito il codice completo e cliccato fuori dalla text, lo script dovrebbe leggere, sempre dalla tabella db_magazzino, i colori presenti per quel tipo di oggetto e fare in automatico una tabella, Colori-Taglie in cui nelle varie celle, tramite text o select si può selezionare il quantitativo.
    Chiaramente uno dei problemi sarà che il numero dei Colori è variabile, mentre la tipologia delle taglie disponibili è sempre uguale.

    Infine mi servirebbe un pulsantino, che se premuto mi aggiunge un'altra text nella riga sotto, permettendomi di aggiungere un altro Codice.

    Infine, dovrei trovare un modo semplice ed efficace per registrare questo tipo di combinazioni Codice-Taglie-Colori nel db, in modo da poterlo richiamare e mostrare in un modulo tabellare che ho già creato in un'altra pagina.

    Volendo posso intavolare un discorso di compenso.
    il resto che chiedi è di normale implementazione.
    Si tratta di passare valori nella stessa pagina o tra pagine diverse, come anche far venire fuori colori, che possono cambiare di giorno in giorno , senza riscrivere codice come ben sai è fattibilissimo, ma lungo e da adattare sul db che già hai.

    se presenti del codice ti si può dare un consiglio, altrimenti ti puoi rivolgere a qualche implementatore p.es.
    http://www.careerjet.it/lavoro-php/r...lia-41206.html

    ciao

  5. #5
    Codice PHP:
    <form id="formName" action="javascript:completeAHAH.likeSubmit('ricevo3.php', 'POST', 'formName', 'result');">    
    <table id="tabella">
    <tr>
    <td>Cliente:</td>
    <td><input type="text" id="client" name="client" value="ForMe s.r.l." disabled="true"></td>
    </tr>
    <tr>
    <td>Cliente Finale:</td>
     <?php 
    function cliente(){
        
    $query="SELECT Ragione_Sociale FROM db_clienti";
        
    $ris mysql_query($query);
        while (
    $value=mysql_fetch_array($ris)){
            echo 
    "<option>".$value['Ragione_Sociale']."</option>";
        }
        }
    ?> 
    <td><select id="client2" name="client2">
    <?php cliente(); ?>
    </select></td>
    </tr>
    <tr>
    <td>Venditore:</td><td>
    <select id="vendit" name="vendit">
    <option value="Alessandro">Alessandro</option>
    <option value="Marco">Marco</option>
    <option value="Milano">Milano</option>
    </select></td>
    </tr>
    <tr>
    <td>Data Ordine:</td><td><input type="text" id="sel3" name="date3" size="20">
    <button type="reset" id="f_trigger_b">Calendario</button>
    <script type="text/javascript">
        Calendar.setup({
            inputField     :    "sel3",      // id of the input field
            ifFormat       :    "%d/%m/%Y",       // format of the input field
            showsTime      :    false,            // will display a time selector
            button         :    "f_trigger_b",   // trigger for the calendar (button ID)
            singleClick    :    false,           // double-click mode
            step           :    1                // show all years in drop-down boxes (instead of every other year as default)
        });
    </script></td>
    </tr>
    <tr>
    <td>Data Consegna:</td><td><input type="text" id="sel4" name="date4" size="20">
    <button type="reset" id="f_trigger_c">Calendario</button>
    <script type="text/javascript">
        Calendar.setup({
            inputField     :    "sel4",      // id of the input field
            ifFormat       :    "%d/%m/%Y",       // format of the input field
            showsTime      :    false,            // will display a time selector
            button         :    "f_trigger_c",   // trigger for the calendar (button ID)
            singleClick    :    false,           // double-click mode
            step           :    1                // show all years in drop-down boxes (instead of every other year as default)
        });
    </script></td>
    </tr>
    <tr>
    <td>Pagamento:</td><td><input type="text" id="list2" name="list2" value="Pagamento 90gg" disabled="true"></td>
    </tr>
    <tr>
    <td>Sconto (%):</td><td><input type="text" id="scont" name="scont" value="8%" disabled="true"></td>
    </tr>
    <tr>
    <td>Articoli:</td><td><input type="text" value="" name="findme" id="findme"> </td>
    <td>
    </td>
    </tr>
    <tr>
    <td>Consegna Solo Completo:</td><td>
    <select id="cons_compl" name="cons_compl">
    <option value="SI">SI</option>
    <option value="NO">NO</option>
    </select></td>
    </tr>
    <tr>
    <td>Note:</td><td><textarea id="not" name="not" value="" cols="40" rows="5"></textarea></td>
    </tr>
    <tr>
    <td colspan="2"><center><input type="submit" value="Inserisci Ordine" onclick="return Conferma();"></center></td>
    </tr>
    </form></table>
    Al momento sono messo così
    Cioè ho solo creato il form, come vedi dove c'è la scritta articoli al momento c'è solo una text che farà l'autocompletamento.

    Il dump del db_clienti:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `db_clienti` (
      `
    IDsmallint(10NOT NULL AUTO_INCREMENT,
      `
    Ragione_Socialevarchar(100COLLATE utf8_unicode_ci NOT NULL,
      `
    Riferimentovarchar(200COLLATE utf8_unicode_ci NOT NULL,
      `
    Indirizzovarchar(50COLLATE utf8_unicode_ci NOT NULL,
      `
    CAPvarchar(5COLLATE utf8_unicode_ci NOT NULL,
      `
    Cittavarchar(50COLLATE utf8_unicode_ci NOT NULL,
      `
    Provinciavarchar(5COLLATE utf8_unicode_ci NOT NULL,
      `
    PIVAvarchar(20COLLATE utf8_unicode_ci NOT NULL,
      `
    C_Fiscalevarchar(20COLLATE utf8_unicode_ci NOT NULL,
      `
    Telefonovarchar(20COLLATE utf8_unicode_ci NOT NULL,
      `
    Faxvarchar(20COLLATE utf8_unicode_ci NOT NULL,
      `
    Cellularevarchar(20COLLATE utf8_unicode_ci NOT NULL,
      `
    Emailvarchar(40COLLATE utf8_unicode_ci NOT NULL,
      `
    Listinovarchar(15COLLATE utf8_unicode_ci NOT NULL,
      `
    Pagamentovarchar(40COLLATE utf8_unicode_ci NOT NULL,
      `
    Bancavarchar(100COLLATE utf8_unicode_ci NOT NULL,
      `
    Filialevarchar(100COLLATE utf8_unicode_ci NOT NULL,
      `
    ABIvarchar(10COLLATE utf8_unicode_ci NOT NULL,
      `
    CABvarchar(10COLLATE utf8_unicode_ci NOT NULL,
      `
    IBANvarchar(25COLLATE utf8_unicode_ci NOT NULL,
      
    PRIMARY KEY (`ID`)
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=16 
    Mentre il dump del db_ordini:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `db_ordini` (
      `
    IDsmallint(6NOT NULL AUTO_INCREMENT,
      `
    Ordinevarchar(50CHARACTER SET utf8 NOT NULL,
      `
    Clientevarchar(100CHARACTER SET utf8 NOT NULL,
      `
    Cliente_Finalevarchar(200CHARACTER SET utf8 NOT NULL,
      `
    Venditorevarchar(30CHARACTER SET utf8 NOT NULL,
      `
    Riferimentovarchar(200CHARACTER SET utf8 NOT NULL,
      `
    Data_Ordinevarchar(15COLLATE utf8_unicode_ci NOT NULL,
      `
    Data_Consegnavarchar(15CHARACTER SET utf8 NOT NULL,
      `
    Pagamentovarchar(120CHARACTER SET utf8 NOT NULL,
      `
    Scontovarchar(10CHARACTER SET utf8 NOT NULL,
      `
    Consegna_Solo_Completovarchar(2CHARACTER SET utf8 NOT NULL,
      `
    Notevarchar(400CHARACTER SET utf8 NOT NULL,
      
    PRIMARY KEY (`ID`)
    ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=27 
    Ed il dump del db_magazzino:
    Codice PHP:
    CREATE TABLE IF NOT EXISTS `db_magazzino` (
      `
    IDsmallint(5NOT NULL AUTO_INCREMENT,
      `
    Codicevarchar(15CHARACTER SET utf8 NOT NULL,
      `
    Descrizionevarchar(400CHARACTER SET utf8 NOT NULL,
      `
    Prezzo_Acquistodecimal(10,2NOT NULL,
      `
    Listino_1decimal(10,2NOT NULL,
      `
    Listino_2decimal(10,2NOT NULL,
      `
    Tessutovarchar(70CHARACTER SET utf8 NOT NULL,
      `
    Colorivarchar(70CHARACTER SET utf8 NOT NULL,
      
    PRIMARY KEY (`ID`)
    ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=19 
    Non so sinceramente cosa possa aiutare, io ho postato tutto quello che ho

  6. #6
    allora..io la farei cosi....cmq ti servono delle funzioni in php che ti eseguono le query sulle tabelle. per fare

    "ho la necessità che tramite una text con funzione di autocompletamento, mi vengano mostrati, via via che si scrive, i codici inerenti, presi dalla colonna "Codice" in db_magazzino"

    pui usare onKeyUp() applicato alla text (ovviamente onkey up va a richiamare una delle funzioni in php che avrai precedentemente creato)

    per poi popolare la select per le taglie etc puoi usare un altro evento quale onClick() applicato alla select oppure un onChange() applicato alla text di prima.....

    ti linko un sito che puo esserti utile

    http://www.w3schools.com/js/js_events.asp

    e ti consiglio di leggere la guida ad ajax presente su html.it.....

    per le funzioni php sono delle normali query...ciauzz

  7. #7
    Grazie per le risposte.
    Sto cominciando ad entrare nell'ottica di ragionamento.

    Vi chiedo un consiglio.
    Per il salvataggio di questi dati sul DB come mi consigliate di fare?
    A me interessa avere una corrispondenza tra un codice ordine, codice articolo, quantità taglie e colori dell'articolo.
    Chiaramente il problema è associare il codice articolo, le taglie e le quantità relative ad ogni colore soprattutto se avrò ordini con più di un codice articolo.

    Come mi consigliate di agire?

  8. #8
    codice ordine | titolare ordine | ordine

    questa di sopra e la tabella per l'ordine, contiene il codice, il titolare dell'ordine (il cliente) e ordine che è un oggetto della classe ordine (un oggetto della classe ordine è composto da un tot. di oggetti di classe articolo)

    codice articolo | taglia | colori disponibili per la taglia

    questa è la tabella per ogni articolo ti da una taglia e i colori disponibili per quella taglia, ovviamnte puoi inserire piu articoli con lo stesso codice ma taglia diverse con colori relativi


    dovresti avere un minimo di nozioni di programmazione ad oggetti..se nn ce l'hai ti consiglio di imparare a programmare a oggetti xke ti semplifica notevolmente il lavoro..

    studia la COMPOSIZIONE (ovvero "un oggetto della classe ordine è composto da un tot. di oggetti di classe articolo")
    poi gli oggetti per essere memorizzati sul database devono essere serializzati percio dei usare il comando SERIALIZE(), per essere richiamati ed essere utilizzabili UNSERIALIZE()

    ciauzzz


    PS...ovviamente oltre agli attributi delle classe dovrai progettare le funzioni delle classi (i codidetti METODI) che eseguiranno le operazioni per la modifica degli attributi delle classi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.