Как показать значение переключателя с помощью PHP

Поэтому у меня есть форма, которую пользователи заполняют некоторыми переключателями. Значения из переключателей передаются в 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> 

Поэтому в идеале значение «fulltime» будет иметь один стиль, а значение «parttime» будет иметь другой стиль. Но когда я пытаюсь запустить этот код, ничего не происходит. Я определенно правильно подключаюсь к базе данных. И имя строки правильно помечено как «job_type». Любые идеи о том, где я могу ошибиться? Любая помощь будет принята с благодарностью 🙂

может быть проблемой в вашем 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> 

Прежде всего, ваша форма должна быть примерно такой:

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

Проверено:

введите описание изображения здесь

Надеюсь это поможет

Я не верю, что условия будут работать так, как вы его реализовали, попробуйте сделать это следующим образом:

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

//и т.д…

Пока вы извлекаете массив из базы данных, вам нужно использовать 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']; } 

form.php

если вы первоначально установили один «выбранный» в своей форме, не нужно проверять, установлен ли его набор, простой набор 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>";