Вы можете использовать функтор в качестве третьего аргумента в std :: sort
, или вы можете определить оператор & lt;
в вашем классе.
struct X {int x; bool operator & lt; (const X & amp; val) const {return x & lt; val.x; }}; struct Xgreater {bool operator () (const X & amp; lx, const X & amp; rx) const {return lx.x & lt; rx.x; }}; int main () {std :: vector & lt; X & gt; my_vec; // используем X :: operator & lt; по умолчанию std :: sort (my_vec.begin (), my_vec.end ()); // используем functor std :: sort (my_vec.begin (), my_vec.end (), Xgreater ()); }
Чтобы сделать с javascript, вы можете сделать что-то вроде этого:
& lt; script type = "Text / javascript" & gt; var text = & lt;? = $ text_from_db; ? & GT; & Lt; / сценарий & GT;
Тогда вы можете использовать все, что хотите, в своем javascript, чтобы поместить текст var в текстовое поле.
Вам действительно нужно «построить» его из javascript или вы можете просто вернуть встроенный HTML из PHP и вставить его в DOM?
Вы не можете делать это только с Javascript. Вам понадобится код на стороне сервера (PHP, в вашем случае), который служит прокси-сервером между БД и клиентским кодом.
Вероятно, самый простой способ сделать это - вернуть файл PHP в JSON. Итак, допустим, у вас есть файл query.php
,
$ result = mysql_query ("SELECT field_name, field_value FROM the_table"); $ to_encode = array (); while ($ row = mysql_fetch_assoc ($ result)) {$ to_encode [] = $ row; } echo json_encode ($ to_encode);
Если вам ограничено использование document.write (как вы заметили в комментариях ниже), дайте вашим полям атрибут id следующим образом: & lt; input type = "text "id =" field1 "/ & gt;
. Вы можете ссылаться на это поле с помощью этого jQuery: $ ("# field1"). Val ()
.
Вот полный пример с HTML. Если мы предполагаем, что ваши поля называются field1
и field2
, тогда
& lt;! DOCTYPE html & gt; & Lt; & HTML GT; & Lt; & головка GT; & lt; title & gt; Это о нем & lt; / title & gt; & Lt; / головка & GT; & Л; тело & GT; & Lt; & форма GT; & lt; input type = "text" id = "field1" / & gt; & lt; input type = "text" id = "field2" / & gt; & Lt; / форма & GT; & Lt; / тело & GT; & lt; script src = "http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js" & gt; & lt; / script & gt; & Lt; & сценарий GT; $ .getJSON ('data.php', function (data) {$ .each (data, function (fieldName, fieldValue)) {$ ("#" + fieldName) .val (fieldValue);});}); & Lt; / сценарий & GT; & Lt; / HTML & GT;
Это вставка после того, как был построен HTML, что может быть проще всего. Если вы хотите заполнить данные при динамическом построении HTML, вы все равно хотите, чтобы файл PHP возвращал JSON, вы просто добавляете его непосредственно в атрибут value
.