Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP代码将MySQL表中的数据链接到1个表中_Php_Phpmyadmin - Fatal编程技术网

使用PHP代码将MySQL表中的数据链接到1个表中

使用PHP代码将MySQL表中的数据链接到1个表中,php,phpmyadmin,Php,Phpmyadmin,背景资料: 我正在尝试创建一个数字化的工作提升系统。管理员提出一份工作表,并从“tblclient”表中引入一个客户机,填写工作的详细信息,然后将工作表分配给员工用户 说到这里,我很难从clients表和users表中提取数据,然后将它们链接到jobs表中的一行。我不熟悉PHP编码,不确定如何编写脚本,这样我的用户就可以选择客户机,所有客户机详细信息都附在工作表上,然后对其进行编码,这样工作表就可以在用户之间移动 这样,当作业完成时,管理员可以预览作业表,其中包含所有客户端详细信息、作业详细信息

背景资料: 我正在尝试创建一个数字化的工作提升系统。管理员提出一份工作表,并从“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());