2015-04-02 58 views
-1

我有一個名爲FACULTY的表,其中有FacultyID,FNameLName。它預先填充了信息。我可以使用動態下拉式來將這些值顯示在頁面上。如何使用php發送ID到數據庫的動態下拉

我的問題是我也有一個正在連接到每個教師的出版物表。我希望能夠選擇多個教師並將這些ID(單個行)發送到教師發佈表。我希望輸入的發佈信息進入發佈表,然後自動生成的ID也進入教師發佈表。

表名:FACULTYPUBLICATIONFACULTYPUBLICATIONS

這裏是我到目前爲止的代碼:

<?php 
    include_once 'dbc.php'; 
    function connect() { 
     mysql_connect(DB_HOST, DB_USER, DB_PASS) or die('Could not connect to database'.mysql_error()); 
     mysql_select_db(DB_NAME); 
    } 

    function close() { 
     mysql_close(); 
    } 

    function query() { 
     $myData = mysql_query("SELECT * FROM FACULTY"); 
     while($record = mysql_fetch_array($myData)) { 
      echo '<option value="'. $record['FName'] .$record['LName']. '">' . $record['FName'] .' '. $record['LName'] . ' </option>'; 
     } 
    } 
<?php 
    include_once 'pullDataR2.php'; 
    connect(); 
?> 
<!DOCTYPE html> 
    <head> 
     <link href="styles.css" rel="stylesheet"> 
     <h1> help </h1> 
    </head> 
    <body> 

     <div class="StyleDiv" > 
      <!-- coding for journal --> 
      <form id="form1" name="form1" method="post" action="RR2.php"> 
       <label for="FName">Faculty Name</label> 
       <select multiple="multiple" name="select" id="Faculty"> 
        <?php query() ?> 
       </select> 
       <?php close() ?> 
       <br class="clear" /> 

       <input type="hidden" name="JournalID" id="JournalID" class="textbox" /> 
       <br class="clear" /> 
       <label for="JournalName">Journal Name</label> 
       <input type="text" name="JournalName" id="JournalName" /> 
       <br class="clear" /> 
       <label for="Rating">Journal Rating</label> 
       <select name="Rating" id="Rating"> 
        <option value="A+">A+</option> 
        <option value="A">A</option> 
        <option value="A-">A-</option> 
        <option value="B+">B+</option> 
        <option value="B">B</option> 
        <option value="B-">B-</option> 
        <option value="C+">C+</option> 
        <option value="C">C</option> 
        <option value="C-">C-</option> 
        <option value="D+">D+</option> 
        <option value="D">D</option> 
        <option value="D-">D-</option> 
        <option value="F">F</option> 
       </select> 
       <br class="clear" /> 

       <!-- coding for publication --> 
       <input type="hidden" name="PubID" id="PubID" /> 
       <br class="clear" /> 
       <label for="Title">Publication Title</label> 
       <input type="text" name="Title" id="Title" /> 
       <br class="clear" /> 
       <label for="Year">Year</label> 
       <input type="text" name="Year" id="Year" /> 
       <br class="clear" /> 
       <label for="Volume">Volume</label> 
       <input type="text" name="Volume" id="Volume" /> 
       <br class="clear" /> 
       <label for="Issue">Issue</label> 
       <input type="text" name="Issue" id="Issue" /> 
       <br class="clear" /> 
       <label for="Comments">Comments</label> 
       <textarea name="Comments" id="Comments" cols="45" rows="5"></textarea> 
       <br class="clear" /> 

       <input type="submit" name="Submit" id="Submit" value="Submit" /> 
       <br class="clear" /></br></br> 

      </div> 
     </form> 

