[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с переменной, не присваивается значение
Oneiru
Здравствуйте!
Проблема в том что переменной $sadik не присваивается значение, переменной $raion значение присваивается.
Помогите пожалуйста, код ниже.

while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['id_rmdoy']))
{

$raion = $row['raion']; // район

if ($raion == 'Калининский')
{
$sadik = 1;
}

echo $raion.'-'.$sadik.'<br>';

}
}





Спустя 12 минут, 6 секунд (9.01.2012 - 09:09) SoMeOnE написал(а):
Ну значит if не срабатывает. распечатай $raion до условия, посмотри что выдает.

Спустя 1 минута, 26 секунд (9.01.2012 - 09:11) Игорь_Vasinsky написал(а):
ну во первых переменная объявиться если выполнено условие
if ($raion == 'Калининский')

если условие не выполниться то здесь
echo $raion.'-'.$sadik.'<br>';

будет нотис - т.к. переменная не объявлена

Спустя 1 минута, 33 секунды (9.01.2012 - 09:12) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 06:09)
Ну значит if не срабатывает. распечатай $raion до условия, посмотри что выдает.

echo $raion.'<br>';
выдает список районов.

а вот проверка условия if почему то не проходит в таблице все ок.

Спустя 1 минута, 58 секунд (9.01.2012 - 09:14) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:11)
ну во первых переменная объявиться если выполнено условие
if ($raion == 'Калининский')

если условие не выполниться то здесь
echo $raion.'-'.$sadik.'<br>';

будет нотис - т.к. переменная не объявлена

Спасибо, но насчёт этого я в курсе

Спустя 24 секунды (9.01.2012 - 09:15) Игорь_Vasinsky написал(а):
Цитата
выдает список районов.

а должно проскачить "Калининский" тока.

ход мысли ловишь?

Спустя 32 секунды (9.01.2012 - 09:15) Игорь_Vasinsky написал(а):
Цитата
Спасибо, но насчёт этого я в курсе

но мне пофиг. так чтоли?

Спустя 2 минуты, 3 секунды (9.01.2012 - 09:17) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:15)
Цитата
выдает список районов.

а должно проскачить "Калининский" тока.

ход мысли ловишь?


нет. там все просто если $raion равно "Калининский" то переменной $sadik должно присваиваться значение 1.

Спустя 1 минута, 30 секунд (9.01.2012 - 09:19) Игорь_Vasinsky написал(а):
блин. так как пишешь - я так и смотрю.

while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['id_rmdoy']))
{

$raion = $row['raion']; // район
echo $raion."<br/>";
if ($raion == 'Калининский')
{
$sadik = 1;
}

echo $raion.'-'.$sadik.'<br>';

}
}


вывел Калининский?

Спустя 1 минута, 16 секунд (9.01.2012 - 09:20) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:15)
Цитата
Спасибо, но насчёт этого я в курсе

но мне пофиг. так чтоли?

В том то и дело что условие if вообще не выполняется хотя в таблице в ячейке "raion" значение "Калининский" есть

Спустя 49 секунд (9.01.2012 - 09:21) SoMeOnE написал(а):
Oneiru
Покажи результат выполнения кода Игорь_Vasinsky. Что там вывелось.

Спустя 22 секунды (9.01.2012 - 09:21) Игорь_Vasinsky написал(а):
значит нет. раз условие не выполняется.

Спустя 32 секунды (9.01.2012 - 09:22) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:19)
блин. так как пишешь - я так и смотрю.

while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['id_rmdoy']))
{

  $raion = $row['raion'];  // район
  echo $raion."<br/>";
  if ($raion == 'Калининский')
  {
  $sadik = 1;
  }
 
  echo $raion.'-'.$sadik.'<br>';
 
}
}


вывел Калининский?

да, но значение "1" он не выводит т.е. скорее всего условие не выполняется.

Спустя 1 минута, 27 секунд (9.01.2012 - 09:23) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 06:21)
Oneiru
Покажи результат выполнения кода Игорь_Vasinsky. Что там вывелось.

Вот то что выводится в результате:

Калининский-
Калининский-
Калининский-
Советский-
Октябрьский-
Калининский-
Октябрьский-
Октябрьский-
Калининский-
Ленинский-

там где Калининский через тире должно выводится 1.

