|
|
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Доброго времени суток. У меня проблема, вот мой код: if (isset($_POST['id_os'])) {$id_os = $_POST['id_os'];} if (isset($_POST['art'])) {$art = $_POST['art']; if ($art == '') {unset($art);}} if (isset($_POST['name'])) {$name = $_POST['name']; if ($name == '') {unset($name);}} if (isset($_POST['img'])) {$img = $_POST['img']; if ($img == '') {unset($img);}} if (isset($_POST['img_big'])) {$img_big = $_POST['img_big']; if ($img_big == '') {unset($img_big);}} if (isset($_POST['ob'])) {$ob = $_POST['ob']; if ($ob == '') {unset($ob);}} if (isset($_POST['opis'])) {$opis = $_POST['opis']; if ($opis == '') {unset($opis);}} if (isset($_POST['prim'])) {$prim = $_POST['prim']; if ($prim == '') {unset($prim);}} if (isset($_POST['price'])) {$price = $_POST['price']; if ($price == '') {unset($price);}} if (isset($art) && isset($name) && isset($img) && isset($ob) && isset($opis) && isset($prim) && isset($price)) { $sql = ("UPDATE os SET art = '".$art."', name = '".$name."', img = '".$img."', img_big = '".$img_big."', ob = '".$ob."', opis = '".$opis."', prim = '".$prim."', price = '".$price."' WHERE id_os = '".$id_os."'"); $res = mysql_query($sql) or die (mysql_error() ."<br />". $sql); if ($res) { echo "<h1>Страница обновлена</h1>"; } else { echo "<h1>Страница не обновлена</h1>"; } } else { echo "<h1>Заполните все поля</h1>"; } ?> после внесения изменений в форму и нажатие на кнопку "изменить" появляется надпись "Страница обновлена", однако обновления в базу не заносятся. Проверил через echo получается UPDATE os SET art = '1', name = 'цувыыа', img = 'уавыа', img_big = 'уававу', ob = 'уаыва', opis = 'уавау', prim = 'уава', price = '23.00' WHERE id_os = '' , то есть обновление проходит, но из-за того что код не знает id_os в базу оно не заносится. Подскажите где у меня косяк. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 01:04:09 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Maxim_Veprиз-за того что код не знает id_osА первой строчкой тогда что же из $_POST вытаскивается? PS: пожалуйста, оформляйте код тегом SRC. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 01:47:15 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Немного переделал код. Это страница с формой: <src><?php if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];}?> <?php if (!isset($id_os)) { echo "<h1>Выбирите наименования товара</h1>"; $result = mysql_query("SELECT art,name,id_os FROM os"); $myrow = mysql_fetch_array($result); do { printf ("<p><a href='edit_os.php?id_os=%s'>%s - %s</a></p>",$myrow["id_os"],$myrow["art"],$myrow["name"]); } while ($myrow = mysql_fetch_array($result)); } else { $result = mysql_query("SELECT * FROM os WHERE id_os = '".$id_os."'"); $myrow = mysql_fetch_array($result); $id_os = $id_os["id_os"]; $art = $art["art"]; $name = $name["name"]; $img = $img["img"]; $img_big = $img_big["img_big"]; $ob = $ob["ob"]; $opis = $opis["opis"]; $prim = $prim["prim"]; $price = $price["price"]; ?> <form name = "update" action = "update_os.php" method = "post"> <p> <label>Измените артикул<br /> <input value = "<?=$myrow[art]?>" type="text" name="art" id="art"> </label> </p><br /> <p> <label>Измените наименование<br /> <textarea name="name" id="name" cols="60" rows="2"><?=$myrow[name]?></textarea> </label> </p><br /> <p> <label>Измените mini - картинку<br> <textarea name="img" id="img" cols="60" rows="3"><?=$myrow[img]?></textarea> </label> </p><br /> <p> <label>Измените big - картинку<br> <textarea name="img_big" id="img_big" cols="60" rows="4"><?=$myrow[img_big]?></textarea> </label> </p><br /> <p> <label>Измените вес/объём<br> <input value = "<?=$myrow[ob]?>" type="text" name="ob" id="ob"> </label> </p><br /> <p> <label>Измените описание средства<br> <textarea name="opis" id="opis" cols="60" rows="4"><?=$myrow[opis]?></textarea> </label> </p><br /> <p> <label>Измените применение средства<br> <textarea name="prim" id="prim" cols="60" rows="4"><?=$myrow[prim]?></textarea> </label> </p><br /> <p> <label>Измените стоимость товара<br> <input value = "<?=$myrow[price]?>" type="text" name="price" id="price"> </label> </p><br /> <p align="right"> <label> <input type="submit" name="edit" id="submit" value=" Сохранить изменения "> </label> </p><br /> </form> <?php }?> </src> А это страница обработчика: <src> <?php if (isset($_GET['id_os'])) {$id_os = $_GET['id_os'];} { $id_os = trim($_POST["id_os"]); $art = trim($_POST["art"]); $name = trim($_POST["name"]); $img = trim($_POST["img"]); $img_big = trim($_POST["img_big"]); $ob = trim($_POST["ob"]); $opis = trim($_POST["opis"]); $prim = trim($_POST["prim"]); $price = trim($_POST["price"]); $sql = ("UPDATE os SET art = '".$art."', name = '".$name."', img = '".$img."', img_big = '".$img_big."', ob = '".$ob."', opis = '".$opis."', prim = '".$prim."', price = '".$price."' WHERE id_os = '".$id_os."'"); $row = mysql_query($sql) or die (mysql_error() ."<br />". $sql); echo $sql; if ($row) { echo "<h1>Страница обновлена</h1>"; } else { echo "<h1>Страница не обновлена</h1>"; } } ?> </src> Я написал не понял сам что вот теперь и страдаю echo $sql; показывает UPDATE os SET art = '1', name = 'цувыыа', img = 'уавыа', img_big = 'уававу', ob = 'уаыва', opis = 'уавау', prim = 'уава', price = '23.00' WHERE id_os = '' так что id_os я просто не получаю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 02:15:44 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
id_os определённо не хочет появляться из базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 02:22:57 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Самое интересное когда ставишь другое значение вместо id_os например art, значение art появляется, но обновления всё равно не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 02:35:01 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Вот ещё код для обработчика, здесь всё работает однако строка которую обновляешь встаёт наверх и полностью заменяет собой первую, помогите её доработать. <src> $sql = "UPDATE os SET "; for($i=0; $i<$n; $i++) { $name_f = mysql_field_name($list_f, $i); $value = $_POST[$name_f]; $j = $i+1; $sql = $sql.$name_f."='$value'"; if($j<>$n) $sql = $sql.","; } $result = mysql_query($sql, $db); if($result) echo "<h2>Товар занесён в базу</h2>"; else echo "<h2>Товар не занесён в базу!</h2>"; mysql_close($db); </src> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 02:48:12 |
|
||
|
UPDATE работатет, но в коде ошибка
|
|||
|---|---|---|---|
|
#18+
Код: 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. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. Вот и всё... так должно работать... просто в коде не было поля id_os в форме... вот оно и не отправлялось. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.05.2012, 09:46:47 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=37811295&tid=1465123]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
441ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 731ms |

| 0 / 0 |
