このフォーラムの初心者で、php でコーディングを始めたばかりです。助けが要る。次のコードがあります
<?php error_reporting(-1);
require_once('/mysql/sql_connect.php');
$q = "SELECT pty.pty_profile_name AS profile FROM pty, users WHERE users.username = 'testaccount' ";
$r = @mysqli_query ($dbc, $q);
$results_array = array();
while($row = mysqli_fetch_assoc($r)) {
array_push($results_array, $row);
echo "<pre>"; print_r($results_array); echo "</pre>"; }
?>
<p>
<form method="post" action="foreach2.php">
<label for="Property Select" class="title">Select Property</label>
<select name="pty_select" >
<?php foreach($results_array as $key => $value){ ?>
<option value="<?php echo $key; ?>"><?php echo $value['profile']; ?></option>
<?php } ?>
</select>
<input type="submit" name="Submit" />
</form>
<?php
if (isset($_POST['Submit'])) {
echo "<pre>"; echo ($_POST['pty_select']); echo "</pre>"; } ?>
得られる出力は正しいのですが、フォームで選択した内容に基づいて、0、1、2 などのキーが表示されます。値の出力が必要です。たとえば0 = Emerton
、 の代わりに「0」を出力しますEmerton
。
$value['profile']
の代わりにエコーするとpty_select
、常にクエリの最後の結果が得られます。この例では2になります。これAmbarvale
は、クエリの最後の行出力を選択するだけだと思います。
理解できたと思います。前もって感謝します。