PHP mysql - 以表格形式显示数据库中的逗号分隔值
PHP mysql - Display comma separated value from the database in tabular form
我完全是新手
我想以表格形式显示来自数据库的逗号分隔值
从下图link我们可以看到数据是如何添加的,用逗号分隔:
我想在html/php页面中以表格形式显示如下:
下面是我的 html 页面:-
<form action="insert.php" method="POST">
<div id="items">
<input type="text" placeholder="name" name="user_name[]" />
<input type="text" placeholder="email" name="user_email[]" />
</div>
<input type="button" value="add entry" id="add"/>
<input type="submit" value="submit"/>
Javascript 用于添加额外输入的文件:-
$(document).ready(function(){
$("#add").click(function (e){
event.preventDefault()
$('#items').append('<div><input type="text" placeholder="Name" name="user_name[]" ><input type="text" placeholder="email" name="user_email[]">'
+'<input type="button" value="delete" id="delete"/></div>');
});
$('body').on('click','#delete',function(e){
$(this).parent('div').remove();
});
});
下面是插入数据库的PHP代码:-
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dynamic", $con);
$user_name = $_POST["user_name"];
$value = implode(',', $user_name);
$user_email = $_POST["user_email"];
$valueone = implode(',', $user_email);
$sql="INSERT INTO dynamicdata (user_name, user_email)
VALUES
('$value','$valueone')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
只需从 table 中获取数据并将 username
和 useremail
展开以生成数组,然后将其循环并显示值。
下面粘贴的代码可能对您有所帮助。
<?php
$ArrUserName=explode($username,','); //exploding the coma separated username to make array of user names
$ArrUserEmail=explode($username,',');//exploding the coma separated user email to make array of user email
echo '<table><tr><td>Name</td><td>EMAIL</td></tr>';
for($i=0;$i<count($ArrUserName);$i++){
echo "<tr>";
echo"<td>".$ArrUserName[$i]."</td>"; //display user name
echo"<td>".$ArrUserEmail[$i]."</td>"; // diaplay user email
echo"</tr>";
}
?>
请理解这一点并尝试在您的代码中实现。
理想情况下,您希望将每个用户的用户名和电子邮件存储在一个新行中。这会让你自己变得更简单。
但是,请尝试以下操作:
<?php
$query = mysql_query('SELECT * FROM dynamicdata LIMIT 1', $con);
$results = mysql_fetch_assoc($query);
$usernames = explode(',', $results['user_name']);
$emails = explode(',', $results['user_email']);
//Now we should be able to loop over them.
for($row = 0; $row <= count($usernames); $row++) {
echo $usernames[$row] . ' : ' . $emails[$row];
}
我还没有机会测试这个,但希望它有用。
我完全是新手 我想以表格形式显示来自数据库的逗号分隔值
从下图link我们可以看到数据是如何添加的,用逗号分隔:
我想在html/php页面中以表格形式显示如下:
下面是我的 html 页面:-
<form action="insert.php" method="POST">
<div id="items">
<input type="text" placeholder="name" name="user_name[]" />
<input type="text" placeholder="email" name="user_email[]" />
</div>
<input type="button" value="add entry" id="add"/>
<input type="submit" value="submit"/>
Javascript 用于添加额外输入的文件:-
$(document).ready(function(){
$("#add").click(function (e){
event.preventDefault()
$('#items').append('<div><input type="text" placeholder="Name" name="user_name[]" ><input type="text" placeholder="email" name="user_email[]">'
+'<input type="button" value="delete" id="delete"/></div>');
});
$('body').on('click','#delete',function(e){
$(this).parent('div').remove();
});
});
下面是插入数据库的PHP代码:-
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dynamic", $con);
$user_name = $_POST["user_name"];
$value = implode(',', $user_name);
$user_email = $_POST["user_email"];
$valueone = implode(',', $user_email);
$sql="INSERT INTO dynamicdata (user_name, user_email)
VALUES
('$value','$valueone')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
只需从 table 中获取数据并将 username
和 useremail
展开以生成数组,然后将其循环并显示值。
下面粘贴的代码可能对您有所帮助。
<?php
$ArrUserName=explode($username,','); //exploding the coma separated username to make array of user names
$ArrUserEmail=explode($username,',');//exploding the coma separated user email to make array of user email
echo '<table><tr><td>Name</td><td>EMAIL</td></tr>';
for($i=0;$i<count($ArrUserName);$i++){
echo "<tr>";
echo"<td>".$ArrUserName[$i]."</td>"; //display user name
echo"<td>".$ArrUserEmail[$i]."</td>"; // diaplay user email
echo"</tr>";
}
?>
请理解这一点并尝试在您的代码中实现。
理想情况下,您希望将每个用户的用户名和电子邮件存储在一个新行中。这会让你自己变得更简单。
但是,请尝试以下操作:
<?php
$query = mysql_query('SELECT * FROM dynamicdata LIMIT 1', $con);
$results = mysql_fetch_assoc($query);
$usernames = explode(',', $results['user_name']);
$emails = explode(',', $results['user_email']);
//Now we should be able to loop over them.
for($row = 0; $row <= count($usernames); $row++) {
echo $usernames[$row] . ' : ' . $emails[$row];
}
我还没有机会测试这个,但希望它有用。