分解字符串并将值放入 <select>

Exploding string and putting values in <select>

我的数据库中有一列,tip_sting: 1 行示例(每行具有相同的格式):

G1-11, G2-21, P2-50, P4-20, P100-2,

我在编辑项目时使用它(我想创建(字符串中的 selects)并将值自动放入 select):

https://jsfiddle.net/avrzwt6k/

所以我想做这样的事情:

$pieces = explode(",", $tip_stingu);
$a=count($pieces); // piece1
echo $a;
echo '<br>';
echo $pieces[1]; // piece2
echo '<br>';
$tip_stinga=explode("-",$pieces);

我只是不知道该如何继续?

使用 PHP & Javascript 你可以:

<html>
<body>
<form id="example" name="example">
    <select name="myName" id="myID" onchange="updateText()">
        <?php
            $tip_stingu = "G1-11, G2-21, P2-50, P4-20, P100-2,";
            $pieces = explode(', ', $tip_sting);
            $piece1 = explode('-', $pieces[0])[1];
            foreach($pieces as $piece) {
                $tip_stinga = explode("-", $piece);
                echo ('<option value="'.$tip_stinga[1].'">'.$tip_stinga[0].'</option>');
            }
echo '</select><input type="text" value="'.$piece1.'" id="quantity" /><br />'
    ?>

</form>

    <script>
    function updateText() {
        document.getElementById("quantity").value = document.getElementById("myID").value;
    }
    </script>

</body>
</html>

您的示例末尾还有一个尾随逗号,如果这是一个问题,您可以使用:

echo ('<option value="'.rtrim($tip_stinga[1], ',').'">'.$tip_stinga[0].'</option>');

而不是:

echo ('<option value="'.$tip_stinga[1].'">'.$tip_stinga[0].'</option>');

你需要这样的东西吗?

<?php

$items = "G1-11, G2-21, P2-50, P4-20, P100-2";

$pieces = explode(",", $items);

echo ("<select>");
foreach ($pieces as $piece) {    
    $tip_stinga = explode("-", $piece);

    echo ('<option value="'.$tip_stinga[1].'">'.$tip_stinga[0].'</option>');
}
echo ("</select>");


?>