Спустя 2 минуты, 44 секунды (9.01.2012 - 09:26) Игорь_Vasinsky написал(а):
Калининский-

Спустя 41 секунда (9.01.2012 - 09:27) SoMeOnE написал(а):
Oneiru
Ты показал эту строчку?
echo $raion.'-'.$sadik.'<br>';

Покажи результат выполнения
echo $raion."<br/>";

до условия.

Спустя 1 минута, 10 секунд (9.01.2012 - 09:28) Игорь_Vasinsky написал(а):
ну там с тире каждое название проходит.

Спустя 2 минуты, 23 секунды (9.01.2012 - 09:30) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:26)
Калининский-

не то код выложил, сразу не заметил что надо добавить echo $raion."<br/>"; вот:

Калининский
Калининский-
Калининский
Калининский-
Калининский
Калининский-
Советский
Советский-
Октябрьский
Октябрьский-

Спустя 1 минута, 42 секунды (9.01.2012 - 09:32) Игорь_Vasinsky написал(а):
Цитата
Калининский
Калининский-
Калининский
Калининский-
Калининский
Калининский-
Советский
Советский-
Октябрьский
Октябрьский-


у тя что дублируется так все значения??? без тире - с тире???

Спустя 4 минуты, 9 секунд (9.01.2012 - 09:36) SoMeOnE написал(а):
Возможно у тебя переменная $sadik неверно пишется во второй раз (допустим русские буквы проскакивают). Заново запиши оба раза.
и еще выведи так Посмотри что выдает.

 echo $raion."<br/>";
if ($raion == 'Калининский')
{
$sadik = 1;
}

echo 'SADIK ----- '.$sadik.'<br />';

Спустя 59 секунд (9.01.2012 - 09:37) SoMeOnE написал(а):
Игорь_Vasinsky
Ну так после твоего
echo $raion."<br/>";

у него в коде свой вывод стоит
 echo $raion.'-'.$sadik.'<br>';

Спустя 3 минуты, 3 секунды (9.01.2012 - 09:40) Игорь_Vasinsky написал(а):
это я понял уже.

ты этот вывод сделай

Цитата
Калининский
Калининский-
Калининский
Калининский-
Калининский
Калининский-
Советский
Советский-
Октябрьский
Октябрьский-


и глянь исходник html страницы - там нет тегов?

Спустя 17 минут, 48 секунд (9.01.2012 - 09:58) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 06:40)
это я понял уже.

ты этот вывод сделай

Цитата
Калининский
Калининский-
Калининский
Калининский-
Калининский
Калининский-
Советский
Советский-
Октябрьский
Октябрьский-


и глянь исходник html страницы - там нет тегов?

код страницы выглядит примерно так:

Калининский<br/>Калининский-<br>Калининский<br/>Калининский-<br>Калининский& lt;br/>Калининский-<br>Советский<br/>Советский-<br>Октябрьский<br/>Октябрь ский-<br>

Спустя 4 минуты, 5 секунд (9.01.2012 - 10:02) Игорь_Vasinsky написал(а):
мистика. условие должно выполнится.

Спустя 4 минуты, 12 секунд (9.01.2012 - 10:06) SoMeOnE написал(а):
На мистику похоже)
Но скорей всего переменные не одинаково запиасаны). Другого не представляю)

Спустя 1 минута, 3 секунды (9.01.2012 - 10:07) Jack_White написал(а):
Oneiru
Привет, это ты из базы world.job.sql пытаешься вытащить?
Если да то там у меня тоже проблема была с районами на букву 'к' не успел тогда разобраться, на другие буквы вроде работало... Мне кажется там в районах на 'к' присутствует латинская буква, проверь с помощью
ord()
посимвольно

Спустя 2 минуты, 33 секунды (9.01.2012 - 10:10) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 07:02)
мистика. условие должно выполнится.

вот вот тоже так думаю

Спустя 11 минут, 9 секунд (9.01.2012 - 10:21) Игорь_Vasinsky написал(а):
Цитата
на 'к' присутствует латинская буква, проверь с помощью

Спустя 20 минут, 5 секунд (9.01.2012 - 10:41) Oneiru написал(а):
попробовал скопировать из бд слово Калининский все равно не работает
попробовал другой район, тоже самое
переменные тоже заново переписал

