所以我有一个用户用一些单选按钮填写的表单。单选按钮的值传递给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>
理想情况下,“全时”值将具有一种样式,而“兼职”值将具有另一种样式。但是当我尝试运行此代码时,没有任何反应。我肯定正确地连接到数据库。行名称正确标记为“job_type”。关于我可能出错的任何想法?任何帮助将不胜感激:)
答案 0 :(得分: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;
}
测试:
希望这有帮助
答案 1 :(得分:0)
我不相信这些条件会像你实现的那样起作用,尝试这样做:
<?php
echo "<div class='job_type_div'>";
if($job_type=='fulltime') {
echo "<span class='job_type_style'>"
//等...
答案 2 :(得分:0)
form.php的
如果您最初在表单中设置了一个'selected',则无需检查其是否设置,简单设置db如此:
...
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>";
答案 3 :(得分:0)
从Data Base中提取数组时,需要使用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'];
}
答案 4 :(得分: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>