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

    aggiungere prodotti al carrello

    Devo fare uno script che mi aggiunge al carrello il prodotto selezionato.
    Quindi, ho la pagina view_production.php che mi visualizza la tabella con tutto l'elenco dei prodotti. Insieme alla visualizzazione dei dati del database, ho inserito una colonna con l'immagine del carrello, e quando ci si clicca, parte la funzione addchart(). Adesso le soluzioni sono 2: o da questa funzione viene richiamato uno script php che inserisce nel database che quel prodotto è stato acquistato, oppure che salva in un array tutto l'elenco dei prodotti acquistati, e alla fine un pulsante con salva le modifiche che invii questo array allo script php per il salvataggio in database. Spero di essere stato chiaro, posto un po' di codice con la soluzione a cui avevo pensato io, ma che non funziona...

    Codice PHP:
    <script type="text/javascript">
        function addchart(){
          var b = document.getElementById("elenco").getElementsByTagName("b")
          var codice = b[0].innerHTML
          alert("Aggiunto al carrello "+codice+"!")
          document.elenco.action = "addchart.php?codice="+escape(codice)
          document.elenco.submit()
        }
      </script>
    </head>
    <body>
        <form name="carrello" method="GET">
          <table id="elenco" align="center" border="1">
            <?php
              
    include("parametri.php");

              
    $connessione mysql_connect("$db_host","$db_user","$db_passw") or die("Connessione fallita");
              
    mysql_select_db("$db_database") or die("Database non trovato");

              
    $q "SELECT * FROM prodotto";
              
    $recset mysql_query($q);
              while(
    $tr mysql_fetch_array($recset)){
                echo 
    "<tr><td>[img]".$tr[[/img]</td>";
                echo "
    <td>Codice: [b]".$tr['codice']."[/b]
    ";
                echo "
    Nome: [b]".$tr['nome']."[/b]</td>";
                echo "
    <td>Descrizione: [b]".$tr['descrizione']."[/b]</td>";
                echo "
    <td>Prezzo: [b]".$tr['prezzo']."[/b]</td>";
                echo "
    <td>[img]carrello.gif[/img]</td></tr>";
              }

              mysql_close(
    $connessione);
            ?>
          </table>
        </form>
    in addchart.php c'è una semplice echo $_GET['codice'];
    ma non arriva mai ad addchart...in cosa sbaglio?

  2. #2
    Il problema sta nel codice della funzione javascript:

    codice:
    <script type="text/javascript">
        function addchart(){
          var b = document.getElementById("elenco").getElementsByTagName("b")
          var codice = b[0].innerHTML
          alert("Aggiunto al carrello "+codice+"!")
          document.getElementById("elenco").action = "addchart.php?codice="+escape(codice)
          document.getElementById("elenco").submit()
        }
      </script>
    Così dovrebbe andare. (EDIT: No, non esegue lo stesso il submit comunque il problema sta nel javascript e non nel codice php)
    document.elenco dava errore e bloccava lo script


    P.S. se aggiungevi un alert dopo l'assegnazione dell'action ti accorgevi che tale alert non veniva eseguito e che quindi il problema stava in mezzo ai 2 alert



    EDIT 2:Risolto in parte:


    codice:
    <script type="text/javascript">
        function addchart(){
          var b = document.getElementById("elenco").getElementsByTagName("b")
          var codice = b[0].innerHTML
          alert("Aggiunto al carrello "+codice+"!")
          document.carrello.action = "addchart.php?codice="+escape(codice)
          document.carrello.submit()
        }
      </script>
    Il form si chiama "carrello" e non "elenco".
    Elenco è la tabella ed l'evento action e submit li ha il form.

    A parte che non viene passato il parametro alla pagina PHP almeno il resto funziona...

  3. #3
    Errore di distrazione....grazie! Ma allora in quale modo posso passare il codice alla pagina php?

  4. #4
    Nessuna idea? Come mai non viene passato neanche se specificato nell'action?

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.