Спустя 4 минуты, 42 секунды (9.01.2012 - 10:46) Игорь_Vasinsky написал(а):
сделай так

 echo $raion."-".ord($raion)."<br/>";
if ($raion == 'Калининский')
{
$sadik = 1;
}



ord('Калиниский') = 208

Спустя 3 минуты, 10 секунд (9.01.2012 - 10:49) Jack_White написал(а):
Может у тебя там пробельные символы присутствуют (в смысле в базе)? попробуй через регулярные

Спустя 42 секунды (9.01.2012 - 10:50) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 07:46)
сделай так

 echo $raion."-".ord($raion)."<br/>";



выводит Калининский-202

Спустя 2 минуты, 19 секунд (9.01.2012 - 10:52) Oneiru написал(а):
Цитата (Jack_White @ 9.01.2012 - 07:49)
Может у тебя там пробельные символы присутствуют (в смысле в базе)? попробуй через регулярные

пробелов нет проверял

Спустя 4 минуты, 31 секунда (9.01.2012 - 10:56) SoMeOnE написал(а):
Посмотри такой вариант, на всякий случай, что бы для начала убедиться, что проблема 100% в базе
while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['id_rmdoy']))
{

$raion = 'Калининский'; // район

if ($raion == 'Калининский')
{
$sadik = 1;
}

echo $raion.'-'.$sadik.'<br>';

}
}

Вдруг тоже не заработает...)

Спустя 58 секунд (9.01.2012 - 10:57) Игорь_Vasinsky написал(а):
Цитата
выводит Калининский-202


<?php
echo ord('Калининский');
?>


выводит 208

у тя где то в слове латинская буква

Спустя 4 минуты, 29 секунд (9.01.2012 - 11:02) Игорь_Vasinsky написал(а):
упс biggrin.gif
Цитата
Возвращает ASCII-код первого символа строки string.


первая буква и латинская.. вот кто то в дампе на падлил)))

Спустя 36 секунд (9.01.2012 - 11:02) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 07:56)
Посмотри такой вариант, на всякий случай, что бы для начала убедиться, что проблема 100% в базе
while ($row = mysql_fetch_assoc($result))
{
if (!empty($row['id_rmdoy']))
{

$raion = 'Калининский'; // район

if ($raion == 'Калининский')
{
$sadik = 1;
}

echo $raion.'-'.$sadik.'<br>';

}
}

Вдруг тоже не заработает...)

так выводит

Спустя 38 секунд (9.01.2012 - 11:03) Oneiru написал(а):
Цитата (Игорь_Vasinsky @ 9.01.2012 - 07:57)
Цитата
выводит Калининский-202


<?php
echo ord('Калининский');
?>


выводит 208

у тя где то в слове латинская буква

видимо в базе

Спустя 1 минута, 39 секунд (9.01.2012 - 11:05) Игорь_Vasinsky написал(а):
да в БД первые буквы по ходу латинские (где есть близницы) а в остальных проверять нужно.

Спустя 50 секунд (9.01.2012 - 11:06) SoMeOnE написал(а):
Так занеси по новому значение в базу. Только внимательно...)

Спустя 3 минуты, 31 секунда (9.01.2012 - 11:09) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:06)
Так занеси по новому значение в базу. Только внимательно...)

отредактировал пару записей, стёр заново написал район, но почему то не помогло

Спустя 6 минут, 14 секунд (9.01.2012 - 11:15) SoMeOnE написал(а):
Oneiru
Может с кодировкой проблемы. В какой кодировке работаешь в БД.

Спустя 4 минуты, 50 секунд (9.01.2012 - 11:20) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:15)
Oneiru
Может с кодировкой проблемы. В какой кодировке работаешь в БД.

кодировка бд cp1251_general_ci

только сейчас заметил что кодировка php файла была utf-8, поменял на ANSI

только теперь другая проблема теперь на всех районах 1:


Калининский-1
Калининский-1
Калининский-1
Советский-1
Октябрьский-1

Спустя 4 минуты (9.01.2012 - 11:24) Игорь_Vasinsky написал(а):
вообщем тоже самое, но наоборот

Спустя 1 минута, 27 секунд (9.01.2012 - 11:26) SoMeOnE написал(а):
Базу, базу верни на utf8_general_ci )

