Come faccio ad aggiungere una selezione imprecisato di articoli di magazzino con un utente quantità offerta per un carrello?

StackOverflow https://stackoverflow.com/questions/879993

Domanda

Attualmente sto usando PHP, Javascript, MySQL, XHTML, CSS per sviluppare il mio sito. Si noti che le soluzioni non si limitano a questo ma preferire, se possibile.

Ho un grande tavolo MYSQL di widget e di una pagina che permette all'utente di cercare un widget specifico.

Diciamo per esempio, l'utente digita il nome del modello per alcuni widget di, la ricerca potrebbe tornare 20 diversi modelli di widget. Ogni modello widget è diverso, tutti hanno il loro proprio nome prezzo unitario widget e widget di modello, ecc.

Ora viene la parte difficile (per me comunque), l'utente dovrebbe essere in grado di inserire una quantità accanto a un campo di testo HTML widget desiderato.

L'utente quindi dovrebbe essere in grado di spingere un pulsante Aggiungi al carrello che memorizza la quantità e il modello della quantità è associato.

(nota Design: Una query MySQL è utilizzato per restituire un elenco dei risultati della ricerca e lo uso PHP per eco indietro le file di widget trovati Su ogni iterazione ho anche visualizzare il campo di testo in cui deve essere inserita la quantità desiderata.. ).

Il mio problema principale è capire come associare il MYSQL disegnato nome del widget con la quantità immessa dall'utente e conservarlo insieme nel carrello. Qualcuno mi potrebbe puntare nella giusta direzione, non sono sicuro di come fare per affrontare questo.

stavo pensando che potrei essere in grado di eco il modello di widget in campo di testo Id, ma poi come faccio a determinare dopo post, che il modello aveva una quantità ... Questo non è probabilmente il mezzo migliore per farlo, anche se era possibile.

Grazie

È stato utile?

Soluzione

fare il nome TextField qualcosa come elementi [uniq_module_id]

<input type="text" name="items[10001]">
<input type="text" name="items[10002]">
<input type="text" name="items[10003]">

quindi in php

$items = $_POST['items'];
print_r($items);

si otterrà

[items] => Array
    (
        [uniq_module_id] => quantity
            ...
    )

e un campione

$items = (isset($_POST['items'])) ? $_POST['items'] : array();
if (is_array($items)) {
    foreach ($items as $module_id => $quantity)
    {
        if (intval($quantity) > 0) {
            add2cart($module_id, $quantity);
        }
    }
}

Altri suggerimenti

C'è un -per / link "aggiungi al carrello" ad ogni widget di? Genera un pulsante / link che inviano le informazioni necessarie (quantità e widget di ID) per un add-to-cart.php.

foreach ($rows as $row) {
    // Print widget info
    echo '<input type="text" name="quantity" id="widget_' . $row['widgetID'] . '_qty" value="1">';
    echo "<button onclick=\"javascript: location.href='add-to-cart.php?widgetId=" . $row['widgetID'] . "&quantity=' + document.getElementById('widget_" . $row['widgetId'] . "_qty').value;\" value=\"Add to cart\" />";
}

O qualcosa di simile. Utilizzando Ajax sarebbe forse essere una buona soluzione pure.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top