我想根据数据库中记录的内容显示包含所选日期的下拉菜单。
有什么有效的方法可以根据记录的数据动态改变下拉菜单的选中状态?
谢谢
注意:
如果后面的clinicID记录的天数不止一行,就会出现多个下拉菜单
$day是一个整数,1表示星期日,2表示星期一,以此类推
这是我的代码
// Check if any row existed
if ($count>0) {
// If row existed then start printing it
while($row = mysql_fetch_assoc($retval))
{
$day = $row['day'];
$startHour = $row['startHour'];
$startMin = $row['startMin'];
$endHour = $row['endHour'];
$endMin = $row['endMin'];
echo
"<span>" .
"<select name='day[]'>" .
"<option value='1' selected='selected'>Sunday</option>" .
"<option value='2'>Monday</option>" .
"<option value='3'>Tuesday</option>" .
"<option value='4'>Wednesday</option>" .
"<option value='5'>Thursday</option>" .
"<option value='6'>Friday</option>" .
"<option value='7'>Saturday</option>" .
"<option value='0'>Everyday</option>" .
"</select>"
//Please ignore this below
"<br>start : " . $startHour . "." . $startMin .
"<br>end : " . $endHour . "." . $endMin .
"<br><br>";
}
}
else {
}
最佳答案
如果这是新代码,请使用 PDO 或 MySQLi。 mysql 已贬值,不应在新代码上使用 php.net/manual/en/function.mysql-query.php 试试这个链接,它对我帮助很大:phpdelusions.net/pdo
将您的代码更改为类似这样的内容(此代码包括 PDO 实现):
<?php
$db = new PDO('mysql:host=yourhost;dbname=dbname', 'username', 'password', array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES 'UTF8'"));
$db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
//Printing schedule already in the database
$getbusinesshours = "select * from businesshours where clinicID = $clinicID";
$stmt = $db->prepare($getbusinesshours);
$stmt->execute();
$count = $stmt->rowCount();
// Check if any row existed
if ($count>0){
// If row existed then start printing it
foreach ($stmt as $row){
{
$day = $row['day'];
$startHour = $row['startHour'];
$startMin = $row['startMin'];
$endHour = $row['endHour'];
$endMin = $row['endMin'];
$i = 0;
$days = array('Everyday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday');
$select = '<span><select name="day[]">';
while($i <= 7){
if($i == $day){
$selected = 'selected="selected"';
}
else{
$selected = '';
}
$select = $select.
'<option value="'.$i.'"'.$selected.'>'.$days[$i].'</option'>
$i++;
}
$select = $select.'</select>';
echo $select;
//Please ignore this below
"<br>start : " . $startHour . "." . $startMin .
"<br>end : " . $endHour . "." . $endMin .
"<br><br>";
}
}
else {
}
?>
希望对您有所帮助。
关于php - 动态更改每行数据的下拉列表的选定状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37114128/
如何正确创建Rails迁移,以便将表更改为MySQL中的MyISAM?目前是InnoDB。运行原始执行语句会更改表,但它不会更新db/schema.rb,因此当在测试环境中重新创建表时,它会返回到InnoDB并且我的全文搜索失败。我如何着手更改/添加迁移,以便将现有表修改为MyISAM并更新schema.rb,以便我的数据库和相应的测试数据库得到相应更新? 最佳答案 我没有找到执行此操作的好方法。您可以像有人建议的那样更改您的schema.rb,然后运行:rakedb:schema:load,但是,这将覆盖您的数据。我的做法是(假设
我需要在客户计算机上运行Ruby应用程序。通常需要几天才能完成(复制大备份文件)。问题是如果启用sleep,它会中断应用程序。否则,计算机将持续运行数周,直到我下次访问为止。有什么方法可以防止执行期间休眠并让Windows在执行后休眠吗?欢迎任何疯狂的想法;-) 最佳答案 Here建议使用SetThreadExecutionStateWinAPI函数,使应用程序能够通知系统它正在使用中,从而防止系统在应用程序运行时进入休眠状态或关闭显示。像这样的东西:require'Win32API'ES_AWAYMODE_REQUIRED=0x0
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
是否有类似“RVMuse1”或“RVMuselist[0]”之类的内容而不是键入整个版本号。在任何时候,我们都会看到一个可能包含5个或更多ruby的列表,我们可以轻松地键入一个数字而不是X.X.X。这也有助于rvmgemset。 最佳答案 这在RVM2.0中是可能的=>https://docs.google.com/document/d/1xW9GeEpLOWPcddDg_hOPvK4oeLxJmU3Q5FiCNT7nTAc/edit?usp=sharing-知道链接的任何人都可以发表评论
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我尝试使用不同的ssh_options在同一阶段运行capistranov.3任务。我的production.rb说:set:stage,:productionset:user,'deploy'set:ssh_options,{user:'deploy'}通过此配置,capistrano与用户deploy连接,这对于其余的任务是正确的。但是我需要将它连接到服务器中配置良好的an_other_user以完成一项特定任务。然后我的食谱说:...taskswithoriginaluser...task:my_task_with_an_other_userdoset:user,'an_othe
当我的预订模型通过rake任务在状态机上转换时,我试图找出如何跳过对ActiveRecord对象的特定实例的验证。我想在reservation.close时跳过所有验证!叫做。希望调用reservation.close!(:validate=>false)之类的东西。仅供引用,我们正在使用https://github.com/pluginaweek/state_machine用于状态机。这是我的预订模型的示例。classReservation["requested","negotiating","approved"])}state_machine:initial=>'requested
有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳
假设我有一个FireNinja我的数据库中的对象,使用单表继承存储。后来才知道他真的是WaterNinja.将他更改为不同的子类的最干净的方法是什么?更好的是,我很想创建一个新的WaterNinja对象并替换旧的FireNinja在数据库中,保留ID。编辑我知道如何创建新的WaterNinja来self现有FireNinja的对象,我也知道我可以删除旧的并保存新的。我想做的是改变现有项目的类别。我是通过创建一个新对象并执行一些ActiveRecord魔法来替换行,还是通过对对象本身做一些疯狂的事情,或者甚至通过删除它并使用相同的ID重新插入来做到这一点,这是问题的一部分。
对于作为String#tr参数的单引号字符串文字中反斜杠的转义状态,我觉得有些神秘。你能解释一下下面三个例子之间的对比吗?我特别不明白第二个。为了避免复杂化,我在这里使用了'd',在双引号中转义时不会改变含义("\d"="d")。'\\'.tr('\\','x')#=>"x"'\\'.tr('\\d','x')#=>"\\"'\\'.tr('\\\d','x')#=>"x" 最佳答案 在tr中转义tr的第一个参数非常类似于正则表达式中的括号字符分组。您可以在表达式的开头使用^来否定匹配(替换任何不匹配的内容)并使用例如a-f来匹配一