PHP/MySQL-调度程序-垂直列
我正在写一个应用程序,需要在垂直柱结构中显示销售人员的约会。我能找到的最接近我想要做的事情如下所示: 销售人员的姓名在最上面,他们本周的约会是垂直安排的。销售人员预约的每一天(本例中为周四和周五)都有一个漂亮的蓝色标题 以下是my MySQLPHP/MySQL-调度程序-垂直列,php,mysql,Php,Mysql,我正在写一个应用程序,需要在垂直柱结构中显示销售人员的约会。我能找到的最接近我想要做的事情如下所示: 销售人员的姓名在最上面,他们本周的约会是垂直安排的。销售人员预约的每一天(本例中为周四和周五)都有一个漂亮的蓝色标题 以下是my MySQL约会表的设置方式: 预约表: ====================================================================== id | id_sales | id_lead | a
约会表的设置方式:
预约表:
======================================================================
id | id_sales | id_lead | appt_date | appt_time |
----------------------------------------------------------------------
1 | 1 | 2 | 2013-12-26 | 11:00 |
----------------------------------------------------------------------
2 | 1 | 3 | 2013-01-05 | 13:00 |
----------------------------------------------------------------------
3 | 2 | 5 | 2013-12-27 | 13:00 |
----------------------------------------------------------------------
4 | 2 | 6 | 2013-12-28 | 17:00 |
----------------------------------------------------------------------
5 | 1 | 7 | 2013-12-29 | 19:30 |
======================================================================
id\u sales
指销售人员的个人id(在另一个表中处理),而id\u lead
指约会(也在另一个表中处理)
到目前为止,我不需要完整地解释如何处理这项任务的各个方面。我被卡住了,不知道如何继续。我很乐意将销售人员ID作为表格标题,并在其下方添加约会ID(ID\u lead
)。在你的帮助下,一旦我把那件作品做好了,我会设法解决剩下的问题;)
我将附上我提出的非工作代码:
schedule.php:
...
<div id="schedule_wrapper_all">
<?php print get_schedule_all(); ?>
</div>
...
。。。
...
db_functions.php:
function get_schedule_all() {
$headers = get_table_headers();
$schedule_builder = '';
$schedule_builder .= '<table border="1">';
$schedule_builder .= $headers;
$schedule_builder .= '</table>';
return $schedule_builder;
}
function get_table_headers() {
include 'scripts/mysql_login_pdo.php';
$query = "SELECT DISTINCT `id_sales` FROM `appointments` ORDER BY `id_sales` ASC";
$stmt = $db->prepare($query);
$stmt->execute();
$appointments = '';
$schedule_headers = '';
$schedule_headers .= '<tr>';
while ($row = $stmt->fetchObject()) {
$id_sales = $row->id_sales;
$schedule_headers .= "<th id='$id_sales'>$id_sales</th>";
$appointments .= fill_appts($id_sales);
}
$schedule_headers .= '</tr>';
$db = null;
$schedule_headers .= $appointments;
return $schedule_headers;
}
function fill_appts($id_sales) {
include 'scripts/mysql_login_pdo.php';
$query = "SELECT `id_lead` FROM `appointments` WHERE `id_sales` = :id_sales";
$stmt = $db->prepare($query);
$stmt->execute(array(
':id_sales' => $id_sales
));
$schedule_appts = '';
$schedule_appts .= '<tr>';
while ($row = $stmt->fetchObject()) {
$id_lead = $row->id_lead;
$schedule_appts .= "<td>$id_lead</td>";
}
$schedule_appts .= '</tr>';
$db = null;
return $schedule_appts;
}
函数get\u schedule\u all(){
$headers=get_table_headers();
$schedule_builder='';
$schedule_builder.='';
$schedule_builder.=$headers;
$schedule_builder.='';
返回$schedule_builder;
}
函数get_table_headers(){
包括“scripts/mysql_login_pdo.php”;
$query=“通过'id\u sales`ASC'从'appointment`订单中选择不同的'id\u sales';
$stmt=$db->prepare($query);
$stmt->execute();
$任命='';
$schedule_headers='';
$schedule_headers.='';
而($row=$stmt->fetchObject()){
$id\u sales=$row->id\u sales;
$schedule\u headers.=“$id\u sales”;
$Appoints.=填写申请($id\U销售);
}
$schedule_headers.='';
$db=null;
$schedule_headers.=$appointment;
返回$schedule_标题;
}
功能填充应用($id\U销售){
包括“scripts/mysql_login_pdo.php”;
$query=“从“约会”中选择“id\u销售线索”,其中“id\u销售”=:id\u销售”;
$stmt=$db->prepare($query);
$stmt->execute(数组)(
“:id\u sales”=>$id\u sales
));
$schedule_appts='';
$schedule_appts.='';
而($row=$stmt->fetchObject()){
$id\u lead=$row->id\u lead;
$schedule\u appts.=“$id\u lead”;
}
$schedule_appts.='';
$db=null;
返回$schedule_appts;
}
结果截图:
再次感谢您的帮助
------------------------------------------更新------------------------------------------
让它工作起来。需要很多造型,但这是一个正确方向的开始
function get_schedule_all() {
$headers = get_table_headers();
$appointments = appointments();
$schedule_builder = '';
$schedule_builder .= '<table>';
$schedule_builder .= $headers;
$schedule_builder .= $appointments;
$schedule_builder .= '</table>';
return $schedule_builder;
}
function get_table_headers() {
include 'scripts/mysql_login_pdo.php';
$query = "SELECT DISTINCT `id_sales` FROM `appointments` ORDER BY `id_sales` ASC";
$stmt = $db->prepare($query);
$stmt->execute();
$schedule_headers = '';
$schedule_headers .= '<tr>';
while ($row = $stmt->fetchObject()) {
$id_sales = $row->id_sales;
$schedule_headers .= "<td id='$id_sales'>$id_sales</td>";
}
$schedule_headers .= '</tr>';
$db = null;
return $schedule_headers;
}
function fill_appts($id_sales) {
include 'scripts/mysql_login_pdo.php';
$query = "SELECT `id_lead` FROM `appointments` WHERE `id_sales` = :id_sales";
$stmt = $db->prepare($query);
$stmt->execute(array(
':id_sales' => $id_sales
));
$schedule_appts = '';
$schedule_appts .= '<table>';
while ($row = $stmt->fetchObject()) {
$id_lead = $row->id_lead;
$schedule_appts .= "<tr><td class='appt'>$id_lead</td></tr>";
}
$schedule_appts .= '</table>';
$db = null;
return $schedule_appts;
}
function appointments(){
include 'scripts/mysql_login_pdo.php';
$query = "SELECT DISTINCT `id_sales` FROM `appointments` ORDER BY `id_sales` ASC";
$stmt = $db->prepare($query);
$stmt->execute();
$appointments = '';
$appointments .= '<tr>';
while ($row = $stmt->fetchObject()) {
$id_sales = $row->id_sales;
$appointments .= '<td>';
$appointments .= fill_appts($id_sales);
$appointments .= '</td>';
}
$appointments .= '</tr>';
$db = null;
return $appointments;
}
函数get\u schedule\u all(){
$headers=get_table_headers();
$appointments=约会();
$schedule_builder='';
$schedule_builder.='';
$schedule_builder.=$headers;
$schedule_builder.=$Appointment;
$schedule_builder.='';
返回$schedule_builder;
}
函数get_table_headers(){
包括“scripts/mysql_login_pdo.php”;
$query=“通过'id\u sales`ASC'从'appointment`订单中选择不同的'id\u sales';
$stmt=$db->prepare($query);
$stmt->execute();
$schedule_headers='';
$schedule_headers.='';
而($row=$stmt->fetchObject()){
$id\u sales=$row->id\u sales;
$schedule\u headers.=“$id\u sales”;
}
$schedule_headers.='';
$db=null;
返回$schedule_标题;
}
功能填充应用($id\U销售){
包括“scripts/mysql_login_pdo.php”;
$query=“从“约会”中选择“id\u销售线索”,其中“id\u销售”=:id\u销售”;
$stmt=$db->prepare($query);
$stmt->execute(数组)(
“:id\u sales”=>$id\u sales
));
$schedule_appts='';
$schedule_appts.='';
而($row=$stmt->fetchObject()){
$id\u lead=$row->id\u lead;
$schedule\u appts.=“$id\u lead”;
}
$schedule_appts.='';
$db=null;
返回$schedule_appts;
}
职能任命(){
包括“scripts/mysql_login_pdo.php”;
$query=“通过'id\u sales`ASC'从'appointment`订单中选择不同的'id\u sales';
$stmt=$db->prepare($query);
$stmt->execute();
$任命='';
$任命='';
而($row=$stmt->fetchObject()){
$id\u sales=$row->id\u sales;
$任命='';
$Appoints.=填写申请($id\U销售);
$任命='';
}
$任命='';
$db=null;
退回$100的预约;
}
您可以做的是,在id sales的每个单元格中创建另一个
,而不是$id\u lead
,然后使用$id\u lead
,这样每个$id\u lead将成为id\u sales下面的一行
这样,在id_sales 1的单元格中,表中将有2、3和7作为3行。5,6作为表中的两行,在id_sales 2的单元格内。Ah。。好主意。非常感谢。这条路线对性能有影响吗?没有。您应该能够使用与现在相同的查询。将走这条路线。再次感谢!一旦成功,您可以使用更新的代码编辑您的问题,这样也可以帮助其他人:)我希望看到您的成品截图:)