<?php 

    //Post Parameters 
    $JournalName = $_POST['JournalName']; 
    $Rating = $_POST['Rating']; 

    $Year = $_POST['Year']; 
    $Comments = $_POST['Comments']; 
    $Volume = $_POST['Volume']; 
    $Issue = $_POST['Issue']; 
    $Title = $_POST['Title']; 

    //create connection 
    $conn = new mysqli('localhost','root','isasurvey','isasurvey'); 
    if($conn->connect_errno) { 
     echo 'failure</br>'; 
    } 

    //Query 

    //INSERT 
    $stmt = $conn->prepare (" INSERT INTO JOURNAL (JournalName, Rating) VALUES ('$JournalName', '$Rating')"); 
    $stmt->bind_param("sssssss", $JournalName, $Rating); 
    $stmt->execute(); 

    //INSERT 
    $stmt = $conn->prepare(" INSERT INTO PUBLICATION (Year, Comments, Volume, Issue, Title) VALUES ('$Year', '$Comments', '$Volume', '$Issue', '$Title')"); 
    $stmt->bind_param("sssssss", $Year, $Comments, $Volume, $Issue, $Title); 
    $stmt->execute(); 

?> 

    </body> 
</html> 
+1

你有什麼問題?你試過什麼了? – Barett 2015-04-02 20:31:02

+0

我無法獲得FacultyID以進入發佈表。當我點擊提交時 - 它進入出版和期刊很好。現在,我需要將自動生成的發佈ID放入FacultyPublications並將其鏈接到該預填表中的FacultyID(特別是如果您選擇多個教師)。我試圖插入一個循環,但只是使頁面消失。我想知道我是否可以使用uuid,但我仍然不知道如何讓多個教師工作。 因此,如果我有出版物1 - 它由2個教職員編寫,需要2行。 – reedma1 2015-04-02 22:18:01

+0

我可以使用請求來實現這個功能嗎? – reedma1 2015-04-05 14:43:26

回答

0

這種編碼工作,因爲你加了循環,然後繼續說通直到你發佈。

<?php 
    include 'dbc.php'; 
    connect(); 

$sql2 = "SELECT FName, LName, FacultyID from FACULTY where FacultyActive = 1;"; 
//Can take out JournalActive if we do not want it                               
$result2 = mysqli_query($conn, $sql2);                                     
if (!$result2) {                                          
    $message = 'Invalid query: ' . mysql_error() . "\n";                                
    $message .= 'Whole query: ' . $query;                                    
    die($message);                                         
    echo "there was an issue";                                      
} 

$faculty = array();                                         
    //print out all of the first names in the database 
$rownum = 0;                                 
while ($row = mysqli_fetch_assoc($result2)) {                                   
    $faculty[$rownum][0] = $row['FName']; 
    $faculty[$rownum][1] = $row['LName']; 
    $faculty[$rownum][2] = $row['FacultyID']; 
    $rownum++;                                      
} 

?> 

<head> 
<link href="styles.css" rel="stylesheet"> 
<h1> Miami University </h1> 
<h4> Information Systems and Analytics Department </h4> 
</head> 
<body> 


<form id="form1" name="form1" method="post" action="RR2.php"> 
<label for="FacultyName">Faculty Name</label> 
<select multiple="multiple" name="FacultyID" id="FacultyID"> 
<?php 
    for($i = 0; $i < sizeof($faculty); $i++) { 
    print "<option value=\"" . $faculty[$i][2] . "\">" . $faculty[$i][0] .' '. $faculty[$i][1] . "</option>\r\n"; 
    } 
?> 
</select> 
<br class="clear" /> 

$JournalID = $_POST['JournalID']; 
$Year = $_POST['Year']; 
$Comments = $_POST['Comments']; 
$Volume = $_POST['Volume']; 
$Issue = $_POST['Issue']; 
$Title = $_POST['Title']; 
$JournalRating = $_POST['JournalRating']; 
$FacultyMemID = $_POST['FacultyID']; 

//INSERT 
$stmt = $conn->prepare(" INSERT INTO PUBLICATION (JournalID, Year, Comments, Volume, Issue, Title, JournalRating) VALUES ('$JournalID', '$Year', '$Comments', '$Volume', '$Issue', '$Title', '$JournalRating')"); 
$stmt->execute();