2012-05-03 43 views
1

所以我有一個表格,用戶用一些單選按鈕填寫。單選按鈕的值傳遞給MySQL。我現在想要從數據庫中提取這些值,將它們顯示在不同頁面的表格中,並使用span標籤對其應用不同的樣式。如何使用PHP顯示單選按鈕的值

下面是從代碼的形式:

<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> 

因此理想情況下,「全職」價值將有一個風格和「parttime」的價值將有另一種風格。但是當我嘗試運行這段代碼時,沒有任何反應。我肯定會正確連接到數據庫。行名被正確標記爲「job_type」。任何關於我可能會出錯的想法?任何幫助將不勝感激:)

+0

當你echo $ job_type時,輸出是什麼?你是否嘗試過使用$ _REQUEST ['job_type'] –

回答

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> 
+0

這樣做了!真棒!非常非常感謝你。超級有用。 – Matt

0

我不相信的條件將工作,你實現它的方式,嘗試做這樣的:

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

//等等......

0

form.php的

如果您最初設置表單中的一個「選擇」,不需要檢查其設置,簡單設置分貝,像這樣:

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

Display.php的

正如你可能會做一個樣式,與工作類型標籤,你把你的數據庫引用選擇

while($row = mysql_fetch_assoc($resultsource)) 
    echo "<div class='job_type_div'> <span class='{$row['job_type']}_style'>{$row['job_type']}</span>"; 
+0

呀,我會向你發送job_type =「',name ='lamo-admin')#」的請求,表中的所有數據都將丟失。 –

+0

q不會去處理數據,但從數據庫中獲取它... form.php是爲了爭辯,這是如何display.php信任數據看起來像 – mschr

+0

誰會命名他們的表X將是要求你跛腳,然後將它們發送出去; p – mschr

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']; 
} 
+0

這將是'assoc' – mschr

+0

是的,或者使用與mysql_fetch_array(resource $ result [,int $ result_type = MYSQL_BOTH])相同的'mysql_fetch_assoc()'。 '說@mschr上面 –

+0

嘿,那裏,非常感謝迴應。我只有幾個問題:MYSQL_BOTH做什麼?這是如何應用CSS樣式的?我是一個新手,所以我很難跟進。謝謝:) – Matt

1

首先,你的表格應該是像這樣:

<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; 
} 

測試:

enter image description here

希望這有助於

+0

嘿,謝謝你的迴應。我插入了您的代碼,但由於某種原因,它並未從數據庫中提取任何內容。 「if(isset($ _ POST [」submit「]))」是做什麼的? – Matt

+0

它檢查表單是否已提交,更確切地說是否提交了「提交」按鈕。你是否改變了查詢來適應你的表格。 SELECT * FROM your_table_name WHERE ....在sql db中的列「job_type」中是否有值,例如「partime」和「fulltime」? – Wesley

+0

此外,我還提出了一個打字錯誤partime應該是兼職,生病的更新解決方案 – Wesley