【问题标题】:Check for value of a checkbox in database检查数据库中复选框的值
【发布时间】:2012-08-31 19:23:01
【问题描述】:

我正在开发一个向选定的参与者组(注册程序的人)发送大量电子邮件的邮件。

表格如下:

1)(复选框)程序名称开始日期

2)(复选框)程序名称开始日期

3)(复选框)程序名称开始日期

4)(复选框)程序名称开始日期

5)(复选框)程序名称开始日期

假设您检查了所有这些,但其中一个(例如第 3 号)没有任何参与者注册该计划。

提交表单时,会引发 MySQL 错误,并且任何程序参与者(在本例中为 4 和 5)都不会收到发送给他们的电子邮件,提交表单的用户也不明智。

<form id="email_form" name="email_form" action="email_broadcast_test.php" method="get">
<input name="pid[]" type="checkbox" class="eventCodeCheck" value="<?php echo $row_programs['eventcode']; ?>"/>
<input type="submit" value="Send Email" class="ButtonDefault" />

所以我需要弄清楚,更重要的是,学习并了解如何检查程序是否为空并发出警报以通知用户而不提交表单。

我的另一个想法是能够在页面加载时检查程序是否为空,然后禁用该复选框。

或,

当复选框被选中时引发警报,通知用户它是空的。

提前谢谢你。

【问题讨论】:

    标签: php javascript mysql ajax checkbox


    【解决方案1】:

    您不应该显示复选框...为此,您需要在 MySQL 查询中添加 WHERE 子句,以便仅获取某人实际注册的程序。

    如果不能使用复选框,显示复选框是没有意义的。

    如果您发布您当前的查询和一些关于您的数据库的信息,那么我可以为您提供更好的帮助。

    您的查询可能是:

    SELECT eventcode, eventdesc, date_format(date, '%m/%d/%Y') as format_date 
    FROM camps_events WHERE reg_status!= 'Archived' 
    AND eventcode IN (SELECT DISTINCT eventcode FROM registrations) 
    ".getAllowedPrograms()." ORDER BY eventdesc";
    

    【讨论】:

    • mysql_select_db($database_backoffice, $backoffice); $query_programs = "SELECT eventcode, eventdesc, date_format(date, '%m/%d/%Y') as format_date FROM camps_events WHERE reg_status != 'Archived' ".getAllowedPrograms()." ORDER BY eventdesc"; $programs = mysql_query($query_programs, $backoffice) 或死(mysql_error()); $row_programs = mysql_fetch_assoc($programs); $totalRows_programs = mysql_num_rows($programs);
    • 数据库中有一个名为registrations的表,带有一个eventcode列。此列显示所有活动注册,因此如果程序为空,则其事件代码不会显示在此列中。
    • 效果很好。非常感谢您的宝贵时间。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    • 2013-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    相关资源
    最近更新 更多