Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа со строками, полученными из БД 
:(
    Опции темы
Vidocq
  Дата 14.4.2005, 10:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Обратившись к БД с запросом, обработав результат, получаю ассоциативный массив. В ключе
Код

$assoc_array['TE']

содержится 10-значное число. Так вот мне надо "откусить" от него первые две цифры. Пробовал
Код

$first_2_digits = substr($assoc_array['TE'], 0, 2);


почему-то не работает smile

Как будет правильно? smile


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Mal Hack
Дата 14.4.2005, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Vidocq @ 14.4.2005, 11:52)
почему-то не работает smile

А что не так выдает?
Код-то правильный.
PM ICQ   Вверх
TicTak
Дата 14.4.2005, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 91
Регистрация: 2.3.2005

Репутация: нет
Всего: 1



Так тебе надо от ключа откусить или от значения? Ты откусываеш от значения.
PM   Вверх
Vidocq
Дата 14.4.2005, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Mal Hack
ну я потом делаю рабочую печать
Код

print $first_2_digits;

так оно печатает пустую строку - то есть ничего не печатает smile
Может его надо сперва как-то сконвертить? Типа применить strval?
Добавлено @ 11:25
TicTak
От _значения_, ессно smile
на кой пень мне ключ smile smile


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Mal Hack
Дата 14.4.2005, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Значит в $assoc_array['TE'] пустая строка или $first_2_digits апосля обнуляется
PM ICQ   Вверх
Vidocq
Дата 14.4.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Mal Hack
Цитата

Значит в $assoc_array['TE'] пустая строка или $first_2_digits апосля обнуляется

да нет же, я его перед тем в таблицу вывожу smile
Там всё печатается намана smile ФФак



--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
IZ@TOP
Дата 14.4.2005, 14:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



А у тебя $assoc_array['TE'] случаем не еще один массив? И дай поглядеть весь код.


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Vidocq
Дата 14.4.2005, 14:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



IZ@TOP
да я тоже так сначала думал - но нет. Код смогу только вечером запостить.


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Vidocq
Дата 14.4.2005, 20:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



Постю код

Код

<?php
include("connect.php");

$user_region = $_REQUEST["region"];
if ($user_region != "")
   {
    //$user_region = htmlspecialchars($user_region);
    $user_region = trim($user_region);

    //indeed this is REALLY  a magical string :)///////////////////////////////
    //it converts ukrainian 'i' into latin 'i' making the search possible :))))
    $user_region = strtr($user_region, "і", "i");
    $user_region = strtr($user_region, "Ї", "Ї");
    //$user_region = strtr($user_region, "'", "'");
    ///////////////////////////////////////////////////////////////////////////

    //print($user_region);
    print("<br>");
    $user_region = $user_region."%";
    //print($user_region);
    print("<br>");
    $SqlText = "Select * FROM dov_koatuu WHERE NU LIKE '$user_region'";
    print($SqlText);
    print("<br>");
    $result = mysql_query($SqlText) or die("Error occurred in query request :(  " . mysql_error());

?>

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</head>
<body>
<table border=1>
       <tr>
           <td>КОАТУУ</td>
           <td>Название</td>
       </tr>

           <?php
                 while ($array = mysql_fetch_array($result))
                 {
                  print("<tr>");

                  print("<td>");
                  print($array['TE']);
                  print("</td>");

                  print("<td>");
                  print($array['NU']);
                  print("</td>");

                  print("</tr>");
                 }

print substr($array['TE'], 0, 2);
?>
</table>
<br>
<a href='sort.php'>Назад</a>
<?php
}//if
else{
     print("Вкажіть критерій пошуку!");
?>

<br>
<a href='sort.php'>Назад</a>

<?php }//else?>
</body>
</html>


Фляга! smile
В натуре $array['TE'] пустая. Почему?


--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Irokez
Дата 14.4.2005, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



попробуй print_r($array);
и посмотри что тебе выдаст
PM   Вверх
Mal Hack
Дата 14.4.2005, 20:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



проблемы с областью фидимости. Т.е.
Код
<?php 
$a = 5;
?>
<?php
// ТУТ $a видна не будет.
?>

PM ICQ   Вверх
IZ@TOP
Дата 14.4.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Код
  while ($array = mysql_fetch_array($result))
                 {
                  print("<tr>");

                  print("<td>");
                  print($array['TE']);
                  print("</td>");

                  print("<td>");
                  print($array['NU']);
                  print("</td>");

                  print("</tr>");
                 }

print substr($array['TE'], 0, 2);

Попробуйте догадайтесь как цикл закончится smile Правильно, mysql_fetch_array вернет false, переменная array будет равна логическому нет smile Какие мы умницы smile
Добавлено @ 20:56
Mal Hack, а при чем тут это?


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Irokez
Дата 14.4.2005, 21:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Mal @ 14.4.2005, 20:51)
проблемы с областью фидимости. Т.е.

что то ты тут напутал?
Добавлено @ 21:06
Цитата(IZ @ 14.4.2005, 20:55)
Попробуйте догадайтесь как цикл закончится smile Правильно, mysql_fetch_array вернет false, переменная array будет равна логическому нет smile Какие мы умницы smile

не понял, почему?
PM   Вверх
Mal Hack
Дата 14.4.2005, 21:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Код
    $result = mysql_query($SqlText) or die("Error occurred in query request :(  " . mysql_error());
?>
......
           <?php
                 while ($array = mysql_fetch_array($result))

$result не будет виден дя mysql_fetch_array.
PM ICQ   Вверх
Irokez
Дата 14.4.2005, 21:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(Mal @ 14.4.2005, 21:29)
$result не будет виден дя mysql_fetch_array.

так это же в одном файле находится... не пойму ...
PM   Вверх
Mal Hack
Дата 14.4.2005, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 122
Всего: 261



Цитата(Irokez @ 14.4.2005, 22:44)
так это же в одном файле находится... не пойму ...

Звиняйте... Что-то меня проглючило... Али голова не варит...
PM ICQ   Вверх
Irokez
Дата 14.4.2005, 21:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



ниче, бывает ... а вот то что IZ@TOP сказал я до сих пор не пойму ..
PM   Вверх
IZ@TOP
Дата 14.4.2005, 22:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



да чего тут непонятного то???
Есть цикл -
Код

while($var = mysql_fetch_array($result)) {

 echo $var['my_filed'];

}


Когда цикл прерыввается знаете? Когда условие равно логическомцу нет, или проще говоря функция mysql_fetch_array вернет false в силу того что ей будет больше нечего возвращать! А если после цикла сделать var_dump($var['my_filed']) увидем bool false! smile

Или я здесь один трезвый? smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Irokez
Дата 14.4.2005, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



Цитата(IZ @ 14.4.2005, 22:01)
Чего непонятно то???!!! smile

дошло ... smile пойду повешусь ...
PM   Вверх
IZ@TOP
Дата 14.4.2005, 22:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Панда-бир!
****


Профиль
Группа: Участник
Сообщений: 4795
Регистрация: 3.2.2003
Где: Бамбуковый лес

Репутация: 44
Всего: 73



Irokez, лучше ненадо smile просто запомни - алкоголь вредит еще и мозгу smile
PS Шутка smile


--------------------
Один из розовых плюшевых-всадников апокалипсиса... очень злой...

Семь кругов ада для новых элементов языка
Мои разрозненные мысли
PM MAIL WWW ICQ Skype GTalk   Вверх
Vidocq
Дата 15.4.2005, 00:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 431
Регистрация: 15.12.2004
Где: Запорожье, Украин а

Репутация: нет
Всего: 7



IZ@TOP
Irokez
Mal Hack
Всё, так как говорит IZ@TOP!

Я теперь разобрался. Всё пашет. Короче окончательный вид кода, сдаваемого в производство:
Код

<?php
include("connect.php");

$user_region = $_REQUEST["region"];
if ($user_region != "")
   {


    $user_region = $user_region."%";
    print("<br>");
    $SqlText = "Select * FROM dov_koatuu WHERE NU LIKE '$user_region'";
    $result = mysql_query($SqlText) or die("Error occurred in query request :(  " . mysql_error());

?>

<html>
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251">
</head>
<body>
<FORM action='display_specific.php' method='POST'>
<table border=1>
       <tr>
           <td>КОАТУУ</td>
           <td>Назва</td>
       </tr>

           <?php
                 while ($array = mysql_fetch_array($result))
                 {
                  $table =  "<tr>";

                  $table = $table . "<td>";
                  $table = $table . $array['TE'];

if ($array['TE']!= NULL) $region_TE = $array['TE'];// вот где был баг

                  $table = $table . "</td>";

                  $table = $table . "<td>";
                  $table = $table . $array['NU'];
                  $table = $table . "</td>";

                  $table = $table . "</tr>";
                 }
                 print $table;
$first_2_digits = substr($region_TE, 0, 2);
?>
  <tr>
      <td>Вкажіть місто, район, селище</td>
      <td><input type=text name=specific_location></td>
      <td><input type="hidden" name="first_2_digits" value="<?=$first_2_digits?>"> </td>
  </tr>
</table>
<input type=submit value=Пошук>
</FORM>
<br>
<a href='sort.php'>Назад</a>



<?php
}//if
else{
     print("Вкажіть критерій пошуку!");
?>

<br>
<a href='sort.php'>Назад</a>

<?php }//else?>

</body>
</html>




--------------------
Всё течёт ©
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0650 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.