我有一个数组,上面有用户正在服用的药物名称。在网页上,我想显示单选按钮,其中包含当前正在拍摄的每种药物的名称。我对数组的代码是;
//Current Entries Section
$CurrentMedsQuery = "SELECT Name FROM `".$username."medication` WHERE Status='Current';";
$RunMedsQuery = mysql_query($CurrentMedsQuery) or trigger_error(mysql_error().$CurrentMedsQuery);
$Count = mysql_num_rows($RunMedsQuery);
$CurrentMedsArray = array();
while ($CurrentMedEntries = mysql_fetch_array($RunMedsQuery)) {
array_push($CurrentMedsArray,$CurrentMedEntries['Name']);
}
$session =& JFactory::getSession();
$session->set('CurrentMedsArray', $CurrentMedsArray);
while ($Count < 0) {
}
$FirstMedEntry = ($CurrentMedsArray["0"]);
然后在我的HTML表单上,我有以下代码,它成功地显示了我想要的数组中第一个元素的名称;
<form method="post" name="currentmeds" action="">
<input type="radio" name="med1" value="med1"><?php echo $FirstMedEntry;?><br>
</form>
但我的问题是,我不知道用户目前有多少药物条目,因此我无法继续使用echo $FirstMedEntry, echo $SecondMedEntry
等等。我想我需要某种循环,并且帮助会很大不胜感激!
提前致谢!
按建议更改为以下内容;
//Current Entries Section
echo '<form method="post" name="currentmeds" action="">';
$CurrentMedsQuery = "SELECT Name FROM `".$username."medication` WHERE Status='Current';";
$RunMedsQuery = mysql_query($CurrentMedsQuery) or trigger_error(mysql_error().$CurrentMedsQuery);
$Count = mysql_num_rows($RunMedsQuery);
$count = 1;
while ($CurrentMedEntries = mysql_fetch_row($RunMedsQuery)) {
echo '<input type="radio" name="med' . $count . '" value="med' . $count . '">' . $CurrentMedEntries . '<br>';
$count++;
}
echo '</form>';
但现在收到此错误; 注意:第238行的C:\ xampp \ htdocs \ Joomla-Lifestyle \ components \ com_jumi \ files \ medication.php中的数组到字符串转换
第238行:
echo '<input type="radio" name="med' . $count . '" value="med' . $count . '">' . $CurrentMedEntries . '<br>';
答案 0 :(得分:1)
$CurrentMedsArray
包含您的所有数据,因此您只需遍历它并显示值:
<form method="post" name="currentmeds" action="">
<?php foreach ($CurrentMedsArray as $key => $entry): ?>
<input type="radio" name="med<?=$key+1?>" value="med<?=$key+1?>"><?=$entry;?><br>
<?php endforeach ?>
</form>
如果为此目的不需要数组,则可以修改它并在while
循环中显示。另请注意,<?=$var;?>
是<?php echo $var; ?>
的简短语法。
答案 1 :(得分:0)
你不需要使用阵列,我建议你不要。只需执行以下操作:
<?php
echo '<form method="post" name="currentmeds" action="">';
$CurrentMedsQuery = "SELECT Name FROM `".$username."medication` WHERE Status='Current'";
$RunMedsQuery = mysql_query($CurrentMedsQuery) or trigger_error(mysql_error().$CurrentMedsQuery);
$Count = mysql_num_rows($RunMedsQuery);
$count = 1;
while ($CurrentMedEntries = mysql_fetch_row($RunMedsQuery)) {
echo '<input type="radio" name="med' . $count . '" value="med' . $count . '">' . $CurrentMedEntries['name'] . '<br>';
$count++;
}
echo '</form>';
?>
虽然我强烈建议你不要使用mysql_
。相反,请使用mysqli_
或PDO
。