ФорумРазработкаБазы данных → Почему у меня в базе любое поле распознается, как НОЛЬ или False?

Почему у меня в базе любое поле распознается, как НОЛЬ или False?

  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 11:50

    Ребята всем привет! Помогите плиз разобраться. Вообщем такая проблема: Я пишу скрипт страницы сайта, на котором есть такой логический момент (Если переменная $view принимает значение true, то переменная dysplay равна dysplay:run-in и идет удаление вывода второй переменной, во всех остальных случаях переменная dysplay принимает значение dysplay:none)

    Вот относительно кода:

    $res_tak = mysql_query ("SELECT * FROM tak",$con);
    $tak = mysql_fetch_array($res_tak);

    $adv = $tak['advertise_text'];
    $scr = $tak['script'];
    $view = $tak['view'];

    if ($view == true){$dysplay = "display:run-in";} if ($dysplay == "display:run-in") {unset($adv);}
    else {$dysplay = "display:none;";}





    CREATE TABLE `tak` (
    `id` int(2) NOT NULL auto_increment,
    `script` text NOT NULL,
    `ref_link` varchar(255) NOT NULL,
    `advertise_text` text NOT NULL,
    `view` varchar(5) NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 12:00, спустя 9 минут 42 секунды

    вывод базы в студию
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 12:06, спустя 5 минут 58 секунд

    Добавил.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 12:20, спустя 14 минут 29 секунд

    `view` varchar(5) NOT NULL,


    это строка, а ты сверяешь на boolean, надо

    if ($view == 'true')
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 12:21, спустя 41 секунду

    AdmBuxonly, и вообще хранить флаги надо в BOOL или в TINYINT(1)
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 12:28, спустя 7 минут 7 секунд

    Все равно, даже я так делаю
    if ($view == 'true')

    `view` tinyint(1) NOT NULL,
    и ставлю значение 1 в поле view. Он все также переходит на else будто view ноль или false.
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 12:30, спустя 1 минуту 32 секунды

    Может view предварительно сделать intval($view)?
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 12:37, спустя 7 минут 38 секунд

    Не помагает intval($view) dysplay все так же 0
  • mario

    Сообщения: 6067 Репутация: N Группа: Джедаи

    Spritz 21 июня 2009 г. 13:13, спустя 35 минут 17 секунд

    AdmBuxonly, смени аву :)
  • Trej Gun

    Сообщения: 5305 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 13:19, спустя 6 минут 16 секунд


    AdmBuxonly, смени аву :)
    +1
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 13:35, спустя 16 минут 37 секунд

    Хорошо, но нужно разобраться в проблеме, почему так происходит с view
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 15:51, спустя 2 часа 15 минут 34 секунды

    AdmBuxonly, перед if ($view == 'true') сделай var_dump($view) и покажи результат
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 16:57, спустя 1 час 6 минут 18 секунд

    $view = $tak['view'];
    var_dump($view);
    if ($view == 'true'){$dysplay = "display:run-in";} if ($dysplay == "display:run-in") {unset($adv);}
    else {$dysplay = "display:none;";}



    Все равно даже если view = 1 он не отображает $dysplay и при 0 тоже. Ни чего не меняется.

    Мне нужно из админки, чтобы я мог управлять ссылками на скачивание. Когда их показывать, а когда нет. К примеру я сегодня не хочу, чтобы у меня что-то качали, а завтра хочу. Поэтому так и делаю. Но вот только не пойму почему она из базы видит только ноль.

    при таком раскладе она отображает:

    $view = 1;
    if ($view == 'true'){$dysplay = "display:run-in";} if ($dysplay == "display:run-in") {unset($adv);}
    else {$dysplay = "display:none;";}


    а при таком нет:

    $view = 0;
    if ($view == 'true'){$dysplay = "display:run-in";} if ($dysplay == "display:run-in") {unset($adv);}
    else {$dysplay = "display:none;";}


    Это когда явно указываешь что переменная содержит либо 1 либо 0.
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 21 июня 2009 г. 17:05, спустя 8 минут 5 секунд

    AdmBuxonly, ты мне покажешь результат вар_дампа?


    $view = $tak['view'];
    var_dump($view);
    exit;
    if ($view == 'true')
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • AdmBuxonly

    Сообщения: 370 Репутация: N Группа: Кто попало

    Spritz 21 июня 2009 г. 17:27, спустя 21 минуту 51 секунду

    ты мне покажешь результат вар_дампа?


    как это можно сделать? У меня ни чего на том месте не выводится. И в базе не меняется…

    Я исправил на

    $view = $tak['view'];
    var_dump($view);
    exit;
    if ($view == 'true')

Пожалуйста, авторизуйтесь, чтобы написать комментарий!