Редактирование записи БД mysql. Есть проблема...

iguania
На сайте с 10.12.2010
Offline
72
1637

Доброй ночи!

Возникла такая вот проблема...

Есть на сайте страница с формой, с помощью которой будут редактироваться данные отдельно взятой записи базы данных. Заполнение полей (input-ов) формы происходит, соответственно, из этой же базы данных

$myrow = mysql_fetch_array(mysql_query("SELECT * FROM work WHERE id=$_GET[id]"));


echo '
<form action="update.php" method="post" name="sto" class="form">
<p>Акт Выполненных работ №&nbsp;<input type="text" name="id" id="id" value=' . $myrow['id'] . ' /></p>
<table id="tb_work">
<tr>
<th>№ работ</th>
<th>Наименование работ (проблемы, с которыми клиент обратился на станцию)</th>
<th>Стоимость</th>
<th>Код бригады</th>
<th>Длительность</th>
</tr>
<tr>
<td><input type="text" name="numberWorks" value=' . $myrow['numberWorks'] . ' /></td>
<td><input type="text" name="nameWorks" value=' . $myrow['nameWorks'] . ' /></td>
<td><input type="text" name="cost" value=' . $myrow['cost'] . ' /></td>
<td><input type="text" name="brigadeCode" value=' . $myrow['brigadeCode'] . ' /></td>
<td><input type="text" name="duration" value=' . $myrow['duration'] . ' /></td>
</tr>
</table>
<table id="tb_sparePart">
<tr>
<th>№ зап. части</th>
<th>Наименование зап.частей</th>
<th>Количество</th>
<th>Единицы измерения</th>
<th>Цена</th>
<th>Сумма</th>
</tr>
<tr>
<td><input type="text" name="sparePartNum" value=' . $myrow['sparePartNum'] . ' /></td>
<td><input type="text" name="sparePartName" value=' . $myrow['sparePartName'] . ' /></td>
<td><input type="text" name="quantity" value=' . $myrow['quantity'] . ' /></td>
<td><input type="text" name="unitsMeasure" value=' . $myrow['unitsMeasure'] . ' /></td>
<td><input type="text" name="price" value=' . $myrow['price'] . ' /></td>
<td><input type="text" name="sum" value=' . $myrow['sum'] . ' /></td>
</tr>
</table>
<input type="hidden" name="id" value="' . $myrow['id'] . '" />
<p><input type="submit" value="Обновить Акт" /></p>
</form>';

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

Спасибо

Все всегда заканчивается хорошо. Если все закончилось плохо, значит, это еще не конец…
MD
На сайте с 11.04.2010
Offline
22
#1

А в базе слова есть целиком?

p.s.

$myrow = mysql_fetch_array(mysql_query("SELECT * FROM work WHERE id= (int) $_GET[id]"));

так лучше)

iguania
На сайте с 10.12.2010
Offline
72
#2
mago de sombra:
А в базе слова есть целиком?

ну это само собой)) Конечно, в базе все полностью. Тип текстовых полей varchar на 255 символов, у некоторых тип text, либо int.

iguania добавил 21.04.2011 в 03:09

У меня же, помимо редактирования, все эти записи выводятся на сайте: там все так, как и должно быть - полностью

Просто, когда я эти поля тяну из базы в input-ы для редактирования, почему-то там они не полностью (те, в которых более одного слова, видны не полностью, а всего одно первое слово)

LEOnidUKG
На сайте с 25.11.2006
Offline
1774
#3

просто сделайте:

print_r($myrow);

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
MD
На сайте с 11.04.2010
Offline
22
#4

так попробуйте:

$myrow = mysql_fetch_assoc(mysql_query("SELECT * FROM work WHERE id = (int)$_GET[id]")); 


echo '
<form action="update.php" method="post" name="sto" class="form">
<p>Акт Выполненных работ №&nbsp;<input type="text" name="id" id="id" value="' . $myrow['id'] . '" /></p>
<table id="tb_work">
<tr>
<th>№ работ</th>
<th>Наименование работ (проблемы, с которыми клиент обратился на станцию)</th>
<th>Стоимость</th>
<th>Код бригады</th>
<th>Длительность</th>
</tr>
<tr>
<td><input type="text" name="numberWorks" value="' . $myrow['numberWorks'] . '" /></td>
<td><input type="text" name="nameWorks" value="' . $myrow['nameWorks'] . '" /></td>
<td><input type="text" name="cost" value="' . $myrow['cost'] . '" /></td>
<td><input type="text" name="brigadeCode" value="' . $myrow['brigadeCode'] . '" /></td>
<td><input type="text" name="duration" value="' . $myrow['duration'] . '" /></td>
</tr>
</table>
<table id="tb_sparePart">
<tr>
<th>№ зап. части</th>
<th>Наименование зап.частей</th>
<th>Количество</th>
<th>Единицы измерения</th>
<th>Цена</th>
<th>Сумма</th>
</tr>
<tr>
<td><input type="text" name="sparePartNum" value="' . $myrow['sparePartNum'] . '" /></td>
<td><input type="text" name="sparePartName" value="' . $myrow['sparePartName'] . '" /></td>
<td><input type="text" name="quantity" value="' . $myrow['quantity'] . '" /></td>
<td><input type="text" name="unitsMeasure" value="' . $myrow['unitsMeasure'] . '" /></td>
<td><input type="text" name="price" value="' . $myrow['price'] . '" /></td>
<td><input type="text" name="sum" value="' . $myrow['sum'] . '" /></td>
</tr>
</table>
<input type="hidden" name="id" value="' . $myrow['id'] . '" />
<p><input type="submit" value="Обновить Акт" /></p>
</form>';

Если не прокатит, то надо смотреть что возвращает вам сам запрос. Для этого используйте либо print_r($myrow); либо var_dump($myrow);

iguania
На сайте с 10.12.2010
Offline
72
#5

Есть, нашел причину. Нужно выводить форму не с помощью echo, а с помощью

print <<<HERE


{здесь форма}

HERE;

Вам LEOnidUKG и вам mago de sombra большое спасибо за помощь)

iguania добавил 21.04.2011 в 03:36

mago de sombra:
print_r($myrow);

Да, это само собой. Оно с самого начала возвращало полный массив. Оказалось, что вся причина в способе вывода html-код (не нужно использовать echo)

MD
На сайте с 11.04.2010
Offline
22
#6

iguania, на самом деле нет разницы, как выводить форму)

будь-то print/echo

echo даже быстрее обрабатывается)

Удивительная тема :)

iguania
На сайте с 10.12.2010
Offline
72
#7
mago de sombra:
iguania, на самом деле нет разницы, как выводить форму)

Да сам, в принципе, знаю, что нет разницы и всегда использую echo, т.к. с ним заморочек меньше и скорость обработки быстрее. Но вот в данном случае замена помогла избавиться от проблемы, больше ничего дополнительно не делал.

Может ночь влияет на мозг, но вроде как больше ничего не делал)

В любом случае спасибо, что уделили внимание моей проблеме

dma84
На сайте с 21.04.2009
Offline
168
#8
iguania:
Может ночь влияет на мозг

Может надо все значения value в кавычки заключать?

О чём вам и писал mago de sombra

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий