1

そのため、ユーザーがいくつかのラジオボタンを入力するフォームがあります。ラジオ ボタンの値は MySQL に渡されます。これらの値をデータベースから取得して、別のページのテーブルに表示し、span タグを使用してさまざまなスタイルを適用したいと考えています。

フォームからのコードは次のとおりです。

<input class="radio_style" type="radio" name="job_type" value="fulltime"/>Full-time<br/>
<input class="radio_style" type="radio" name="job_type" value="parttime"/>Part-time<br />

表示したいページのコードは次のとおりです。

<div class='job_type_div'>
    <?php if($job_type=='fulltime') {?>
        <span class='job_type_style'>
            <?php echo $row['job_type']; ?>
        </span>
   <?php if($job_type=='parttime') {?>
        <span class='job_type_style2'>
            <?php echo $row['job_type']; ?>
        </span>
            <?php } ?>
    <?php } ?>
</div>

したがって、理想的には、「フルタイム」の値には 1 つのスタイルがあり、「パートタイム」の値には別のスタイルがあります。しかし、このコードを実行しようとしても、何も起こりません。私は間違いなくデータベースに正しく接続しています。また、行名には適切に「job_type」というラベルが付けられています。私が間違っている可能性がある場所についてのアイデアはありますか? どんな助けでも大歓迎です:)

4

5 に答える 5

2

まず、フォームは次のようになります。

<form action="page_you_want_to_display.php" method="POST">

    <label for="type">Job Type:</label>

    <label for="fulltime">
        <input class="radio_style" id="fulltime" name="job_type" type="radio" value="fulltime">
        Fulltime
    </label>

    <label for="parttime">
        <input class="radio_style" id="parttime" name="job_type" type="radio" value="parttime">
        Part Time
    </label>

    <input name="submitted" type="submit" value="Submit">

</form>

表示したいページは次のようになります。

if(isset($_POST["submitted"])){

    $job_type = $_POST['job_type'];

    echo '<div class="job_type_div">';

        if($job_type=='fulltime'){

            $res = mysql_query("SELECT * FROM jobs WHERE job_type='fulltime'");

            while ($row = mysql_fetch_assoc($res)) {

                echo '<div class="fulltime">';

                    echo $row['job_title'].' - '.$row['job_type'];

                echo '</div>';

                echo '<br>';

            }

        } elseif ($job_type=='parttime'){

            $res = mysql_query("SELECT * FROM jobs WHERE  job_type='parttime'");

            while ($row = mysql_fetch_assoc($res)) {

                echo '<div class="parttime">';

                    echo $row['job_title'].' - '.$row['job_type'];

                echo '</div>';

                echo '<br>';

            }               

        }

echo '</div>';

}

およびCSS:

.fulltime {
    margin:0px;
    padding:5px;
    width:300px;
    background:#9C0;
    color:#fff;
}   
.parttime {
    margin:0px;
    padding:5px;
    width:300px;
    background:#069;
    color:#fff;
}

テスト済み:

ここに画像の説明を入力

お役に立てれば

于 2012-05-03T23:30:51.067 に答える
0

条件が実装した方法で機能するとは思わないので、次のようにしてみてください。

<?php
echo "<div class='job_type_div'>";
if($job_type=='fulltime') {
        echo "<span class='job_type_style'>"

//等...

于 2012-05-03T22:59:47.140 に答える
0

フォーム.php

フォームで最初に「選択済み」を設定した場合、その設定を確認する必要はありません。次のように単純にデータベースを設定します。

...
mysql_query("UPDATE X SET (job_type='{$_GET['job_type']}') WHERE Y");
...

display.php

おそらくスタイルシートを作成するので、データベースに配置した job_type ラベルでセレクターを参照します

while($row = mysql_fetch_assoc($resultsource))
   echo "<div class='job_type_div'> <span class='{$row['job_type']}_style'>{$row['job_type']}</span>";
于 2012-05-03T23:04:25.020 に答える
0

あなたのphpに問題があるかもしれません。ロジックはありますか?

$job_type=null;
if($job_type=='fulltime'){
   ...
   if($job_type=='parttime'){
      ...
   }
}

$job_type 変数を設定しましたか? 次のようなものが必要かもしれません:

<div class='job_type_div'>
    <?php if($row['job_type']=='fulltime') {?>
        <span class='job_type_style'>
            <?php echo $row['job_type']; ?>
        </span>
   <?php } elseif($row['job_type']=='parttime') {?>
        <span class='job_type_style2'>
            <?php echo $row['job_type']; ?>
        </span>
    <?php } ?>
</div>
于 2012-05-04T00:58:25.420 に答える
0

データベースから配列を取得する際、MYSQL_BOTH を使用して名前で列を取得する必要があります。

   mysql_fetch_array($res, MYSQL_BOTH)

したがって、次のようなものが必要です。

$job_type_query = "SELECT * FROM `job`; ";

$res = mysql_query($job_type_query) or die(mysql_error());
while ($row = mysql_fetch_array($res, MYSQL_BOTH))
{
   echo $row['job_type'];
}
于 2012-05-03T23:04:36.177 に答える