繁体   English   中英

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

[英]Change value in Mysql database via PHP

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

例如,存在一个不同的值,称为“位置”,“已批准”将“位置”设置为已批准或未批准(其中已批准设置为1或0)。 如果措辞不正确,我将尝试使其更加清楚。

我想我的问题是,我能否让一个单独的“排名”值的“批准”数据从0切换到1,反之亦然。

谢谢!

编辑/ UPDATE:

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

 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> 
<? } ?> 

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

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查询的方法,如果看不到此链接 另外,请确保使用表名和位置字段名。

是。 你会做类似的事情:

UPDATE table_name
SET approved=value
WHERE position=some_value

w3schools是学习SQL和PHP的好地方: http : //www.w3schools.com/sql/default.asp

弄清楚我在做什么错! 这是我的代码,实际上是上一页中我忽略修复的东西(愚蠢的小链接错误)。

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

if (isset($_GET['posID']) ) { 
$posID = (int) $_GET['posID'];
if (isset($_POST['submitted'])) { 
$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>"; 
} 
$row = mysql_fetch_array ( mysql_query("SELECT `approve` FROM `positions` WHERE `posID` = '$posID' ")); 
//echo "<p><b>Department</p></b>";
//$query="SELECT deptname,deptID FROM depts";

//$result = mysql_query ($query);
//echo "<select name=depts value=''>Department</option>";

//while($nt=mysql_fetch_array($result)){
//echo "<option value=$nt[deptID]>$nt[deptname]</option>";
/* Option values are added by looping through the array */
//}
//echo "</select>";
//`department` =  '{$_POST['department']}'

?>

<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> 

<? } ?>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM