0

私は、基本的なタスクが MySQL テーブルからリストされたコンテンツを承認する単純なアプリを構築しています。リスト アイテムは長く、15 ~ 20 アイテムのようです。リストアイテムにチェックボックスを配置し、ユーザーが複数のアイテムをチェックして送信ボタンをクリックして選択したアイテムを承認できるようにしたいと考えています。

承認または非承認のために 0 または 1 を設定するために、テーブルに基本的なフラグ列を作成しました。私の既存のシステムでは、ユーザーはリンクをクリックして特定のページに移動し、[承認] をクリックして項目を承認する必要があります。時間。

ここに画像の説明を入力

これは私のテーブルで、アイテムは YouTube リンクなので、管理者はビデオを表示でき、問題がなければチェックボックスをオンにして承認できます。

これは、アイテムを承認するための現在のページの php コードです。

<?php 
$msg = "";
$idForm = $_GET['id'];

if( isset( $_POST['submit'] ) ){
    $msg= approveVideo($idForm);
}
?>

承認ビデオ関数:

function approveVideo($id) {
    $message ="";
    $query= "UPDATE locus_videos SET set_flag='1' WHERE id='{$id}'";

    if(mysql_query($query)) {
        $message ="Video Approved ";
    }else {
        die("failed: " . mysql_error());    
    }

    return $message;

}

php ファイルのテーブル形式:

<table width="100%" height="487" border="0" cellpadding="5" cellspacing="5">

" method="POST">

    <table width="100%" border="0" cellspacing="5" cellpadding="5">

アップローダ名 動画リンク

"> " ターゲット="_blank">

  </form>
</td>

私の現在のバージョンでは、ユーザーがビデオのリンクをクリックすると、特定のページにリダイレクトされ、そこからのみビデオを承認できます (YouTube リンク)

4

2 に答える 2

2

かなり簡単です。承認するコンテンツごとに、一連のチェックボックス(下)が必要です。各チェックボックスの値をコンテンツIDとして入力します

<input type="checkbox" id="chk_1" name="**band[]**" value="ABC" /> ABC <br/>
<input type="checkbox" id="chk_2" name="**band[]**" value="PQR" /> PQR <br/>
<input type="checkbox" id="chk_3" name="**band[]**" value="XYZ" /> XYZ <br/>

これで、上記のチェックボックスがにカプセル化されます。フォームを送信してPOSTされた配列(つまり$ _POST)を確認すると、次のようなエントリがあります。

Array( "band" => Array( "0" => ABC、1 => PQR。););

phpのimplode関数を使用して、これをコンマ区切りのphp文字列に変換し、この文字列をUpdateクエリのWHEREのIN句に渡します。

2つのことが重要です。

1)上記のサンプルで使用したように、チェックボックスの配列を使用する必要があります。

2)チェックボックスのvalue属性を、コンテンツIDまたはコンテンツテーブルの主キーに設定する必要があります。お役に立てれば。

于 2012-05-17T11:02:55.267 に答える
2

行を「承認」するか、行を「承認」して「不承認」にするかによって、2つの方法があります。

初め:

<table>
    <thead>
        <tr>
            <td>&nbsp;</td>
            <td>Url</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="checkbox" name="Approve[]" value="1" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="Approve[]" value="2" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
        <tr>
            <td><input type="checkbox" name="Approve[]" value="3" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
    </tbody>
</table>

ご覧のとおり、「Approve []」という名前のチェックボックスがあり、行ごとに異なる値があります。値はテーブルのID列です。

PHP内では、次を使用します。

function approveVideos($ids)
{
    $message = '';
    $query = 'update locus_videos set set_flag = 1 where id in (' . implode(',', $ids) . ')';
    if(mysql_query($query)) 
    {
        $message ="Videos Approved ";
    }
    else 
    {
        die("failed: " . mysql_error());    
    }
    return $message;
}


$ids = $_POST['Approve'];
approveVideos($ids);

2番:

<table>
    <thead>
        <tr>
            <td>&nbsp;</td>
            <td>Url</td>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td><input type="hidden" name="Approve[1]" value="0" /><input type="checkbox" name="Approve[1]" value="1" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
        <tr>
            <td><input type="hidden" name="Approve[2]" value="0" /><input type="checkbox" name="Approve[2]" value="1" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
        <tr>
            <td><input type="hidden" name="Approve[3]" value="0" /><input type="checkbox" name="Approve[3]" value="1" /></td>
            <td>http://www.youtube.com/...</td>
        </tr>
    </tbody>
</table>

PHP内では、次のようにします。

function setVideoFlag($id, $flag = 1)
{
    $message = '';
    $query = 'update locus_videos set set_flag = ' . $flag . ' where id = ' . $id;
    if(mysql_query($query)) 
    {
        $message ="Video " . ($flag == 1 ? 'Approved' : 'Disapproved');
    }
    else 
    {
        die("failed: " . mysql_error());    
    }
    return $message;
}

foreach($_POST['Approve'] as $id => $flag)
{
    setVideoFlag($id, $flag);
}

私はそれが役立つことを願っていますか?

ギャビン

于 2012-05-17T11:28:45.817 に答える