2017-09-09 1 views
0

In meinem Formular loope ich ein Recordset und speichere die Werte unter Verwendung der Namenskonvention in Klammern []. Das schafft schön ein Array aber nur speichert den Wert gibt die Ergebnisse produzieren: 2, 1, 1Wie bekomme ich zwei Werte von einer dynamischen Texteingabe in PHP?

QTY: <input name="1pcCB['<?php echo $row_rs_type1['productname']; ?>']" type="text" id="<?php echo $row_rs_type1['productname']; ?>" value="" /> 
<?php echo $row_rs_type1['productname']; ?> 

Wie würde ich das Array richtig eingestellt den eindeutigen Produktnamen 'zu AUCH hat und den eingegebenen Wert (Anzahl) von der Eingabe?

implodieren funktioniert gut, aber nur die Eingänge Werte geben und nicht den Produktname

<?php $capture_field_vals =""; 
if(isset($_POST["1pcCB"]) && is_array($_POST["1pcCB"])){ 
echo $capture_field_vals = implode(",", $_POST["1pcCB"]); 
} 
?> 

Das Ziel der Produktname und die Menge Komma als ein einziger Endwert getrennt zu haben. Wie würde dies erreicht werden?

Endergebnis sollte die Produktnamen und den Wert aus dem Eingang sein, das ist eine Menge, wie:

ProductNameX 2, ProductNameY 1, 1 ProductNameZ

UPDATE:

print_r ($ _ POST ["1pcCB"]);

Array 
(
    ['XL88ZM'] => 2 
    ['XL88JB'] => 1 
    ['XL22'] => 1 
    ['XL88GB'] => 
    ['XL88Q'] => 
    ['XL301'] => 
    ['XL2050'] => 
    ['XL303'] => 
    ['XL3060'] => 
    ['XLWP'] => 
) 

Verwendung:

echo http_build_query ($ _ POST [ "1pcCB"], '', '');

Produziert:

%27XL88ZM%27=2, %27XL88JB%27=3, %27XL22%27=6, %27XL88GB%27=, %27XL88Q%27=, %27XL301%27=, %27XL2050%27=, %27XL303%27=, %27XL3060%27=, %27XLWP%27= 

Ich brauche nur ohne Menge diejenigen Streifen aus und werde die „% 27“ Zeichen befreien.

Antwort

1

Versuchen Sie wie folgt.

foreach ($_POST["1pcCB"] as $key => $value) 
    $temp[] = "$key $value"; 

$capture_field_vals = implode(",", $temp); 
Verwandte Themen