下面我和你分享我的密码。我可以将新的数据作为json保存在我的数据库中,但是我想不出如何从这些数据中删除我想要的内容。我该怎么办?
<?php
include("matta/database.php");
?>
<html>
<meta charset="UTF-8">
<?php
$sorgum = mysql_query("SELECT * FROM birlikler WHERE id = 1", $vtbaglan);
$sorgu = mysql_fetch_array($sorgum);
$uyelerim = $sorgu['uyeler'];
$uyesim = json_decode($uyelerim, true);
foreach($uyesim as $bubirtest){
echo ''.$bubirtest['kullanici'].'<br>';
}
echo ''.$uyebilgileri.'
<form method="post">
<input type="text" name="kullaniciadi" placeholder="kullaniciadi"s>
<input type="text" name="rutbe" placeholder="rutbe">
<input type="text" name="kadi" placeholder="karakteradi">
<button type="submit" name="verigir">verigir</button>
</form>';
if(isset($_POST["verigir"])){
$kullaniciadi = $_POST["kullaniciadi"];
$rutbe = $_POST["rutbe"];
$karakteradi = $_POST["kadi"];
$arr = [
'kullanici' => ''.$kullaniciadi.'',
'rutbe' => ''.$rutbe.'',
'karakteradi' => ''.$karakteradi.''
];
$uyesim[] = $arr;
$arrim = json_encode($uyesim);
//echo '<br>'.$uyeler.','.$arrim.'';
$veriekle = mysql_query("UPDATE birlikler SET uyeler = '$arrim' WHERE id = 1", $vtbaglan);
}
?>我的前一个问题:PHP MySQL Json data saving
编辑:
我尝试了@gguney声明的代码,但没有达到结果。我把"uyeler“列放在我的数据库下面,这样我就可以清楚地解释我想要的方式。
[{"kullanici":"matta","rutbe":"20","karakteradi":"Vitality_Test"},{"kullanici":"Linuxy","rutbe":"19","karakteradi":"Linuxy_Test"}]为了给出一个我想要做的操作的例子,我想从这一行中删除"kullanici“值为"matta”的用户。换句话说,我希望通过我的操作获得的新数据如下;
[{"kullanici":"Linuxy","rutbe":"19","karakteradi":"Linuxy_Test"}]我使用的PHP版本有点旧。我知道这一点,但我必须用这个版本作为我目前的工作。如果你能帮忙,我将不胜感激。
发布于 2022-03-05 13:05:04
你可以更新那个json字段。或者和其他数组字段一样。只需使用未设置的。
例如:
unset($arr['rutbe']);并再次使用update mysql查询删除该字段。
也可以使用MySQL JSON_REMOVE函数。
UPDATE birlikler
SET birlikler.uyeler = JSON_REMOVE(birlikler.uyeler, 'rutbe');https://stackoverflow.com/questions/71362299
复制相似问题