2016-11-13 7 views
1

私はPHPで配列やループを使って何かをする学校でこの作業をしています。配列から項目数xを取得する

私がこれまで行ってきたことは、このコードを作成して別のテキストファイルの名前を持つ配列を作成し、その配列からランダムな名前を選択することです。

ここで私がしたいのは、x個のランダムな名前を表示することです。名前の量は、入力フィールドで選択できます。forループまたはwhileループを使用することができます(これらは私が多少知っているものです)。ここで

は私のコードは、(テキスト・ファイルが必要だとは思わない、それがある場合は、ちょうど私に知らせてください。)である:

<form method="POST"> 
    How many names do you need? 
    <input type="number" name="amount" min="1" max="28"><br><br> 
    <input type="submit" name="proceed" value="Get name(s)"> 
</form> 

<?php  
    $text = file_get_contents("names2t.txt"); 
    $Array = explode("\n", $text); 
    $randNameNum = array_rand($Array); 
    $randPhrase = $Array[$randNameNum]; 

    if (isset($_POST["proceed"])){ 
     echo $randPhrase; 
    } 
?> 

それは私が求めているものを行うことは可能ですか?

+0

あなたが欲しいどのように多くの名入りの場所:) – Ima

+0

何ですかちょうど私が探していたものです。私はちょっと気分が悪いと感じました。私はこの解決法については考えていませんでした。 – Nico

答えて

2

はちょうどそれにフォームとループ上の別のフィールドを追加します。

<form method="POST"> 
     How many names do you need? <input type="number" name="amount" min="1" max="28"><br> 
     How many times? <input type="number" name="repeat-count"><br> 
     <input type="submit" name="proceed" value="Get name(s)"> 
    </form> 

    <?php  

    if(isset($_POST['proceed'])) { 
     for($i = 0; $i < $_POST['repeat-count']; $i++) { 
      $text = file_get_contents("names2t.txt"); 
      $Array = explode("\n", $text); 
      $randNameNum = array_rand($Array); 
      echo $Array[$randNameNum]; 
     } 
    } 


    ?> 
+1

ありがとうの名前=「量」入力フィールド – Nico

関連する問題