2016-04-27 5 views
0

Я пытаюсь отобразить таблицу со значениями в базе данных. Я хотел бы добавить столбец в таблицу, где можно разместить такую ​​кнопку, чтобы она обновляла базу данных. Вот PHP-код.Где должен быть размещен код кнопки?

<!DOCTYPE html> 
<head> 
    <style type="text/css">.mui-textfield.mui-textfield--float-label > label {-webkit-transition:all .15s ease-out;-moz-transition:all .15s ease-out;-o-transition:all .15s ease-out;transition:all .15s ease-out;}</style> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" type="text/css" media="screen" 
     href="//cdn.muicss.com/mui-0.5.3/css/mui.css"> 
    <link rel="shortcut icon" href="final.ico" /> 
    <link rel="stylesheet" href="new_style.css"> 
    <script src="//cdn.muicss.com/mui-0.5.3/js/mui.js"></script> 
    <style> 
     /* Add font-smoothing */ 
     html, 
     body, 
     input, 
     textarea, 
     buttons { 
     -webkit-font-smoothing: antialiased; 
     -moz-osx-font-smoothing: grayscale; 
     text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.004); 
     } 
    </style> 
    <style> 
     a:link, a:visited { 
     background-color: #ff0066; 
     color: white; 
     padding: 10px 10px; 
     text-align: center;  
     text-decoration: none; 
     display: inl 
     a:hover, a:active { 
     ine-block; 
     } 
     a:hover, a:active { 
     background-color: red; 
     } 
    </style> 
</head> 
<body> 
    <form method = "GET" action = "update.php"> 
     <body> 
     <header class="mainheader"> 
     <div style="background-color:#d9d9d9"> 
      <nav> 
       <ul> 
        <li><a href="/" style="color:#FFF">Home</a></li> 
        <li><a href="/loginProf.php" style="color:#FFF">Log-in</a></li> 
       </ul> 
      </nav> 
     </div> 
</body> 
<center> 
<h2> Attendance for Classroom 106 </h2> 
<div class="table-responsive-vertical shadow-z-1"> 
<table class='mui-table mui-table--bordered'> 
<thead><tr><th>ID</th><th>Name</th><th>Attendance</th><th>Status</th><th>Mark Attendance</th></tr></thead><tbody> 
<?php 
    $servername = "localhost"; 
    $username = "root"; 
    $password = "root"; 
    $dbname = "attendance"; 

    // Create connection 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    // Check connection 
    if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
    } 

    $sql = "SELECT pid, name, attendance, status FROM students"; 
    $result = $conn->query($sql); 

    if ($result->num_rows > 0) { 
     // echo "<table><tr><th>ID</th><th>Name</th><th>Attendance</th><th>Status</th></tr>"; 
     // output data of each row 
     while($row = $result->fetch_assoc()) { 
      echo "<tr><td>".$row["pid"]."</td><td>".$row["name"]."</td><td> ".$row["attendance"]."</td><td> ".$row["status"]."</td><td><a href='update.php?uname=" .$row['uname'].'">update</a></td></tr>"; 

     } 
     echo "</table>"; 
    } else { 
     echo "0 results"; 
    } 
    $conn->close(); 
    ?> 
</div> <br><br> 
<a href="loggedinProf.html"> Go back </a> 
</center> 
<input type = "submit" name = "update" value = "MarkAttendance"/></form> 
</body> 
</html> 

Кнопка должна быть добавлена ​​в качестве последней колонки. Вот код update.php

<?php 

require "init.php"; 
$attendance = $_POST["attendance"]; 
$uname  = $_POST["uname"]; 
$count  = $_POST["status"]; 
$query  = "UPDATE students SET attendance = ('$attendance' + attendance) WHERE uname = '$uname';"; 
$query1  = "UPDATE students SET status = ('$count') WHERE uname = '$uname';"; 
$result  = mysqli_query($con, $query); 
$result1 = mysqli_query($con, $query1); 
if ($result > 0 && $result1 > 0) { 
    echo "success"; 
} else { 
    echo "failed"; 
} 
?> 
+0

А что вы пробовали? Кроме того, вы ничего не печатаете. Вы показываете данные из базы данных. То, что вы просите, очень много для кодирования. Наверное, никто не сделает это за вас. – Ionut

+0

Я редактировал вопрос. Мы пробовали разные форматы размещения кнопок в коде, один из которых присутствует в опубликованном коде. Мы хотим, чтобы кто-то изменил код таким образом, что есть действительный показ кнопки, потому что на данный момент он даже не отображается. – doubtful

+0

Хорошо, после обновления кода. Возможно, вы можете создать отдельную страницу, содержащую форму. И когда вы нажимаете кнопку обновления, вы должны установить параметр get с идентификатором записи, которую вы хотите обновить. Затем вы получаете результаты в своих вводах форм с этой страницы по идентификатору из $ _GET и обновляете .... надеюсь, что вы получите упражнение. – Ionut

ответ

0

Изменить это:

echo "<tr><td>".$row["pid"]."</td><td>".$row["name"]."</td><td> ".$row["attendance"]."</td><td> ".$row["status"]."</td><td><a href='update.php?uname=" .$row['uname'].'">update</a></td></tr>"; 

Для этого:

echo "<tr><td>".$row["pid"]."</td><td>".$row["name"]."</td><td> ".$row["attendance"]."</td><td> ".$row["status"]."</td><td><a href='update.php?uname=" .$row['uname'].">update</a></td></tr>"; 
+0

Рассчитывается только несколько строк. В этом случае только строки с нечетными индексами. Кроме того, будучи новичком, мне трудно писать php, который принимает uname и обновляет столбец. Могли бы также изменить update.php? – doubtful

+0

Для обновления вы должны использовать идентификатор записи, потому что он уникален. «Uname» может повторяться в вашей базе данных, и ваше обновление не будет работать правильно. Что вы подразумеваете под «только строки с нечетными индексами»? – Ionut

+0

может помочь нам с update.php. Теперь дисплей выглядит отлично. Но база данных не обновляется. – doubtful

Смежные вопросы