[英]Fetching Multiple Rows from Table and Adding Them into Another Table and then Remove from Previous Table, Using Checkboxes
在我的管理員頁面中,將顯示想要注冊到網站的人員列表。
請求將插入到membersneedreg
表中。 當用戶被接受后,用戶的行將移動到members
表。
從membersneedreg
獲取數據時,我在每一行上添加了一個復選框 ,並決定將$num
變量作為其值,在每個循環中遞增。
我的問題是系統將如何確認我的復選框已被選中,其中當提交時,所選數據行將從membersneedreg
表移動到members
表中?
很樂意幫助我們。 如果您對我的帖子有任何疑問或改動,請隨時發表評論。
<?php
$result_set = mysql_query("SELECT * FROM membersneedreg");
$num_messages = mysql_num_rows($result_set);
// Create connection
echo "<table border=1 align='center'>";
echo "<tr><th>MemberID</th><td>FirstName</td><td>LastName</td><td>Date of birth</td><td>Email</td><td>Address</td><td>PostCode</td><td>UserName</td><td>Password</td><td>Annadale Relationship</td></tr> ";
// Loop over all the posts and print them out
$num=0;
while( $row = mysql_fetch_assoc( $result_set ) ) {
$memberid1 = $row['MemberID'];
$fname1 = $row['FirstName'];
$lastn1 = $row['LastName'];
$DOB1 = $row['Date_of_Birth'];
$Email1 = $row['Email'];
$Address1 = $row['Address'];
$Postcode1 = $row['PostCode'];
$UserName1 = $row['UserName'];
$Password1 = $row['Password'];
$relationship1 = $row['Annadale_Relationship'];
$num++; //allows me to give each checkbox a different value.
echo "<form action='confirm_mem.php'>";
echo "<tr align='center'><th>$memberid1</th>";
echo "<td>$fname1</td>";
echo "<td>$lastn1</td>";
echo "<td>$DOB1</td>";
echo "<td>$Email1</td>";
echo "<td>$Address1</td>";
echo "<td>$Postcode1</td>";
echo "<td>$UserName1</td>";
echo "<td>$Password1</td>";
echo "<td>$relationship1</td>";
echo "<td><input type='checkbox' name='member' value='$num'></td></tr>";
}
echo "</table>";
echo "<input type='submit' name='submit' value='Add Member'>";
echo "</form>";
?>
讓我們首先將MySQL轉換為MySQLi 。 當我轉到代碼時,我會在評論/ * * /中加入一些解釋。
如果你想聽聽我的建議,你應該剛剛創建了2個表而不是2個數據庫 。 (根據您的解釋,您將membersneedreg
和members
稱為數據庫)。
假設您的membersneedreg
和members
是表,並且它們都具有相同的列。
您可以將其保存為例如form.php :
<?php
/* ESTABLISH THE CONNECTION */
$con=mysqli_connect("YourHost","YourUsername","YourPassword","YourDatabase"); /* REPLACE THE NECESSARY HOST, USERNAME, PASSWORD, AND DATABASE */
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}
$result_set = mysqli_query($con,"SELECT * FROM membersneedreg");
$num_messages = mysqli_num_rows($result_set);
echo "<table border='1' align='center'>";
echo "<tr><th>MemberID</th><td>FirstName</td><td>LastName</td><td>Date of birth</td><td>Email</td><td>Address</td><td>PostCode</td><td>UserName</td><td>Password</td><td>Annadale Relationship</td></tr>";
/* FETCH THE DATA BASED ON THE QUERY RESULT_GET */
$num=0; /* THIS WILL BE SET AS YOUR COUNTER */
while($row = mysqli_fetch_array($result_set)){
$memberid1 = $row['MemberID'];
$fname1 = $row['FirstName'];
$lastn1 = $row['LastName'];
$DOB1 = $row['Date_of_Birth'];
$Email1 = $row['Email'];
$Address1 = $row['Address'];
$Postcode1 = $row['PostCode'];
$UserName1 = $row['UserName'];
$Password1 = $row['Password'];
$relationship1 = $row['Annadale_Relationship'];
$num++; /* INCREMENT NUM */
echo "<form action='confirm_mem.php' method='POST'>";
echo "<tr align='center'><th>$memberid1</th>";
echo "<td>$fname1</td>";
echo "<td>$lastn1</td>";
echo "<td>$DOB1</td>";
echo "<td>$Email1</td>";
echo "<td>$Address1</td>";
echo "<td>$Postcode1</td>";
echo "<td>$UserName1</td>";
echo "<td>$Password1</td>";
echo "<td>$relationship1</td>";
echo "<td><input type='checkbox' name='member[$num]' value='$memberid1'></td></tr>";
/* THIS IS IMPORTANT, YOU SHOULD PUT TO AN ARRAY THE VALUE OF THIS CHECKBOX, AND THE VALUE WILL BE BASED ON THE FETCH ARRAY. IN MY EXAMPLE, THE $memberid1 VARIABLE */
}
echo "</table>";
echo "<input type='hidden' name='hiddencounter' value='$num'>"; /* THIS IS FOR THE COUNTING PURPOSES */
echo "<input type='submit' name='submit' value='Add Member'>";
echo "</form>";
?>
confirm_mem.php
<html>
<body>
<?php
/* ESTABLISH THE CONNECTION */
$con=mysqli_connect("YourHost","YourUsername","YourPassword","YourDatabase"); /* REPLACE THE NECESSARY HOST, USERNAME, PASSWORD, AND DATABASE */
if(mysqli_connect_errno()){
echo "Error".mysqli_connect_error();
}
if(isset($_POST['submit'])){
$counter=$_POST['hiddencounter'];
$member=$_POST['member'];
echo $counter." submitted checkboxes"; /* TO CHECK HOW MANY CHECKBOX HAS BEEN GENERATED */
for($x=0;$x<=$counter;$x++){
if(empty($member[$x])){ /* IF MEMBER IS EMPTY, DO NOTHING */
}
else {
/* GET THE DATA FROM MEMBERSNEEDREG TABLE */
$result=mysqli_query($con,"SELECT * FROM membersneedreg WHERE MemberID='$member[$x]'");
while($row=mysqli_fetch_array($result)){
$memberid1 = $row['MemberID'];
$fname1 = $row['FirstName'];
$lastn1 = $row['LastName'];
$DOB1 = $row['Date_of_Birth'];
$Email1 = $row['Email'];
$Address1 = $row['Address'];
$Postcode1 = $row['PostCode'];
$UserName1 = $row['UserName'];
$Password1 = $row['Password'];
$relationship1 = $row['Annadale_Relationship'];
}
/* THEN INSERT THE FETCHED DATA TO MEMBERS TABLE */
mysqli_query($con,"INSERT INTO members (MemberID, FirstName, LastName, Email, Address, PostCode, UserName, Password, Annadale_Relationship)
VALUES ('$memberid1','$fname1','$lastn1','DOB1','Email1','$address1','$Postcode1','$UserName1','$Password1','$relationship1')");
/* THEN DELETE FROM membersneedreg THE INSERTED DATA */
mysqli_query($con,"DELETE FROM membersneedreg WHERE MemberID='$member[$x]'");
} /* END OF ELSE */
} /* END OF FOR LOOP */
} /* END OF ISSET SUBMIT */
else {
header("LOCATION:form.php"); /* REDIRECT TO form.php IF DIRECTED TO THIS PAGE */
}
?>
</body>
</html>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.