2017-07-17 3 views
0

私はよく説明する方法はわかりませんが、私が作った選択肢の名前を表示したいのですが、その名前はデータベースにあります。理解するために、ここに私の選択がある:ここでは各オプションのデータベース内の値の名前を表示

<select name="options[1][]" id="perso_1" class="multiselect 
required-entry product-custom-option" title="" 
onchange="displayCondition()"> 
    <option value="0" disabled>Testing</option> 
    <option value="1">Test1</option> 
    <option value="2">Test2</option> 
</select> 

は選択肢の下にメッセージを表示する機能です。

function displayCondition() { 
condition = new Array("", 
    "<div class='bordure'><?php echo $row['perso_name']; ?></div>", 

    "<div class='bordure'><?php echo $row['perso_name']; ?></div>", 

    "<div class='bordure'></div>"     
    ); 
var getsel = document.getElementById('perso_1').value; 
document.getElementById("divId").innerHTML = condition[getsel]; 

}

と変数:

$getperso = "SELECT * FROM perso"; 
$persoresult = mysqli_query($connection, $getperso) or die("Erro!: " . mysql_error()); 
$row = mysqli_fetch_assoc($persoresult) 

コードは動作していますが、最初の "perso_name"の名前しか表示されません。 2番目のもの、多分 "perso_name(2)"のようなもの、または私は知らない..

お手伝いができるなら、たくさんありがとう!

答えて

0

while条件なしでコードを追加すると、クエリはonc​​e.Thatsだけ最初の人の名前を表示する理由を実行します。私は、これはあなたの問題を解決するかもしれないと思う

<?php $getperso = "SELECT * FROM perso"; ?> 
<select name="options[1][]" id="perso_1" class="multiselect 
required-entry product-custom-option" title="" 
onchange="displayCondition(this.value)"> 
<?php if(mysqli_num_rows(mysqli_query($getperso)) > 0) 
{ 
    $getperso = mysqli_query($getperso)or die(mysqli_error()); 
    while($row = mysqli_fetch_assoc($getperso)) 
    { ?> 
     <option value="<?php echo $row['perso_name']; ?>"><?php echo $row['perso_name']; ?></option> 
    <?php } 
} ?> 
</select> 

<script type="text/javascript"> 
    function displayCondition(value) { 
    document.getElementById("divId").innerHTML = "<div class='bordure'>"+ value +" 
    </div>"; 
    } 

:この

ような何かを
if(mysqli_num_rows(mysqli_query($getperso)) > 0) 
{ 
    $getperso = mysqli_query($getperso)or die(mysqli_error()); 
    while($row = mysqli_fetch_assoc($getperso)) 
    { 
     echo $row['perso_name']; 
echo "</br>; 
     } 
    } 
+0

しかし、それはエコーのすべての人の名前を表示するでしょうか?私は最初のエコーの行1のperso_nameと2番目の行のperso_nameを表示できるようにします – user8317170

+0

編集されたものを参照してください... 2番目の行を2番目の人にする必要があります – rixxkenzou

+0

悲しいことに、私が必要とするのは、最初のエコーで "perso_name 1"を表示し、2番目に "perso_name 2"を表示することです。しかし、このスクリプトに従えばコピー/ペーストしなければならないので、各エコーのスクリプト全体が表示され、ユーザが何かを選択するとすべての名前が表示されます。