2017-11-25 5 views
0

私は私のブログのカテゴリがあり、カテゴリ名を編集した場合、私は結果が欲しい、そしてポストのカテゴリ名が変更されます同様に2つありPHPのMySQLでの投稿のカテゴリを編集する

if(isset($_POST['update_cat'])){ 
    $cat_id = $_POST['cat_id']; 
    $cat_name = $_POST['cat_name']; 

    $var=mysqli_query($con,"UPDATE category SET category_name = '$cat_name' WHERE category_id = $cat_id"); 
    if ($var) { 
     $var2=mysqli_query($con,"UPDATE post INNER JOIN category on post.postCategory=category.category_name SET postCategory = '$cat_name' WHERE postCategory = $cat_name"); 
    } 

答えて

1

1)2つのデータベーステーブルを作成する必要があります。 categoryテーブルのID(主キー)がpostsテーブルのcategory_id(外部キー)から参照されるように、カテゴリ用と記事用の1つです。カテゴリ名(カテゴリー表にある)は、変更されたときに、対応するIDを参照するすべての投稿にも新しい名前が付けられます。

2)category_nameを投稿テーブルの列として管理している場合は、カテゴリテーブルにafter updateトリガを使用する必要があります。その場合、カテゴリ名が変更されるたびに投稿のcategory_namesがすべて変更されます表。

第1の選択肢は、第2の選択肢があなたの記録に多くの矛盾をもたらすかもしれないので、正しい進め方です。

関連する問題