PHP не принимает выбранное значение параметра в сообщении

Ну, у меня есть серьезная проблема при обновлении формы, она принимает только выбранное значение действия пользователя в меню выбора параметров, но когда пользователь обновляет данные без изменения значения выбора, он возвращает значение базы данных по умолчанию, которое установлено на 0

<select class="selectpicker" name="socio_demo_type" id="socio_demo_type">
<?php
$query_sd = "SELECT * FROM insertion WHERE id_insertion = ".$insertion["id"];
$result_sd = mysql_query($query_sd);
$type = mysql_fetch_array($result_sd);
$val = $type["ciblage_socio_demo_type"];
?>
    <option value="0"  <?php if($val == 0) echo 'selected' ?> >Pack affinitaire </option>  
    <option value="1"  <?php if($val == 1) echo 'selected' ?> >Achat ciblé (loggué)`enter code here`</option>
</select>

person Yahya TAJANY    schedule 15.11.2018    source источник
comment
Каждый раз, когда вы используете расширение базы данных mysql_ в новом коде < b>это происходит он устарел, существует уже много лет и исчез навсегда в PHP7. Если вы только изучаете PHP, потратьте свою энергию на изучение расширений базы данных PDO или mysqli и готовых операторов. Начните здесь   -  person RiggsFolly    schedule 15.11.2018
comment
Затем вы должны проверить его перед использованием. Если это неправильно, вы должны вернуть пользователя на страницу ввода данных и дать ему сообщение об ошибке.   -  person RiggsFolly    schedule 15.11.2018
comment
Нет, я не новичок в php, это старое приложение, написанное в 2005 году, и мы должны внести некоторые изменения в некоторые найденные ошибки... :/   -  person Yahya TAJANY    schedule 15.11.2018
comment
@RiggsFolly они используют модальные окна, и я даже не могу использовать print_r, чтобы показать значение сообщения или отладить   -  person Yahya TAJANY    schedule 15.11.2018
comment
Вы пробовали выводить отладочную информацию в файл, а не на экран?   -  person RiggsFolly    schedule 15.11.2018
comment
@RiggsFolly, как я могу это сделать?   -  person Yahya TAJANY    schedule 15.11.2018
comment
Что бы вы ни хотели отобразить, вы используете file_put_contents, например file_put_contents('debug.txt', print_r($xxx,true), FILE_APPEND);   -  person RiggsFolly    schedule 15.11.2018
comment
Или используйте error_log() как error_log(print_r($_POST,1), 3, "/var/tmp/my-errors.log");   -  person RiggsFolly    schedule 15.11.2018
comment
@RiggsFolly хорошо, попробую, спасибо, чувак :)   -  person Yahya TAJANY    schedule 15.11.2018
comment
Вы решили это? Откуда $val в этом коде? Непонятно, как вы выбираете значение в первую очередь. Это, вероятно, ключ к проблеме.   -  person ADyson    schedule 23.11.2018


Ответы (1)


Также передайте соединение и используйте мои операторы sqli.

$con=mysqli_connect("localhost","my_user","my_password","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }    

<select class="selectpicker" name="socio_demo_type" id="socio_demo_type">

    <?php

    $query_sd = "SELECT * FROM insertion WHERE id_insertion = "$insertion["id"];

    $result_sd = mysqli_query($con , $query_sd);
    $type = mysqli_fetch_array($result_sd);
    $val = $type["ciblage_socio_demo_type"];

    ?>
    <option value="0"  <?php if($val == 0) echo 'selected' ?> > Option2 </option>  
    <option value="1"  <?php if($val == 1) echo 'selected' ?> > Option1 </option>
    </select>
person Cybops    schedule 15.11.2018
comment
Добро пожаловать в СО. Ты собираешься куда-то с этим? Хорошие ответы всегда будут содержать объяснение того, что было сделано и почему это было сделано именно так, не только для OP, но и для будущих посетителей SO, которые могут найти этот вопрос и прочитать ваш ответ. - person RiggsFolly; 15.11.2018
comment
Чувак, ОП использует старое расширение базы данных mysql_, потому что он поддерживает какой-то СТАРЫЙ КОД :) Всегда полезно проверить комментарии, прежде чем пытаться ответить - person RiggsFolly; 15.11.2018
comment
Ваш код содержит синтаксические ошибки. Кроме того, вы должны выделить важные изменения, чтобы другие могли извлечь уроки из вашего кода. - person Nico Haase; 15.11.2018
comment
Чувак, я вызываю соединение mysql для одного файла в верхней части моей страницы. - person Yahya TAJANY; 15.11.2018