Другие два варианта:
Базовый пакет:
df <- unstack(dat1, form = value ~ numbers)
rownames(df) <- unique(dat1$name)
df
sqldf
package:
library(sqldf)
sqldf('SELECT name,
MAX(CASE WHEN numbers = 1 THEN value ELSE NULL END) x1,
MAX(CASE WHEN numbers = 2 THEN value ELSE NULL END) x2,
MAX(CASE WHEN numbers = 3 THEN value ELSE NULL END) x3,
MAX(CASE WHEN numbers = 4 THEN value ELSE NULL END) x4
FROM dat1
GROUP BY name')
У вас есть файл, к которому подключается вызов AJAX, доступный на сервере.
Итак, скажем, ваша функция находится в файле: functions.inc.php
php-файл, содержащий функции functions.inc.php и вызывающий функцию submitmessage.
ajax_responder.php:
require_once 'functions.inc.php';
if(!empty($_POST)) {
submitmessage();
}
Теперь вы можете использовать URL-адрес для ajax_responder.php для отправлять сообщения.
Когда jQuery включен или записан на страницу с формой:
function submitmessage(){
$.post("url_path/ajax_responder.php", { fullname: document.chatbox.fullname.value, message: document.chatbox.message.value } );
}
Затем вместо отправки формы вы меняете кнопку отправки на кнопку, которая вызывает submitmessage javascript:
<button onclick="submitmessage()">Submit Message</button>
Как примечание, для обеспечения безопасности я рекомендую вам сделать что-то еще с данными POST, чтобы убедиться, что вы не получаете SQL injection . Поскольку вы уже используете функции mysql, вы можете попробовать mysql_real_escape_string .
mysql_*
. В обозримом будущем они будут устаревшими . – tereško 16 October 2011 в 07:56