| |
|
|
| | Вот такая ситуация, есть скрипт который выводит данные из БД и предоставляет возможность редактирования для некоторых полей:
<?php
$a=0;
$old = pg_query("select * from konkurs where datep>='".$date."' and datep<='".$end_date."' order by datep DESC");
//$old = pg_query("SELECT id,otv,rez FROM konkurs"); ///запрос к бд для вывода редактируемых данных
while($rez = pg_fetch_row($old)) {
$a++;
echo '<tr class="row' . ($a%2+1) . '">';
echo '<td class="events"><p class="text">' .$rez['0'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['1'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['2'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['4'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['5'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['6'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['7'].'<br></td>';
echo '<td class="events"><p class="text">' .$rez['8'].'<br></td>';
///////////////////////редактируемые данные
echo "<td><input type=text name=ar[".$rez[0]."] value='$rez[9]' maxlength=15 size=15></td>";
echo "<td><input type=text name=am[".$rez[0]."] value='$rez[10]' maxlength=15 size=15><br></td></tr>";
}
echo '</table>';
?>
<table cellpadding="2" cellspacing="10" border="0" align="right">
<tr><td align="right">
<br><br>
<input type="submit" Name="boot" value="Обновить инфо »»»">
</td></tr>
</table>
</form>
<?
if (!empty($_POST['boot'])) { //// отправка данных с кнопки
while( (list($idx,$val) = each($ar)) and (list($idx,$val) = each($am)) )
{
pg_query("UPDATE konkurs SET otv='".$ar[$idx]."', rez='".$am[$idx]."' WHERE id=$idx"); ////обновление в бд редактируемых данных
}
}
echo '</table>';
?>
|
Вопрос: каким образом можно заменить поля для ввода данных выпадающими минюшками с выбором вариантов, тем самым ограничить пользователей во вводимых данных? Спасибо! | |
| |
|
|
| |
|
|
| |
для: rez
(09.10.2007 в 16:41)
| | | Взять и поставить Селекты | |
| |
|
|
| |
|
|
| |
для: Faraon
(09.10.2007 в 17:26)
| | | Можно примерчик, пожалуйста!? | |
| |
|
|
| |
|
|
| |
для: rez
(09.10.2007 в 17:49)
| | | тем самым ограничить пользователей во вводимых данных
далеко не всех пользователей вы можете ограничить подобным образом. | |
| |
|
|
| |
|
|
| |
для: Valick
(09.10.2007 в 17:57)
| | | Я это прекрасно понимаю! но мне нужен именно такой способ! | |
| |
|
|
| |
|
|
| |
для: rez
(09.10.2007 в 18:00)
| | | нужно что то вроде этого
<td><select name="rez" style="width:100%" <?php echo htmlspecialchars($rez); ?>>
<option align="center" value=""> ... </option>
<option value="Выигран">Выигран</option>
<option value="Проигран">Проигран</option>
<option value="Не состоялся">Не состоялся</option>
<option value="Не участвуем">Не участвуем</option>
</select></td>
|
| |
| |
|
|
| |
|
|
| |
для: rez
(09.10.2007 в 18:01)
| | | Ну вот и берите его, что вас не устраивает? Только стили писать лучше в CSS. А что это будет:
htmlspecialchars($rez)? | |
| |
|
|
| |
|
|
| |
для: sim5
(09.10.2007 в 18:05)
| | | А как корректно совместить эти два куска кода? Подскажите pls, я че то совсем не понимаю!!! =( | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:18)
| | | Полагаю как то так
<?
echo "<select name=\"ar[".$rez[0]."]\" style=\"width:100%\">
<option align=\"center\" value=\"\"> ... </option>
<option value=\"Выигран\">Выигран</option>
<option value=\"Проигран\">Проигран</option>
<option value=\"Не состоялся\">Не состоялся</option>
<option value=\"Не участвуем\">Не участвуем</option>
</select>";
?>
|
| |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:18)
| | | - | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:18)
| | | htmlspecialchars($rez) Это можно убрать, просто пример из другова скрипта взят! )) | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:40)
| | | >htmlspecialchars($rez) Это можно убрать, просто пример из другова скрипта взят! ))
Я не знаю что Вы здесь хотите вывести, а стили как сказал sim5 держите в СSS | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:40)
| | | Спасибо! )) А как сделать так чтобы если в базе уже есть инфа то она отображалась бы, вот этот параметр за это отвечал: value='$rez[10]' ? Можно ли его как нить прикрутить? | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:54)
| | | Ну можно чтобы он стоял первым по умолчанию
<?
echo "<select name=\"ar[".$rez[0]."]\" style=\"width:100%\">
<option align=\"center\" value=\"".$rez[10]."\">".$rez[10]."</option>
<option value=\"Выигран\">Выигран</option>
<option value=\"Проигран\">Проигран</option>
<option value=\"Не состоялся\">Не состоялся</option>
<option value=\"Не участвуем\">Не участвуем</option>
</select>";
?>
|
А дальше уже при желании выбрать другой вариант | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:54)
| | | Вы к коду своему, сперва прикрутите начало формы.) | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:40)
| | | Спасибо! )) А как сделать так чтобы если в базе уже есть инфа то она отображалась бы, вот этот параметр за это отвечал: value='$rez[10]' ? Можно ли его как нить прикрутить? | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 14:55)
| | | может есть что то вроде <?=.$rez['10'].?>, ток вот это не рабоатет, я пробовал вот так:
echo "<td><select name=\"am[".$rez[0]."]\" value='$rez[10]' style=\"width:100\">
<option align=\"center\" value=\"\"> <?=.$rez['10'].?> </option>
<option value=\"Âûèãðàí\">Âûèãðàí</option>
<option value=\"Ïðîèãðàí\">Ïðîèãðàí</option>
<option value=\"Íå ñîñòîÿëñÿ\">Íå ñîñòîÿëñÿ</option>
<option value=\"Íå ó÷àñòâóåì\">Íå ó÷àñòâóåì</option>
</select></td>";
|
но ничего не получилось! ((( | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 15:37)
| | | Ну если вы такую фигню прикручивать будете, то в ней кроме вас никто разбираться не станет. | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 15:37)
| | | Тогда уж вот так
| |
| |
|
|
| |
|
|
| |
для: Faraon
(10.10.2007 в 15:54)
| | | Как так, если он в echo воткнул это? | |
| |
|
|
| |
|
|
| |
для: sim5
(10.10.2007 в 15:57)
| | | Извиняюсь, внимание на это не обратил | |
| |
|
|
| |
|
|
| |
для: Faraon
(10.10.2007 в 16:04)
| | | А есть еще варианты??? ))) | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 16:10)
| | | А что мой вариант от 10.10.2007 в 15:04 не подходит? | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 16:10)
| | | Есть! Никто, кроме вас не занет, что такое $rez['0'], $rez['1'], ... и т.д. Никто не будет знать что у вас не получается пока вы не скажете что. Почему вы пишите либо так $rez['0'], либо так $rez[0]? Вам дали пример елемента SELECT, но только вам известно, какую пременную и куда вставить, а вы воткнули добросовестно то, что является просто примером. | |
| |
|
|
| |
|
|
| |
для: sim5
(10.10.2007 в 16:25)
| | | $rez[10] выводит информацию из 10-го столбца в БД
мне необходимо при помощи выпадающих меню вносить информацию в бд, но если там уже есть инфа то показывать ее!
Вот это один столбец в табличе на сайте:
echo "<td><select name=\"am[".$rez[0]."]\" style=\"width:100\">
<option align=\"center\" value=\"\"><?=$rez['10']?></option> \\\ вот эта часть как раз видна когда ничего не выбрано, мне необходимо что бы тут отображалась инфа из бд, если она там есть
<option value=\"Âûèãðàí\">Âûèãðàí</option>
<option value=\"Ïðîèãðàí\">Ïðîèãðàí</option>
<option value=\"Íå ñîñòîÿëñÿ\">Íå ñîñòîÿëñÿ</option>
<option value=\"Íå ó÷àñòâóåì\">Íå ó÷àñòâóåì</option>
</select></td>";
|
При помощи этой конструкции данные заносятся в бд: name=\"am[".$rez[0]."]
вот так выглядит запрос к бд
if (!empty($_POST['boot'])) { //// îòïðàâêà äàííûõ ñ êíîïêè
while( (list($idx,$val) = each($ar)) and (list($idx,$val) = each($am)) )
{
pg_query("UPDATE konkurs SET otv='".$ar[$idx]."', rez='".$am[$idx]."' WHERE id=$idx"); ////îáíîâëåíèå â áä ðåäàêòèðóåìûõ äàííûõ
}
}
|
| |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 16:51)
| | | Зачем вы вставляете эти некчемные длинные "портянки" кода? Вы думаете, что каждый на лету ковертирует это îáíîâëå в удобочитаемый формат? Вы выше читали? Нельзя так делать!!!:
<?
echo "Выводим, используя echo, и ни с того, ни с чего, вставляем РНР код <?=$rez['10']?>";
//вы думаете так будет работать?
?>
|
Вы просто на тестовой странице проверьте маленькие части того, чего вы делаете - ошибок у вас предостаточно, а вы их даже не потрудились устранить. | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 16:51)
| | | Если уж вам не имется именно так сделать, то тогда такой вариант :)
<?php
echo "<td><select name=\"am[".$rez[0]."]\" style=\"width:100\">
<option align=\"center\" value=\"\">";
?>
<?=$rez['10'] ?>
<?php
echo "</option>
<option value=\"Âûèãðàí\">Âûèãðàí</option>
<option value=\"Ïðîèãðàí\">Ïðîèãðàí</option>
<option value=\"Íå ñîñòîÿëñÿ\">Íå ñîñòîÿëñÿ</option>
<option value=\"Íå ó÷àñòâóåì\">Íå ó÷àñòâóåì</option>
</select></td>";
?>
|
| |
| |
|
|
| |
|
|
| |
для: Faraon
(10.10.2007 в 17:09)
| | | Спасибо большое всем, разобрался! Извините за Âûèãðàí
это просто русские буквы в кои8-р перенесенные из редактора в форум!
Еще раз спасибо! | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 17:32)
| | | Блин, извините за назойливость! Вот такая трабла получилась:
значит если уже есть какието данные в таблице, то они отображаются, т.к. берет эти данные из бд. если в другие поля что то внести то уже внесенные данные затираются, т.к. переменная $rez[0] пуста (она отвечает за запись данных в таблицу) можно ли вот в эту часть кода:
<option align=\"center\" value=\" \">"; \\\ в параметр value=""
|
что нибудь вставить, ну типа хотя бы того же: <?=$rez['10'] ?> чтоб уже имеющиеся данные просто перезаписывались а не стирались?
Спасибо! | |
| |
|
|
| |
|
|
| |
для: rez
(10.10.2007 в 17:51)
| | | Подскажите пожалуйста!!!! Очень нужно!!!! ='( | |
| |
|
|
| |
|
|
| |
для: rez
(11.10.2007 в 14:38)
| | | Вы странный человек, вы сами не знаете куда ткнуть это <?=$rez['10'] ?>, а хотите чтобы вам кто-то это подсказал. Что это такое <?=$rez['10'] ?> вообще? Почему вы его то в одно место, то в другое пытаетесь притулить, надеясь что заработает? Может вам лучше создать новую тему, описать массив, который вы хотите вставить в SELECT, и спросить как сделать это? | |
| |
|
|