使用PHP代码将MySQL表中的数据链接到1个表中
背景资料: 我正在尝试创建一个数字化的工作提升系统。管理员提出一份工作表,并从“tblclient”表中引入一个客户机,填写工作的详细信息,然后将工作表分配给员工用户 说到这里,我很难从clients表和users表中提取数据,然后将它们链接到jobs表中的一行。我不熟悉PHP编码,不确定如何编写脚本,这样我的用户就可以选择客户机,所有客户机详细信息都附在工作表上,然后对其进行编码,这样工作表就可以在用户之间移动 这样,当作业完成时,管理员可以预览作业表,其中包含所有客户端详细信息、作业详细信息,并在屏幕上打印所有信息 是否有任何教程可用于此过程 注: 我目前有一个表单,可以将作业数据插入到作业表中,我只是不知道使用什么代码来拉入用户/客户端并将其链接到特定作业 谢谢使用PHP代码将MySQL表中的数据链接到1个表中,php,phpmyadmin,Php,Phpmyadmin,背景资料: 我正在尝试创建一个数字化的工作提升系统。管理员提出一份工作表,并从“tblclient”表中引入一个客户机,填写工作的详细信息,然后将工作表分配给员工用户 说到这里,我很难从clients表和users表中提取数据,然后将它们链接到jobs表中的一行。我不熟悉PHP编码,不确定如何编写脚本,这样我的用户就可以选择客户机,所有客户机详细信息都附在工作表上,然后对其进行编码,这样工作表就可以在用户之间移动 这样,当作业完成时,管理员可以预览作业表,其中包含所有客户端详细信息、作业详细信息
<?php
include 'core/init.php';
include 'include/overall/overall_header.php';
protect_page();
admin_protect();
$today_date = date("Y-m-d");
?>
<div id="container">
<div id="content-container">
<div id="sidenav">
<?php include 'include/sidenav.php'; ?>
</div>
<div id="content">
<h1>Add a new job</h1>
<?php echo $today_date; ?>
<?php
if (isset($_GET['success']) && empty($_GET['success'])) {
echo 'Job added successfully!';
} else {
if (empty($_POST) === false && empty($errors) === true) {
$job_data = array(
'date' => $_POST['date'],
'description' => $_POST['description'],
'artworkbrief' => $_POST['artworkbrief'],
'extracosts' => $_POST['extracosts'],
'stock1' => $_POST['stock1'],
'orderno1' => $_POST['orderno1'],
'ordered1' => $_POST['ordered1'],
'stock2' => $_POST['stock2'],
'orderno2' => $_POST['orderno2'],
'ordered2' => $_POST['ordered2'],
'stock3' => $_POST['stock3'],
'orderno3' => $_POST['orderno3'],
'ordered3' => $_POST['ordered3'],
'subtotal' => $_POST['subtotal'],
'extracosts1' => $_POST['extracosts1'],
'total' => $_POST['total']
);
raise_job($job_data);
header('Location: raise_job.php');
exit();
}
}
?>
<select id="clientname" name="clientname">
<?php
$pdo = new PDO('mysql:host=localhost;dbname=formation_ims', 'root', 'form8tion');
#Set Error Mode to ERRMODE_EXCEPTION.
$pdo->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $pdo->prepare('Select clientname from tblclients');
$stmt->execute();
while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
echo '<option>'.$row['clientname'].'</option>';
}
?>
</select>
<div id="job-sheet">
<form action="" method="post">
<div class="row-3">
<div class="description">
<p>Description:</p>
<textarea type="text" name="description"></textarea>
</div>
</div>
<div class="row-4">
<div class="artwork-brief">
<p>Artwork Brief:</p>
<textarea type="text" name="artworkbrief"></textarea>
</div>
</div>
<div class="row-5">
<div class="extra-costs-container">
<div class="extra-costs">
<p>Extra Costs:</p>
<textarea type="text" name="extracosts"></textarea>
</div>
</div>
<div class="total-container">
<div class="sub-total">
Sub Total:
<input type="text" name="subtotal">
</div>
</div>
<div class="extra-num-container">
<div class="extra-costs-num">
Extra Costs:
<input type="text" name="extracosts1">
</div>
</div>
</div>
<div class="row-6">
<div class="stock-material-container">
<div class="stock-material">
<p>Stock/Material:</p>
<div class="stock-material-row">
<div class="stock-material-col01">
<input type="text" name="stock1">
</div>
<div class="stock-material-col02">
Order No.<input type="text" name="orderno1">
</div>
<div class="stock-material-col03">
Ordered:<input type="checkbox" name="ordered1">
</div>
</div>
<div class="stock-material-row">
<div class="stock-material-col01">
<input type="text" name="stock2">
</div>
<div class="stock-material-col02">
Order No.<input type="text" name="orderno2">
</div>
<div class="stock-material-col03">
Ordered:<input type="checkbox" name="ordered2">
</div>
</div>
<div class="stock-material-row">
<div class="stock-material-col01">
<input type="text" name="stock3">
</div>
<div class="stock-material-col02">
Order No.<input type="text" name="orderno3">
</div>
<div class="stock-material-col03">
Ordered:<input type="checkbox" name="ordered3">
</div>
</div>
</div>
</div>
<div class="total-container">
<div class="sub-total">
Sub Total:
<input type="text" name="subtotal">
</div>
</div>
<div class="extra-num-container">
<div class="extra-costs-num">
Extra Costs:
<input type="text" name="extracosts1">
</div>
</div>
</div>
</div>
<input type="submit" value="Submit">
</form>
</div>
</div>
<div class="clear"></div>
<?php include 'include/overall/overall_footer.php'; ?>
添加新作业
说明:
作品简介:
额外费用:
小计:
额外费用:
库存/材料:
订单号。
命令:
订单号。
命令:
订单号。
命令:
小计:
额外费用:
啊,是的,我理解这段代码在做什么,但不熟悉语法。我有一个错误: 分析错误:语法错误,意外“;”在里面 我想你漏掉了一个“)”但即使在恢复它之后,我的下拉菜单也没有填充:
<select name='clientid'>
<?php
$query="SELECT * FROM tblclients";
$result=mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_assoc($result)){
echo "<option value='".$row['Client_ID']."'>".stripslashes($row['ClientName']." </option>";
}
?>
`输入作业时,表单中需要一个包含clientid的字段和另一个包含userid的字段。下面是一个如何做到这一点的示例
<select name='clientid'>
<?php
$query="SELECT * FROM ClientTable";
$result=mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_assoc($result)){
echo "<option value='".$row['ClientID']."'>".stripslashes($row['ClientName']."</option>";
}
?>
</select>
它通过ID获取适当的客户端和用户信息(我希望您已经用auto increment进行了设置)Ok,那么我如何填充下拉菜单以供用户查看呢?那么管理员可以选择一个连接到查询的clientname?我很抱歉我对这方面的知识缺乏,这让我绞尽脑汁想弄清楚。@Orion我在答案中添加了更多信息以供输入。啊,现在你已经发布了你的代码,我看到你在使用PDO,一些想法可以转移,但我使用mysql编写,正如你所看到的。啊,是的,我理解这段代码在做什么,但不熟悉语法。我遇到一个错误:抱歉,我将代码分解为理解,下拉菜单现在可以使用了&我现在将尝试将查询插入数据库。请粘贴您当前的代码,并准确解释哪些代码没有按预期工作。@enenen我已更新。如你所见,我用div设计了我的桌子。
$query="SELECT * FROM JobTable
LEFT JOIN UserTable ON UserTable.UserID=JobTable.UserID
LEFT JOIN ClientTable ON ClientTable.ClientID=JobTable.ClientID
WHERE JobID='".mysql_real_escape_string($jobid)."'";
$result=mysql_query($query) or die(mysql_error());