Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    form dinamico con contenuto preso da db

    Ciao a tutti,
    Avrei l'esigenza di fare un form che serve allo scopo di effettuare dei preventivi online
    quindi avere la possibilità di scegliere da una serie di menu a tendina con quali componenti formare un ipotetico computer e il relativo prezzo.
    ho cercato tra gli script per avere un idea, ma non ho trovato nulla, qualcuno mi sà consigliare o segnalare un link di esempi?
    Grazie

  2. #2
    ma il modulo ti serve farlo in modo che i menu a tendina si popolino man mano che l'utente fa delle scelte? Perchè se così fosse devi utilizzare Ajax (oppure ricaricare la pagina).
    Per quanto riguarda invece un metodo "easy" sono delle semplici SELECT verso un db. Non capisco che esempio intendi... O.ò
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  3. #3
    innanzi tutto grazie per l'attenzione.
    no, le scelte del cliente non influiscono sul menu a tendina se non nel valore che deriva dalla scelta fatta e il conseguente prezzo dell'articolo, ma quello suppongo di riuscire a recuperarlo nella pagina di destinazione e fare poi i calcoli necessari.
    penso nella mia infinita GNUranza che siano in effetti delle select (es. nel menu a tendina "monitor" mi deve prendere dal db tutti gli articoli della "categoria" monitor)
    il punto è che quando parlavo di infinita GNUranza non facevo il modesto:
    mi potresti fare un piccolo esempio di come si fà una select ad un db in un form?
    grazie

  4. #4
    aspe aspe le select e i form sono due cose completamente diverse..
    comunque supponiamo che tu voglia tutti i monitor e vuoi visualizzarli tutti in un menu a tendina:
    (ipotizzo nomi di tabelle, campi, e tutto il resto)
    Codice PHP:
    // questo chiede al db tutti i monitor:
    $query mysql_query("SELECT id, nome, categoria FROM prodotti WHERE categoria = 'monitor' ");
    // questo invece salva tutto in un array e quindi crea dinamicamente un menu a tendina
    echo "<select name='sceltamonitor'>";
    while(
    $monitor mysql_fetch_array($query))
    {
       echo 
    "<option value=\"" $monitor['id'] . "\">" $monitor['nome'] . "</option>";
    }
    echo 
    "</select>"
    se hai bisogno di qualche chiarimento chiedi pure ^_^
    Questa e' la mia firma! Lo so, e' una mezza schifezza.
    Un sito
    - skype non è per consulenze online -

  5. #5

    l'inizio è incredibilmente promettente, ma visto che sei così gentile ti chiedo un paio di cose:
    (questo è il mio ...anzi il TUO codice)
    <?php

    include("mysql.php");

    // questo chiede al db tutti i monitor:
    $query = mysql_query("SELECT Descrizione, Prezzo_Unitario, Categoria FROM listino WHERE Categoria = 'Alimentatori' ");
    // questo invece salva tutto in un array e quindi crea dinamicamente un menu a tendina
    echo "<select name='sceltamonitor'>";
    while($monitor = mysql_fetch_array($query))
    {
    echo "<option value=\"" . $monitor['Prezzo_Unitario'] . "\">" . $monitor['Descrizione'] . "</option>";
    }
    echo "</select>";
    ?>

    e mi viene fuori una bella tendina proprio come volevo io, ne aggiungerò altre fino a fare uno schema dell'assemblaggio di un pc in modo che il cliente possa vederne il preventivo.
    ma visto che non è un form, come faccio a tirarmi fuori i prezzi dei singoli componenti per farne la somma? lo faccio nella stessa pagina così non perdo i valori?
    quella <select name ='sceltamonitor'> cos'è?
    abbi pazienza,mi rendo conto di essere due lettere meno che all'abc, ma prendila come un opera di carità

  6. #6
    up

  7. #7
    Originariamente inviato da mensana3

    l'inizio è incredibilmente promettente, ma visto che sei così gentile ti chiedo un paio di cose:
    (questo è il mio ...anzi il TUO codice)
    <?php

    include("mysql.php");

    // questo chiede al db tutti i monitor:
    $query = mysql_query("SELECT Descrizione, Prezzo_Unitario, Categoria FROM listino WHERE Categoria = 'Alimentatori' ");
    // questo invece salva tutto in un array e quindi crea dinamicamente un menu a tendina
    echo "<select name='sceltamonitor'>";
    while($monitor = mysql_fetch_array($query))
    {
    echo "<option value=\"" . $monitor['Prezzo_Unitario'] . "\">" . $monitor['Descrizione'] . "</option>";
    }
    echo "</select>";
    ?>

    e mi viene fuori una bella tendina proprio come volevo io, ne aggiungerò altre fino a fare uno schema dell'assemblaggio di un pc in modo che il cliente possa vederne il preventivo.
    ma visto che non è un form, come faccio a tirarmi fuori i prezzi dei singoli componenti per farne la somma? lo faccio nella stessa pagina così non perdo i valori?
    quella <select name ='sceltamonitor'> cos'è?
    abbi pazienza,mi rendo conto di essere due lettere meno che all'abc, ma prendila come un opera di carità

    supponendo che il codice postato sia giusto...
    spero sia corretto non l'ho provato


    come faccio a tirarmi fuori i prezzi dei singoli componenti per farne la somma? lo faccio nella stessa pagina così non perdo i valori?


    codice:
    <form action="preventivo.php" method="post" enctype="multipart/form-data"> 
    
    <?php
    
    include("mysql.php"); 
    
    // questo chiede al db tutti i monitor: 
    $query = mysql_query("SELECT Descrizione, Prezzo_Unitario, Categoria FROM listino WHERE Categoria = 'Alimentatori' "); 
    // questo invece salva tutto in un array e quindi crea dinamicamente un menu a tendina 
    echo "<select name='sceltamonitor'>"; 
    while($monitor = mysql_fetch_array($query)) 
    { 
       echo "<option value=\"" . $monitor['Prezzo_Unitario'] . "\">" . $monitor['Descrizione'] . "</option>"; 
    } 
    echo "</select>";
    ?>
    
    <input name="Invia" type="submit" value="Invia" />
    </form>

    preventivo.php è la pagina dove riceverai i dati e farai le somme




    quella <select name ='sceltamonitor'> cos'è?

    codice:
    $monitor=$_POST['sceltamonitor'];
    E' il name per riconoscere i tui valori una volta passati nella pagina php dove farai le somme



    spero di nn aver fatto errori

  8. #8
    Grazie Julius86 è tutto chiaro e funzionante.

    Sempre a riguardo del mio preventivo online:

    avevo letto un articolo che parlava di "SELECT DINAMICHE" , ma in ambito ASP, posso farli anche con PHP?
    se io volessi creare dei menu a tendina a cascata tipo:
    scegli la categoria, e in base a quella scelta mi vengono fuori tutti gli articoli di quella categoria (un pò come gli esempi che ho visto "regioni-città-comuni" )come devo integrare il mio script ?
    riepilogo qui sotto lo script. Tra l'altro non ho capito come mettere il codice il quell'area più chiara come fate tutti. Lo sò sono de' coccio adesso ci provo, se non viene se qualcuno me lo può dire....
    grazie

    codice:
    <form action="somma_preventivo.php" method="post"> 
    <?php
    
    include("mysql.php"); 
    
    // questo chiede al db tutti gli alimentatori: 
    $query = mysql_query("SELECT Descrizione, Prezzo_Unitario, Categoria FROM listino WHERE Categoria = 'Alimentatori' "); 
    // questo invece salva tutto in un array e quindi crea dinamicamente un menu a tendina 
    echo "<select name='scelta_alimentatori'>"; 
    while($monitor = mysql_fetch_array($query)) 
    { 
      $desc = $monitor['Descrizione']." ........&euro; ".$monitor['Prezzo_Unitario'];
       echo "<option value=\"" . $monitor['Prezzo_Unitario'] . "\">" . $desc . "</option>"; 
    
    } 
    
    echo "</select>";
    echo 
    
    ?>
    
    
    <input name="Invia" type="submit" value="Invia" />
    </form>

  9. #9
    dopo aver fatto una piccola ricerca:



    Originariamente inviato da 13manuel84
    beh, la cosa la puoi fare così (come faccio sempre io): nel primo menù prendi tutte le categorie presenti nel db, e nel secondo tramite un'altra query prendi solo le sottocategorie appartenenti alla categoria selezionata; per fare questo io uso due tabelle, una per la categorie (id_categoria, tipo_categoria) e una per le gruppo(id_gruppo, tipo_gruppo, id_categoria), e per realizzarlo è un misto di php, sql e js.

    Menù per le categorie:
    codice:
    <select name="categoria" onChange="inviaCambiamenti()">
    <?
     query="SELECT * FROM categoria order by 'tipo_categoria'";
     $result = mysql_query($query);
     echo "<option value=\"\">Seleziona</option>";
     while($row = mysql_fetch_assoc($result))
     {
      if(!empty($categoria))
      {
       if ($row[id_categoria]<>$categoria)
       {
        echo '<option value="'.$row[id_categoria].'" >'.$row[tipo_categoria].'</option>';
       }
       else					
       {
        echo '<option value="'.$row[id_categoria].'" SELECTED>'.$row[tipo_categoria].'</option>';			
       }
      }
      else 
      {
       echo '<option value="'.$row[id_categoria].'">'.$row[tipo_categoria].'</option>';
      }
    }
    ?>
    </select>
    Menù per le sottocategorie:
    codice:
    <select name="gruppo">
    <?
      $query="SELECT * FROM gruppo WHERE id_categoria='$categoria' order by 'tipo_gruppo'";
      $result = mysql_query($query);
      echo "<option value=\"\">Seleziona</option>";
      while($row = mysql_fetch_assoc($result))
      {
       if(!empty($gruppo))
       {
        if ($row[id_gruppo]<>$gruppo)
        {
    	echo '<option value="'.$row[id_gruppo].'" >'.$row[tipo_gruppo].'</option>';
        }
        else					
        {
         echo '<option value="'.$row[id_gruppo].'" SELECTED>'.$row[tipo_gruppo].'</option>';
        }
       }
       else 
       {
        echo '<option value="'.$row[id_gruppo].'">'.$row[tipo_gruppo].'</option>';
       }
    }
    ?>
    </select>
    n.b. il codice vale per la struttura delle tabelle che ho usato io, se la tua è diversa ricordati di modificare leggermente il codice.

    la funzione che vedi (onChange="inviaCambiamenti()") è una funzione js che ricarica la pagina inviando il valore della categoria selezionata, in modo da poter fare la seconda query; la devi mettere nell'head dell'html:

    codice:
    <script language="javascript">
    
    function inviaCambiamenti(){
      document.form1.action = "<?php echo $PHP_SELF; ?>";
      document.form1.submit();
    }
    
    </script>
    form1 è il nome della form in cui hai messo i menù, se è diverso cambialo pure nella funzione.

    Spero di esermi spiegato bene e di esserti stato d'aiuto!

    ovviamente modifica i vari campi a te necessari

  10. #10
    Per adesso grazie, adesso provo a capirci qualcosa
    se senti puzza di bruciato non ti preoccupare, è il mio unico neurone che si surriscalda
    ciao
    :master:

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.