Спустя 1 минута, 2 секунды (9.01.2012 - 11:27) Jack_White написал(а):
))) заморочки

Спустя 2 минуты, 14 секунд (9.01.2012 - 11:29) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:26)
Базу, базу верни на utf8_general_ci )

кодировку базы я не менял она как была так и стоит cp1251_general_ci

Спустя 2 минуты, 1 секунда (9.01.2012 - 11:31) Jack_White написал(а):
ну тогда кодировку php файла измени

Спустя 23 секунды (9.01.2012 - 11:31) SoMeOnE написал(а):
Цитата (Oneiru @ 9.01.2012 - 08:29)
Цитата (SoMeOnE @ 9.01.2012 - 08:26)
Базу, базу верни на utf8_general_ci )

кодировку базы я не менял она как была так и стоит cp1251_general_ci

Ну так поменяй. Как сказал Игорь. Наоборот. файл верни в utf-8

Спустя 1 минута, 42 секунды (9.01.2012 - 11:33) Jack_White написал(а):
нужно чтоб и база и файл были одной кодировки

Спустя 1 минута, 26 секунд (9.01.2012 - 11:34) Oneiru написал(а):
Цитата (Jack_White @ 9.01.2012 - 08:33)
нужно чтоб и база и файл были одной кодировки

поменял кодировку базы и файла в utf-8 так же везде 1.

Спустя 2 минуты, 11 секунд (9.01.2012 - 11:37) SoMeOnE написал(а):
Опять до условия распечатай $row['raion']. Посмотри что дает.

Спустя 3 минуты, 11 секунд (9.01.2012 - 11:40) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:37)
Опять до условия распечатай $row['raion']. Посмотри что дает.

выдаёт список районов

Спустя 3 минуты, 42 секунды (9.01.2012 - 11:43) Oneiru написал(а):
попробовал поменял кодировку файла в Кириллица->windows-1251

извините показалось. поторопился написал.

Спустя 1 минута, 33 секунды (9.01.2012 - 11:45) SoMeOnE написал(а):
Oneiru
Советую добиться того, что бы все работало в кодировке utf-8...)

Спустя 1 минута, 46 секунд (9.01.2012 - 11:47) Oneiru написал(а):
всё ни как не пойму в чём может быть проблема. до этого таких проблем не было

Спустя 5 минут (9.01.2012 - 11:52) SoMeOnE написал(а):
Попробуй для теста уничтожиать каждый раз переменну в конце цикла.
echo $raion.'-'.$sadik.'<br>';
unset($raion);

И проверяй каждый шаг. Распечатывай перемнные.

Спустя 2 минуты, 28 секунд (9.01.2012 - 11:54) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:52)
Попробуй для теста уничтожиать каждый раз переменну в конце цикла.
echo $raion.'-'.$sadik.'<br>';
unset($raion);

И проверяй каждый шаг. Распечатывай перемнные.

unset($sadik); помогло.

Спасибо большое!!!

Спустя 2 минуты, 22 секунды (9.01.2012 - 11:57) SoMeOnE написал(а):
Oneiru
А ну конечно.
Лучше тогда в начале цикла объявляй $sadik='';
Так красивей. Или в else обнуляй.

Спасибо в карму...)))

Спустя 3 минуты, 22 секунды (9.01.2012 - 12:00) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 08:57)
Oneiru
А ну конечно.
Лучше тогда в начале цикла объявляй $sadik='';
Так красивей. Или в else обнуляй.

Спасибо в карму...)))

странно, но объявление переменной было выше в коде (я только часть кода выкладывал.) и в чём же тогда проблема?

Спустя 40 минут, 35 секунд (9.01.2012 - 12:41) SoMeOnE написал(а):
Oneiru
Объявление переменной должно было быть в начале цикла. Так как в цикле она один раз переопределяется, до его завершение она сохраняет свое значение. Лучше для читабельности в else обнулять. Чтоб потом не запутаться.

Спустя 2 минуты, 8 секунд (9.01.2012 - 12:43) Oneiru написал(а):
Цитата (SoMeOnE @ 9.01.2012 - 09:41)
Oneiru
Объявление переменной должно было быть в начале цикла. Так как в цикле она один раз переопределяется, до его завершение она сохраняет свое значение. Лучше для читабельности в else обнулять. Чтоб потом не запутаться.

тогда всё понятно
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.