【问题标题】:Submitting Changes Made in Table提交对表所做的更改
【发布时间】:2018-05-04 18:11:24
【问题描述】:

我有一个表,其中每一行都有一个名称和一个下拉列表,其中包含我的数据库中所有可能的工作的名称。我希望用户能够将工作分配给他们想要的许多名称。然后将有一个提交按钮,该按钮将仅使用那些选择了作业的数据库来更新数据库。我不确定如何仅更新更改的行,我是否将其设为表单?感谢您的帮助!

HTML:

<?php
    session_start();
    if(!isset($_SESSION['login'])) {
    header('Location: AdminLogin.php');
    exit;
    }
    $user = 'root';
    $password = 'root';
    $db = 'Senior Internships';
    $host = 'localhost';

    $conn = new mysqli($host, $user, $password, $db);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Internships</title>
    <link href="css/Navbar.css" rel="stylesheet">
        <link href="css/dropdown.css" rel="stylesheet">
        <link href="css/Tables.css" rel="stylesheet">
</head>

<body>
    <img src="BT-Square-Logo.png" class="logo" alt='BT Logo'>
    <script src="js/dropdown.js"></script>
    <header>
    <div class="container">
            <nav>
        <ul>
            <li><a href='Pre-approved_Internships.php'>Pre-approved Internships</a></li>
            <li><a href='Logout.php'>Logout</a></li>
        </ul>
    </nav>
    </div>
    </header>
    <h2>Students Not Yet Assigned</h2>
<div id="table-wrapper2">
<div id="table-scroll">
<div id="table-wrapper">
    <table style="width:100%">
      <tr>
        <th>First Name</th>
        <th>Last Name</th>
        <th>1st Area of Interest</th>
        <th>2nd Area of Interest</th>
        <th>3rd Area of Interest</th>
        <th>Internship</th>
      </tr>

      <?php
            $result = mysqli_query($conn, "SELECT FName, LName, AreaofInterest1, AreaofInterest2, AreaofInterest3 FROM Seniors WHERE Visibility=0");
            while($row = mysqli_fetch_array($result)):
        ?>
      <tr>
        <td><?= $row['FName']; ?></td>
        <td><?= $row['LName']; ?></td>
        <td><?= $row['AreaofInterest1']; ?></td>
        <td><?= $row['AreaofInterest2']; ?></td>
        <td><?= $row['AreaofInterest3']; ?></td>
            <td>
            <select>

            <?php
             $result2 = mysqli_query($conn, "SELECT Company FROM Internships");
             while($row2 = mysqli_fetch_array($result2)): ?>
                    <option vaue="<?= $row2['Company']; ?>"><?= $row2['Company']; ?></option>
            <?php endwhile ?>
        </select>
        </td>
      </tr>
      <?php endwhile; ?>
    </table>
</div>
</div>
</div>
</body>
<footer><p>&copy Eliav Hamburger 2018 Admins login <a href='AdminLogin.php'>here</a></p></footer>
</html>

CSS 表格格式(仅包含表格的 CSS):

td, th {
    padding: 10px;
}
table {
    border-collapse: collapse;
    border: none;
}
th {
    color: white;
    background-color: #302e7f;
}
th a {
    color: white;
    text-decoration: none;
}
tr:nth-child(2n+1) {
    background-color: #91A6BB;
}
#table-wrapper {
  position:relative;
    border-style: solid;
    border-radius: 7px;
    border-color: #91A6BB;
}
#table-scroll {
  height:250px;
  overflow:auto;
}
#table-wrapper2 table {
  width:100%;
}
#table-wrapper2 table thead th .text {
  position:absolute;
  top:-20px;
  z-index:2;
  height:20px;
  width:35%;
  border:1px solid red;
}

【问题讨论】:

  • 你可以把它做成一个表单,也可以使用ajax。这取决于您将如何捕获选择值。
  • 如果我以表格形式做,我会怎么做?

标签: php mysql database forms


【解决方案1】:
  • 首先将表单添加到表格正文中。

  • 其次,您将添加其他元素,其中包括 sql_rows_id 每个用户都可以根据需要为特定用户应用更改。

  • thirdy 将添加 mysqli_query() 以在数据库中应用更改。

这是您编辑后的页面代码。

<?php
    session_start();
    if(!isset($_SESSION['login'])) {
    header('Location: AdminLogin.php');
    exit;
    }
    $user = 'root';
    $password = 'root';
    $db = 'Senior Internships';
    $host = 'localhost';

    $conn = new mysqli($host, $user, $password, $db);
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Internships</title>
    <link href="css/Navbar.css" rel="stylesheet">
        <link href="css/dropdown.css" rel="stylesheet">
        <link href="css/Tables.css" rel="stylesheet">
</head>

<body>
    <img src="BT-Square-Logo.png" class="logo" alt='BT Logo'>
    <script src="js/dropdown.js"></script>
    <header>
    <div class="container">
            <nav>
        <ul>
            <li><a href='Pre-approved_Internships.php'>Pre-approved Internships</a></li>
            <li><a href='Logout.php'>Logout</a></li>
        </ul>
    </nav>
    </div>
    </header>
    <h2>Students Not Yet Assigned</h2>
<div id="table-wrapper2">
<div id="table-scroll">
<div id="table-wrapper">
    <table style="width:100%">
      <tr>
        <th>First Name</th>
        <th>Last Name</th>
        <th>1st Area of Interest</th>
        <th>2nd Area of Interest</th>
        <th>3rd Area of Interest</th>
        <th>Internship</th>
      </tr>

      <?php
            $result = mysqli_query($conn, "SELECT FName, LName, AreaofInterest1, AreaofInterest2, AreaofInterest3 FROM Seniors WHERE Visibility=0");
            while($row = mysqli_fetch_array($result)):
        ?>
      <form action="" method="post">
      <tr>
        <td><?= $row['FName']; ?></td>
        <td><?= $row['LName']; ?></td>
        <td><?= $row['AreaofInterest1']; ?></td>
        <td><?= $row['AreaofInterest2']; ?></td>
        <td><?= $row['AreaofInterest3']; ?></td>
            <td>
            <select name="new_data">

            <?php
             $result2 = mysqli_query($conn, "SELECT Company FROM Internships");
             while($row2 = mysqli_fetch_array($result2)): ?>
                    <option vaue="<?= $row2['Company']; ?>"><?= $row2['Company']; ?></option>
            <?php endwhile ?>
        </select>
        <input type="submit" name="change" />
        </td>
      </tr>
      </form>
      <?php endwhile; ?>
    </table>

<?php 
$id = $row['id'];
$new_data = $_POST['new_data'];
$apply_change = $conn->query("UPDATE Seniors SET  /* choose the field to be changed */ field = '$new_data' /* $new_data from select */ WHERE id = $id");
?>
</div>
</div>
</div>
</body>
<footer><p>&copy Eliav Hamburger 2018 Admins login <a href='AdminLogin.php'>here</a></p></footer>
</html>

我希望你能理解我并解决你的问题。

【讨论】:

    猜你喜欢
    • 2013-08-07
    • 1970-01-01
    • 1970-01-01
    • 2015-02-19
    • 2016-09-29
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多