Php 向mysql添加行-随机排序-希望它们位于顶部
我有一种“问题”,我不知道它是怎么发生的。如果我通过php将行添加到我的表中,它只是将它们随机添加到某个地方。但我想把它们加在上面。相反,它只是把它们放在桌子上Php 向mysql添加行-随机排序-希望它们位于顶部,php,mysql,row,Php,Mysql,Row,我有一种“问题”,我不知道它是怎么发生的。如果我通过php将行添加到我的表中,它只是将它们随机添加到某个地方。但我想把它们加在上面。相反,它只是把它们放在桌子上 $name = ($_GET["name"]); $sql = "INSERT INTO $DB_Table VALUES('$name')"; $number = ($_GET["number"]); $sql = "INSERT INTO $DB_Table VALUES('$number')"; $con = mys
$name = ($_GET["name"]);
$sql = "INSERT INTO $DB_Table VALUES('$name')";
$number = ($_GET["number"]);
$sql = "INSERT INTO $DB_Table VALUES('$number')";
$con = mysql_connect($DB_HostName,$DB_User,$DB_Pass) or die (mysql_error());
mysql_select_db($DB_Name,$con) or die(mysql_error());
mysql_query("INSERT INTO $DB_Table (Name,number)
VALUES ('$name','$m_yolo')");
$res = mysql_query($sql,$con) or die(mysql_error());
mysql_close($con);
if ($res) {
echo "success";
}else{
echo "faild";
}// end else
?>
在关系表中没有行排序这样的事情。如果要对它们进行排序,则需要使用
orderby
子句。您可以添加一个时间戳
列,您可以在选择数据时对该列进行排序:创建另一个表,但在其中添加一个ID自动递增列:
CREATE TABLE IF NOT EXISTS `table` (
`id` int(5) NOT NULL AUTO_INCREMENT,
`name` varchar(50) NOT NULL,
`number` int(10) NOT NULL,
PRIMARY KEY (`id`)
);
然后可以像这样插入新行:
$sql = "INSERT INTO $DB_Table (id, name,number) VALUES ('', '$name', '$number')";
您的新条目将按id排序。您可以在“选择查询”中使用以下选项对其进行排序:
$sql = "SELECT 'name', 'number' FROM `table` ORDER BY 'id' DESC";
不过,关于您的代码,有一点值得注意:直接使用来自$\u GET的值是不安全的,就像您在代码开头所做的那样。试着用一个例子。谢谢,我会仔细研究的。