0

テーブルの STATUS 列には、3 つの値 (POSTED、CANCEL、NOT YET POSTED) が含まれる可能性があります。

各値には割り当てられた色があります。私はこのコードを使用してそれを行いました:

if($posted == 'posted')
                {
                $posted = "<b style='color:blue'>posted</b>";

                }
                elseif($posted == 'cancel')
                {
                $posted = "<b style='color:red'>cancel</b>";
                }
                else
                {
                $posted = "<b style='color:green'>not yet posted</b>";

                }

しかし、JavaScriptを介して値を渡す必要があります。スタイル コードがある場合、値を渡すことはできません。<b style='color:green'>

使用しようとしましmysql_real_escape_stringたが、色が失われ、コード style='color:green'> を含むすべてが親ウィンドウに渡されます。特殊文字をエスケープする方法はありますか? カラースタイルを失うことなく。助けてください

値は私のデータベースからのものです。ここに保存されます。

$db_array[] = array("serial_no" => "$serialno", "model" => "$model", "desc" => "$description", "series" => "$dr_srs", "refno" => "$dr_no", "custname"=> "$name", "client_code"=> "$client_code", "ctelno" => "$phone", "contpers" => "$name2", "brand" => "$brandname", "unit_type" => "$unit_type", "posted" => "$posted", "address" => "$address", "city" => "$city"); 

配列を表に示します。

foreach($db_array as $key => $value)
            {
                if(($key % 2) == 0)
                {

                ?>
                        <tr class='hoverstate2' onclick="clicked('<?php echo $value['serial_no']; ?>','<?php echo $value['posted']; ?>','<?php echo $value['model']; ?>','<?php echo $value['desc']; ?>','<?php echo $value['series']; ?>','<?php echo $value['refno']; ?>','<?php echo $value['custname']; ?>','<?php echo $value['client_code']; ?>','<?php echo $value['ctelno']; ?>','<?php echo $value['contpers']; ?>','<?php echo $value['brand']; ?>','<?php echo $value['unit_type']; ?>','<?php echo $value['posted']; ?>','<?php echo $value['address']; ?>','<?php echo $value['city']; ?>')">

                        <td ><?php echo $value['serial_no']; ?></td>
                        <td ><?php echo $value['model']; ?> </td>
                        <td ><?php echo $value['desc']; ?></td>
                        <td ><?php echo $value['posted']; ?></td></tr>
                <?php
                }

クリックすると、次の JavaScript を通過します。

    function clicked(serial_no,posted,model,desc,series,refno,custname,client_code,ctelno,contpers,brand,unit_type,posted,address,city)

{
    var client_code = client_code;
    var serialno = serial_no;
    var posted = posted;
    var model = model;
    var desc = desc;
    var series = series;
    var refno = refno;
    var custname = custname;
    var ctelno = ctelno;
    var contpers = contpers;
    var brand = brand;
    var posted = posted;
    var address = address;
    var city = city;

}
4

1 に答える 1

1

あなたの状況を解決する方法はたくさんあります。このようなもの:

あなたのCSSで:

.posted{
  color:blue;
}

.cancel{
 color:red;
}

.default{
 color:green;
}

また、PHP では、if-else ステートメントを使用する代わりに、switch ステートメントを使用しようとする場合があります。次のようにして実現できます。

switch($posted){
  case 'posted':
    $posted = "<b class='posted'>posted</b>";
    break;
  case 'cancel':
   $posted = "<b class='cancel'>cancel</b>";
    break;
  default:
   $posted = "<b class='default'>not yet posted</b>";
   break;
}

あなたのスタイルを変更してクラスに入れました。はるかにクリーンで、JavaScript で必要なクラスを呼び出すだけです。

于 2013-07-29T03:51:00.997 に答える