php - 通过 PHP 更改 Mysql 数据库中的值

标签 php mysql

大家好,我想通过 PHP 代码更改表(在 mysql 数据库中)中的值。我在表中有一行名为“已批准”,可以将其设置为两个选项,“0”(未批准)和“1”(已批准)。我正在创建一个脚本,它将批准的个人从“0”更改为“1”。

例如,有一个名为“position”的不同值,“approved”将“position”设置为已批准或未批准(approved 设置为 1 或 0)。如果措辞有误,我会尽量说得更清楚。

我想我的问题是我能否将单个“位置”值的“批准”数据从 0 切换为 1,反之亦然。

谢谢!

编辑/更新:

这是该特定表的转储信息:

 CREATE TABLE `positions` (
  `posID` int(10) unsigned NOT NULL auto_increment,
  `postitle` varchar(500) NOT NULL default '',
  `addtitletext` varchar(35) default NULL,
  `description` text NOT NULL,
  `print_website` enum('1','2') NOT NULL default '1',
  `userID` tinyint(4) unsigned NOT NULL default '0',
  `submitted_on` datetime NOT NULL default '0000-00-00 00:00:00',
  `approved_date` date NOT NULL default '0000-00-00',
  `approved` enum('0','1') NOT NULL default '0',
  PRIMARY KEY  (`posID`)
) ENGINE=MyISAM AUTO_INCREMENT=464 DEFAULT CHARSET=latin1;

LOCK TABLES `positions` WRITE;
/*!40000 ALTER TABLE `positions` DISABLE KEYS */;
INSERT INTO `positions` (`posID`,`postitle`,`addtitletext`,`description`,`print_website`,`userID`,`submitted_on`,`approved_date`,`approved`)
VALUES

我试图在此处编辑此代码以使其从未批准更改为已批准(反之亦然)

    <? 
include('secure.php');
include('config.php'); 

if (isset($_POST['submitted'])) { 
foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } 
$sql = "UPDATE `positions` SET `approved` =  '{$_POST['approved']}'"; 
mysql_query($sql) or die(mysql_error()); 
echo (mysql_affected_rows()) ? "Edited row.<br />" : "Nothing changed. <br />"; 
echo "<a href='list.php'>Back To Listing</a>"; 
} 
$row = mysql_fetch_array ( mysql_query("SELECT * FROM `positions` WHERE `posID` = '$posID' ")); 




?>

<form action='' method='POST'> 
<p><b>Approved:</b><br /><input type='text' name='approved' value='<?= stripslashes($row['approved']) ?>' /> 
<p><input type='submit' value='Edit Row' /><input type='hidden' value='1' name='submitted' /> 
</form> 

如果有帮助,那太棒了,但如果它更令人困惑,那就抱歉了哈哈。

编辑:这是我所拥有的,但是得到一个空白页(我知道的错误)

<? 
include('secure.php');
include('config.php'); 
if (isset($_GET['posID']) ) { 
$posID = (int) $_GET['posID']; 
if (isset($_POST['submitted'])) { 
foreach($_POST AS $key => $value) { $_POST[$key] = mysql_real_escape_string($value); } 
$sql = "UPDATE `positions` SET `approved` =  '{$_POST['approved']}'  WHERE `posID` = '$posID'"; 
mysql_query($sql) or die(mysql_error()); 
echo (mysql_affected_rows()) ? "Edited row.<br />" : "Nothing changed. <br />"; 
echo "<a href='list.php'>Back To Listing</a>"; 
} 

<form action='' method='POST'> 
<p><b>Approved:</b><br /><input type='text' name='approved' value='<?= stripslashes($row['approved']) ?>' /> 
<p><input type='submit' value='Edit Row' /><input type='hidden' value='1' name='submitted' /> 
</form> 
<? } ?> 

最佳答案

我不完全确定您要做什么,因为听起来 approved 是表格中的一列,而不是一行。如果您想执行以下操作:

function toggle_approved($position_id) {
$query = "UPDATE positions SET approved = !approved WHERE posID = '$position_id'";
// execute the query here with your mysql_query() call
}

我假设您有一些执行 mysql 查询的方法,如果没有,请参阅 this link .还要确保使用表名和位置字段名。

关于php - 通过 PHP 更改 Mysql 数据库中的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/889257/

相关文章:

php - 使用php以正则表达式条件搜索数据库

php - Heroku 上的 Facebook PHP 应用程序未收到signed_request

php - 如果加载时间超过 10 秒,如何刷新页面?

java - Hibernate 查询返回等于值的列表

php - 如何正确转义 mysql "search/like"查询?

mysql - 事件记录 - destroy_all 并在事务中创建

php - 第一个网站即将上线。最后一分钟的问题

java - android - HttpUrlConnection 不起作用

javascript - 如何使用jQuery将分页表格导出到excel

php - Yii2:如何创建具有联合查询和排序的 ActiveDataProvider?