簡體   English   中英

來自其他表的呼叫ID以顯示當前表信息

[英]call ID from other table to display current table information

我想在條件滿足的情況下顯示講座表中的講座信息; 與老師和課程相同的ID。因此,我想獲取課程ID,但它不起作用。 系統是老師選擇特定的課程來觀看其講座。 有什么建議么?

    <?PHP if($_GET)$getid= $_GET['id'];$q=mysqli_query($con,"select id from courses id='$getid' ");$n=  mysqli_fetch_assoc($q);$id=$_SESSION['user'];





             $teachid=$_SESSION['user']['id'];
            $query = "SELECT * FROM lectures WHERE teacher_id=$teachid AND course_id=$getid";

    $result = mysqli_query($con, $query);

    while($row = mysqli_fetch_assoc($result))
    {
        ?>
                <tr>
                  <td><?php echo $row['id']; ?></td>
                    <td><?php echo $row['subject']; ?></td>
                    <td><?php echo $row['post']; ?></td>
                    <td><?php echo $row['photo']; ?></td>
                    <td><?php echo $row['teacher_id']; ?></td>
                    <td><?php echo $row['social_url']; ?></td>
                     <td><?php echo $row['course_id']; ?></td>

                    <td></td>
                    <td><button type="submit" class="button" name="doEdit" value="<?PHP echo $row['id'];?>">Edit</a>
                   <button type="submit" class="button" name="doDelete" value="<?PHP echo $row['id'];?>">Delete</a></td>


              </tr>

<?PHP }
    unset($row);
    ?>

這是講座表:

  `lectures`; CREATE TABLE `lectures`
 ( `id` int(11) NOT NULL,
 `subject` varchar(255) NOT NULL, `post`
 text NOT NULL, 
`photo` varchar(255) NOT NULL,
 `teacher_id` int(11) NOT NULL,
 `social_url` varchar(255) NOT NULL, 
`created` datetime NOT NULL,
 `modified` datetime NOT NULL,
 `course_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

和課程表:

`courses`; CREATE TABLE `courses`
 ( `id` int(11) NOT NULL,
 `name` varchar(255) NOT NULL,
 `photo` varchar(255) NOT NULL,
 `course_cat_id` int(11) NOT NULL DEFAULT '1',
 `user_id` int(11) NOT NULL,
 `institute_id` int(11) NOT NULL,
 `description` text NOT NULL,
 `teacher_id` int(11) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

我基本上想要的是根據課程ID和注冊老師的ID顯示課程表。

由於某些原因, $getid值為空。 因此,您的查詢將類似於

SELECT * FROM lectures WHERE teacher_id=7 AND course_id=;

(請注意,第二個=右邊沒有值。)這是一個無效的查詢,它不會從數據庫中檢索任何內容,而只會觸發錯誤。

$getid在第一行中設置,

if($_GET)$getid= $_GET['id'];...

,到$ _GET ['id']的內容。 也就是說,將其設置為請求的查詢字符串中的id的值。

查詢字符串是URL中位於?之后的部分? 最后。 假設您的腳本名為myscript.php並且位於www.myserver.com的Web服務器的根目錄中,則瀏覽器的地址字段中的URL必須類似於

http://www.myserver.com/myscript.php?id=4

$_GET['id']具有4的值,然后在$getid中具有查詢的第二個比較結果。 (請注意, id=4結束。最后,在?某處,必須將其寫在某個位置。但這不一定是唯一的一個。例如...?someotherarg=hello&id=4&yetsomeotherarg=world也可以)

(注意:我假設有趣的第一行正常工作,因為您沒有報告PHP語法錯誤。盡管對我來說這看起來有點不合常規。您可以考慮將其替換為更“友好”和“標准”的代碼

if ($_GET)
{
    $getid = $_GET['id'];
}

如果我的假設是錯誤的,並且無法正常工作。 如前所述,該行中的SQL請求也沒有做任何有用的事情。 據我所知,它的結果從未在其他任何地方使用。 所以我建議您也刪除它。 只是在閱讀代碼時造成不必要的混亂。)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM