简体   繁体   English

如何在一个链接表中插入多个ID?

[英]How to insert multiple ID's in one linked table?

I want to insert de EmployeeID and the KnowledgeID in Knowledgedetail. 我想在Knowledgedetail中插入de EmployeeID和KnowledgeID。 He creates the employee but does nothing in the Knowledgedetail. 他创建员工,但在Knowledgedetail中什么也不做。 I'm there now no code, I have tried so many things but i have no idea. 我现在没有代码,我已经尝试了很多东西,但是我不知道。
As first in Addprofile.php you make the profile and at least you choose yoour knowledge. 首先在Addprofile.php中进行配置文件,至少您选择自己的知识。 My question is if a make a profile and choose the knowledge how get i de ID's in knowledgedetail. 我的问题是,是否要进行配置文件并选择知识,如何详细了解我的ID。

Table 1 表格1
Employees : EmployeeID, Name, Establishment, E-Mail, Phonenumber, Photo, Description 员工 :员工ID,姓名,机构,电子邮件,电话号码,照片,说明
Table 2 表2
Knowledge : KnowledgeID, Knowledge 知识 :KnowledgeID,知识
Table 3 表3
Knowledgedetail : KnowledgedetailID, EmployeeID KnowledgeID Knowledgedetail :KnowledgedetailID,EmployeeID KnowledgeID

EmployeeID out Employees have a relation with EmployeeID out Knowledgedetail and EmployeeID out员工与EmployeeID out Knowledgedetail和
KnowledgeID out Knowledge have a relation with KnowledgeID out Knowledegedetail KnowledgeID out知识与KnowledgeID out Knowledegedetail有关系

Addprofile.php Addprofile.php

<?php
include("connection.php");
?>
<!DOCTYPE html>
<html>
<head>
    <title>Information System</title> 
    <link rel="stylesheet" type="text/css" href="css/test.css">
    <meta charset ="utf-8">
    <link rel='stylesheet' href='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8/themes/smoothness/jquery-ui.css' type='text/css' media='screen' />  
    <link rel='stylesheet' href='css/ui.multiselect.css' type='text/css' media='screen' />
    <script src="../Informatiesysteem/js/jquery.min.js"></script>
    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js'></script>
    <script type='text/javascript' src='https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min.js'></script>
    <script type='text/javascript' src='../Informatiesysteem/js/ui.multiselect.js'></script>
    <script type='text/javascript'>
            jQuery(document).ready(function() {
                jQuery("#selectitems").multiselect();
            });
    </script>
</head>

<body>
    <div id="container">
        <div id="logo"></div>
            <div id="header">
            <h1>Add Profile</h1>
            </div>
                    <div id="menu">
                    </div>
                        <div id="content">
                <?php
                $result = mysql_query("select knowledgeid, knowledge from knowledge");
                $items = array(); 
                $selected = array();
                while ($row = mysql_fetch_array($result)){  
                $id [] = $row [ 'knowlegdeid' ];
                $items[] = $row[ 'knowledge' ];  
                }
                //form processing
                if (isset($_POST['selectitems'])) {
                $selected = $_POST['selectitems'];
                }       
                if (!empty($selected)) : print_r($selected); endif;
                ?>
                <form enctype="multipart/form-data" id="my form" method="post" action="Addedprofile.php">
                Name:            <input type="text" name="name" /></br>
                Establishment:   <input type="text" name="establishment"/></br>
                E-Mail:          <input type="email" name="email"/></br>            
                Phonenumber:     <input type="tel" name="phonenumber"/></br>    
                Photo:           <input type="file" name="photo"/></br>
                Description:     <textarea rows="4" cols="50" name="description"></textarea></br>
                Knowledge: <select name="selectitems[]" id="selectitems" multiple="multiple" style="width: 450px; height: 180px;">
                <?php //first we add the list of selected items if any
                foreach ($selected as $sel) { ?>
                <option value="<?php echo $sel; ?>" selected="selected"><?php echo $id[$sel]; $items[$sel];?></option>
                <?php } ?>
                <?php foreach ($items as $i => $v) { //then insert all items, skipping those who were added above
                if (in_array($d, $i, $selected)) : continue; endif; //skip ?>
                <option value="<?php echo $d, $i; ?>"><?php echo $v; ?></option>
                <?php } ?>
                </select>                                    
                </br></br></br></br>
                <input type="submit" name="add_profile" value="Add profile" />                       
                </form>
                </div>
</body>
</html> 

Addedprofile.php 增加了profile.php

<!DOCTYPE html>
<html>
<meta http-equiv="refresh" content=";URL=Addprofile.php" />
</html>
<?php
include ("connection.php");
$Name = $_POST['name'];
$Establishment = $_POST['establishment'];
$Email = $_POST['email'];
$Phonenumber = $_POST['phonenumber'];
$Photo = $_POST['photo'];
$Description = $_POST['description'];


$sql = "INSERT INTO employees  
        (
         name, 
         establishment,
         email,
         phonenumber,
         photo,
         description
         )
         VALUES ('". $Name ."', '". $Establishment ."', '". $Email ."', '". $Phonenumber ."', '". $Photo ."', '". $Description ."')";

$sqldetail = "INSERT INTO knowledgedetail 
        (
        employeeid,
        knowledgeid     
        )
        VALUES ......................."; 

                $add = mysql_query($sql);           



            if ($add === false){
                   echo 'Profile is not created';
             }
            else {               
                 echo "Profile created";
                 }

            echo '</br>';



$knowledge = mysql_query($sqldetail);                                       

        if ($add === false){
               echo 'Knowledge is not added';
         }
        else {               
             echo "Knowledge added";
             }

            echo '</br>';


?>

Here's one thing that's wrong with your code: 这是您的代码有误的一件事:

$knowledge = mysql_query($sqldetail);                                       

if ($add === false){
    echo 'Knowledge is not added';
}
else {               
    echo "Knowledge added";
}

In the if statement, you should compare $knowledge and not $add . if语句中,应该比较$knowledge而不是$add So, it should be: 因此,应为:

$knowledge = mysql_query($sqldetail);                                       

if ($knowledge === false){
    echo 'Knowledge is not added';
}
else {               
    echo "Knowledge added";
}

Also, add a call to mysql_error() every time mysql_query() fails: 另外,每当mysql_query()失败时,添加对mysql_error()的调用:

echo "MySQL ERROR: SQL = $sql -- Error=".mysql_error()";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM