Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/26: Рейтинг темы: голосов - 26, средняя оценка - 5.00
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774

Из бд в значение передается только первое слов

16.03.2011, 09:24. Показов 5395. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Написал небольшой код, проблема в том, что в переменную сохраняется только првое слово...
Как с этим бороться?!
Вот код:
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?
include('connect/connect.php');
$link=mysql_connect($host,$user,$password);
include('connect/charters.php');
mysql_select_db($db);
$Q1 = "
    SELECT*
    FROM 
    spproc  
";
$r1 = mysql_query($Q1);
$n1 = mysql_num_rows($r1);
 
echo '
<form method="POST" action="http:/index.php?p=1">
<fieldset><LEGEND><font class="bod">Форма добавления нового компьютера</font></LEGEND>
    <table width="50%" align="center" cellpadding="2">';
    
echo '
    <tr>
    <td class="tbl2">
    <select name="proc">'; 
while ($row=mysql_fetch_array($r1)) 
       { 
       echo "<option value=".$row['procname'].">".$row['procname']."</option>\n"; 
       }; 
echo "</select></td></tr>";
    
echo '
    <tr>
    <td  class="tbl2" align="left"><font class="bod">Номер:</font></td>
    <td  class="tbl2" align="right"><input type="text"  name="nomer"></td>
    </tr>
    <tr>
    <td  class="tbl2" align="left"><font class="bod">Тип:</font></td>
    <td  class="tbl2" align="right"><input type="text" name="tip"></td>
    </tr>
    <td  class="tbl2" align="left"><input type="reset" value="&nbsp&nbspОчистить&nbsp&nbsp"></td>
    <td  class="tbl2" align="right"><input type="submit" value="&nbsp&nbspДобавить&nbsp&nbsp"></td>
    </tr>
    <tr>
<td class="tbl2" colspan="2" align="justify"><font class="pred">* пожайлуста заполните ВСЕ поля,
иначе данные не будут сохранены!!!</font></td>
</tr>
</table></fieldset>
</form>';
if (isset($_POST['nomer'])) {
$n=$_POST['nomer'];}
if (isset($_POST['tip'])) {
$t=$_POST['tip'];}
if (isset($_POST['proc'])) {
$p=$_POST['proc'];
echo "$p";
} 
if ((isset($n)) and (isset($t)) and (isset($p))){
if (($n=="") and ($t=="") and ($p=="")){
return false;
}
else {
$q="INSERT INTO komp VALUES (\"0\",\"$n\",\"$t\",\"$p\")";
mysql_query($q);
if (!$q){
    echo "Ошибка";
    }
    }
}
mysql_close($link);
?>

В строке 53 для теста вывожу переменную, и всегда получаю только первое слово(((
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
16.03.2011, 09:24
Ответы с готовыми решениями:

Передается только одно первое значение
Здравствуйте! У меня есть скрипт который выводит список файлов с названием и ajax который передает путь до файла для открытия, у меня...

Для всех слов напечатать только первое вхождение буквы
Дано строку символов которая состоит из отдельных слов, отсоединенные пробелом. Напечатать все слова,но оставить только первые вхождения...

При Select выводит только первое значение
Этот метод должен брать из таблицы user_music_type значение music_type_id с помощью user_id , и по music_type_id(которые мы получили)...

22
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
16.03.2011, 10:25
А в селекте все значения с базы вытаскиваются кода Вы цикл делаете?
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 10:27  [ТС]
Да, с базы, там небольшой справочник так сказать, что бы не заполнять постоянно все поля вручную,
решил сделать чтение из бд...
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
16.03.2011, 10:38
может в этом ошибка?

PHP
1
<form method="POST" action="http:/index.php?p=1">
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 10:41  [ТС]
Да нет, это тут при чем Просто по чему то в значение option вставляется только
первое слово из бд, то есть символы до первого пробела

Добавлено через 38 секунд
А мне нужно что бы все, с пробелами...
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 10:46
Цитата Сообщение от RosenR@t Посмотреть сообщение
echo "<option value=".$row['procname'].">".$row['procname']."</option>\n";
здесь, в значение value замени на id из БД, не знаю как оно у тя называется, допустим id - $row['id']

Добавлено через 1 минуту
получится
PHP
1
echo "<option value=".$row['id'].">".$row['procname']."</option>\n";
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 10:50  [ТС]
Love_and_Peace,
Это как вариант, но так я делал немного в другом случае, для удаления, а тут мне надо что бы записывалось
именно имя...
А не id...
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 10:59
? ну в селект будут записываться имена, они будут просто под номерами (которых не видно)

Добавлено через 2 минуты
а если все таки хочешь по имени, тогда думаю что ошибка здесь
Цитата Сообщение от RosenR@t Посмотреть сообщение
$n1 = mysql_num_rows($r1);
такая запись обращается только к цифрам, замени ф-ю mysql_num_rows на mysql_fetch_array
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 11:04  [ТС]
Объясняю:
PHP
1
echo "<option value=".$row['procname'].">".$row['procname']."</option>\n";
Первый ".$row['procname']." это значение, которое передается в переменную $p
PHP
1
2
3
4
if (isset($_POST['proc'])) {
$p=$_POST['proc'];
echo $p;
}
Которая затем записывается в бд
PHP
1
$q="INSERT INTO komp VALUES (\"0\",\"$n\",\"$t\",\"$p\")";
В ней то и беда, туда передается значение до первого пробела
PHP
1
$n1 = mysql_num_rows($r1);
тут даже и не нужна, это для подсчета кол-ва полей,
А тут я это и использую:
PHP
1
while ($row=mysql_fetch_array($r1))
Массив
Или я чего то не доганяю?!
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 11:11
Цитата Сообщение от RosenR@t Посмотреть сообщение
$q="INSERT INTO komp VALUES (\"0\",\"$n\",\"$t\",\"$p\")";
здесь ошибка. Ты указал название таблицы (komp), нужно еще и название поля указать куда ты все это вливаешь. Если komp - название поля, тогда надо добавить имя таблицы (до имени поля)
0
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 11:17  [ТС]
Да это то тут причем)))
Это работает нормально, для проверки есть вот что
PHP
1
2
3
4
if (isset($_POST['proc'])) {
$p=$_POST['proc'];
echo $p;
}
Переменную $p приняли, вывели и посмотрели, туда передается одно слово,
т.е. символы до первого пробела, а я хочу своять что бы все полностью, беда только в этом,
а не в запросе
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
16.03.2011, 11:20
PHP
1
 echo "<option value=".$row['procname'].">".$row['procname']."</option>\n"
поменяй на
PHP
1
 echo "<option value='".$row['procname']."'>".$row['procname']."</option>\n"
2
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 11:24  [ТС]
suharik, спасибо, это то, что было нужно
Объяните в общих словах почему так работает, если не трудно.
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 11:24
блин, ... чет не пойму...
в БД добавляются все слова (вся строка)?
1
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 11:25  [ТС]
Love_and_Peace, уже разобрались
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 11:25
все ))
0
 Аватар для suharik
261 / 247 / 57
Регистрация: 03.09.2010
Сообщений: 805
16.03.2011, 11:26
PHP
1
echo "<option value=".$row['procname'].">".$row['procname']."</option>\n"
представим что $row['procname'] = hello world
значит

HTML5
1
<option value=hello world>hello world</option>
скрипт думает что слово world это уже бругой атрибут. поэтому отрезает его при добавлении


HTML5
1
<option value='hello world'>hello world</option>
ковычками мы задачем ему нужное значение хоть там пробеллы или что угодно
1
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 11:27
для интереса проверь, так будет работать? "<option value=\".$row['procname'].\">"
1
 Аватар для RosenR@t
136 / 136 / 7
Регистрация: 07.07.2010
Сообщений: 774
16.03.2011, 11:29  [ТС]
Аяяяяй, а я то понаивности думал, что ".$row['procname']." вот этим ковычки ставятся,
а это значит экран переменной, как ковычки не воспринимаются, ясно, теперь буду знать.
0
 Аватар для __PION__
960 / 801 / 85
Регистрация: 21.07.2010
Сообщений: 3,522
16.03.2011, 11:29
Цитата Сообщение от suharik Посмотреть сообщение
скрипт думает что слово world это уже бругой атрибут. поэтому отрезает его при добавлении
вот оно оказывается в чем дело
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
16.03.2011, 11:29
Помогаю со студенческими работами здесь

Подставляется только первое значение из списка подстановки
при заполнении столбца номер студента таблицы Успеваемость подстановкой подставляется только первое значение списка. в чем дело?

ArrayList. Нормально сохраняется только первое значение
Добрый день. Пишу собственное приложение и мне необходимо сохранять некоторые значения по ходу выполнения программы, добавлять или...

В текстовом файле удалить все повторения слов, оставляя только первое вхождение слова в файл
Задание: В текстовом файле удалить все повторения слов, оставляя только первое вхождение слова в файл. С комментариями к коду если...

При выводе в текстовое поле строки , состоящей из нескольких слов- выводится только первое слово
При выводе в текстовое поле строки , состоящей из нескольких слов- выводится только первое слово.Ниже привожу саму строку: ...

Вычисляемое поле вычисляет только первое попавшееся значение
Добрый вечер. Есть две таблицы: Выданные книги (IssuanceOfBooks) и Информация о книгах (InfoBook). В этих таблицах есть числовые поля...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru