CodeIgniter允许通过以下方式访问POSTed数据:
$this->input->post('input_name');
Run Code Online (Sandbox Code Playgroud)
其中'input_name'是表单字段的名称.这适用于静态表单,其中每个输入名称都是提前知道的.
在我的例子中,我正在从数据库中加载一组键/值对.表单包含每个键/值对的文本输入.
我想知道,有没有办法通过CodeIgniter api获取一系列发布的数据?
谢谢!
我有一个像这样的SQL表:
更新:我正在更改示例表,因为原始数据(州,城市,学校)的现有分层性质使得项目之间需要简单关系的事实蒙上阴影.
entities
id name
1 Apple
2 Orange
3 Banana
4 Carrot
5 Mushroom
Run Code Online (Sandbox Code Playgroud)
我想定义这些实体之间的双向关系,以便查看一个实体的用户可以看到所有相关实体的列表.
关系由最终用户定义.
在数据库中表示这些关系并随后查询和更新它们的最佳方法是什么?
我看到的一种方式......
我的直觉说这样的关系表是这样的:
entity_entity
entity_id_a entity_id_b
1 2
5 1
4 1
5 4
1 3
Run Code Online (Sandbox Code Playgroud)
既然如此,如果提供的entity_id为4,那么如何获得所有相关记录,即1和5?
同样,entity_id = 1的查询应该返回2,3,4和5.
感谢您的时间,让我知道我是否可以澄清这个问题.
嘿大家,我正在为Apple的Dashboard创建一个小部件,我在尝试使用jquery的ajax函数从我的服务器获取数据时遇到了问题.这是我的javascript代码:
$.getJSON("http://example.com/getData.php?act=data",function(json) {
$("#devMessage").html(json.message)
if(json.version != version) {
$("#latestVersion").css("color","red")
}
$("#latestVersion").html(json.version)
})
Run Code Online (Sandbox Code Playgroud)
服务器用这个json响应:
{"message":"Hello World","version":"1.0"}
Run Code Online (Sandbox Code Playgroud)
但是出于某种原因,当我运行它时,小部件上的字段不会改变.从调试开始,我了解到小部件甚至没有向服务器发出请求,因此我认为Apple有一些外部URL阻塞.我知道这不可能是真的,因为很多小部件都打电话回家检查更新.
有没有人对什么可能是错的有任何想法?
编辑:此外,此代码在Safari中完美运行.
PHP:
echo $_GET["callback"].'({"message":"Hello World","version":"1.0"});';
Run Code Online (Sandbox Code Playgroud)
使用Javascript:
function showBack(event)
{
var front = document.getElementById("front");
var back = document.getElementById("back");
if (window.widget) {
widget.prepareForTransition("ToBack");
}
front.style.display = "none";
back.style.display = "block";
stopTime();
if (window.widget) {
setTimeout('widget.performTransition();', 0);
}
$.getJSON('http://nakedsteve.com/data/the-button.php?callback=?',function(json) {
$("#devMessage").html(json.message)
if(json.version != version) {
$("#latestVersion").css("color","red")
}
$("#latestVersion").html(json.version)
})
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试发送游戏中心邀请.从模拟器发送到设备或从设备发送到模拟器会导致InviteFailed错误.
可能是什么问题?实施不正确?互联网速度低?或者是否无法使用模拟器测试Game Center邀请?
谢谢

我有这样的SQL数据
events
id name capacity
1 Cooking 10
2 Swimming 20
3 Archery 15
registrants
id name
1 Jimmy
2 Billy
3 Sally
registrant_event
registrant_id event_id
1 3
2 3
3 2
Run Code Online (Sandbox Code Playgroud)
我想选择'events'中的所有字段以及一个附加字段,该字段是当前为该事件注册的人数.在这种情况下,射箭将有2名注册人,游泳将有1,而烹饪将有0.
我想这可以在一个查询中完成,但我不确定正确的语法.如何编写查询来获取该数据?
更新:谢谢你的答案,你们都摇滚!
这个问题涉及并发问题,有关如何显示繁忙图标的建议请参阅此问题:Javascript - 加载/忙碌指示符或事件点击上的透明div over page
当用户在页面上发起AJAX请求时,显示某种"工作"或忙碌图标或进度指示器很有用.如果只有一个长时间运行的进程,则可以以相对简单的方式处理:
function do_action() {
show_busy_icon();
long_running_asynchronous_process(function() {
// Callback function run when process finishes
hide_busy_icon();
});
}
Run Code Online (Sandbox Code Playgroud)
但是,如果页面上正在运行多个异步进程,则使用开/关方法将不起作用.即使有其他进程正在运行,第一个完成的过程也会关闭图标.
那么,如何处理在网页上显示指示符,当有一个或多个进程在运行时显示,在没有进程运行时关闭?
我想可以保持运行进程数的计数.hide_busy_icon()如果进程计数为0,则仅隐藏图标.这似乎有点失败.也许有一种更好/更简单的方式,我没有看到.
感谢您的意见和建议!
编辑:在标记答案中使用解决方案一段时间后,我很高兴地说它运作良好.我遇到的唯一问题是我自己的脚本调用我无法控制的脚本函数的情况.除非这些函数允许提供回调,否则在开始和结束时无法更新进程计数.
可以发生这种情况的一个示例是向Google地图添加一组标记.一旦我的脚本调用Google地图功能,繁忙的图标就会消失,而标记仍在加载中.
我不确定处理这个问题的好方法.
当该链接的href指向具有特定扩展名的文件时,我想将click()事件应用于页面上的所有链接.适用扩展名列表徘徊在30左右,未来可能会有所增长(但绝不会超过100).
我的第一个倾向是像这样构造事件绑定:
$("a[href$=avi],
a[href$=ppt],
a[href$=rtf],
// ...snip a bunch more of these....
a[href$=pdf],
a[href$=xml]").click(function() {
// Do something
});
Run Code Online (Sandbox Code Playgroud)
这疯了吗?
jquery ×3
ajax ×2
database ×2
javascript ×2
sql ×2
callback ×1
codeigniter ×1
concurrency ×1
count ×1
dashboard ×1
forms ×1
game-center ×1
input ×1
iphone ×1
many-to-many ×1
multiplayer ×1
objective-c ×1
performance ×1
php ×1
post ×1
relational ×1
subquery ×1
widget ×1