对于学校项目,我们必须构建一个Web应用程序.我将创造一些人们可以跟踪他们的课程,家庭作业和空闲时间的东西.计划者/日历.(我说这听起来很蹩脚但是嘿,我累了,英语不是我的第一语言;))
我将在CodeIgniter中为PHP逻辑工作,结合通常的.. CSS,jQuery,mySQL.PHP是课程的要求; 我之所以选择在CI中这样做是因为我想学习框架.我们必须炫耀我们在"学校生涯"这一点上能做些什么.
无论如何,我想问一些关于我想要实现的功能的见解.在我的页面顶部,我想显示一个包含该月日期的栏.在天数下面,我将通过一些点显示当天添加了多少任务.当用户点击上一个或下一个时,我想显示上一个/下个月的日期.我还想在这个盒子下方放置一些滑块,用户可以使用它来左右滑动,并循环播放这些日子.我希望这是有道理的?
编辑2:我希望滑块是动态的.如果用户滑到上个月或下个月,或点击按钮,我希望它加载上个月/下个月的日期并显示这些日期.另外,假设我们在一个月的第26个月,滑块必须显示本月的10-31和下个月的1-10.我想我还必须改变我的月份指示(不像这里的图像那样),以便用户知道何时开始另一个月(我将向他们展示月份的名称).
这是一张图片(不要介意那些数字搞砸了,我在Photoshop中正确地做了这个.会解决这个问题):

我一直在看jQuery UI滑块.我想我必须从数据库或使用PHP获取天数?我想cal_days_in_month函数在这里可以派上用场.当用户向左或向右单击箭头或幻灯片时,我不希望页面刷新.我应该在那里使用ajax电话吗?说实话,我不太清楚如何实现这一点.这些数字也是日历类型视图的链接,显示在此栏下方.我可以使用CI日历课吗?或者更适合成熟的谷歌日历类型的日历?我认为这个截屏可能有用吗?
如果可能的话,有人可以提供一些有关如何开始工作的见解以及我可能使用的插件/等等吗?说实话,我不知道从哪里开始.我确信我能以某种方式解决这个问题,但我想通过这里的一些帮助获得kickstart会很好.我看到的主要问题是滑块/下一个/上一个东西,并在上个月/下个月的日子里加载.
提前致谢.
编辑:我意识到有些人可能会说/想'OMG,为什么不用你所拥有的技能而不是尝试一些你要问我们的东西!'.嗯,这是因为我真的想在做这个项目时学到一些东西.请记住,我不是在这里要求代码行,我只是想要了解从哪里开始以及使用什么东西; 也许是可以帮助我的小片段.谢谢.
更新:
我有一个非常基本的"日间酒吧"工作.仍然没有滑块,前一个和下一个按钮也不起作用,但是嘿..至少它动态地填充它.它显示当天前5天,然后是本月直到结束.无论剩下什么都填满了下个月的日子.相当基本.但是,我确实有几个问题!
因为昨天有人告诉我,我正在按照我的方式做一些东西来破坏设计模式,我对我现在工作的方式非常偏执,我真的很喜欢'CodeIgniter pro'的一些反馈.为了填写"日期栏",我用几种方法创建了一个帮助器.(一种动态填充你在图片中看到的'月份'事物的方法,另一种方法init()加载日期列表,就像我之前解释过的那样).我在控制器中加载了这个帮助器,我现在正在使用我视图中的方法:
<ul>
<?php
init($current_day_of_month, $current_month,
$current_year, $days_in_current_month, $show_history);
?>
</ul>
Run Code Online (Sandbox Code Playgroud)
帮助者然后在我的视图中回应我的日期值.这是好事还是坏事?当我想开始为此编写代码时,我一直在思考错误的方法..我想在我的控制器中的某个地方有一个函数,然后从视图中调用它,但我读到我不应该这样做.我不得不改变我的逻辑.我发现很难绕过这样一个事实:我必须通过向我的视图(从我的控制器)发送数据数组来做到这一点,所以我选择创建帮助器.好?坏?我应该阅读的任何提示,资源,我应该看的截屏视频?谢谢一堆.
我有一个简单的CodeIgniter Active记录查询来选择ID:
$q = $this -> db
-> select('id')
-> where('email', $email)
-> limit(1)
-> get('users');
Run Code Online (Sandbox Code Playgroud)
如何将上述ID分配给变量(例如$ id)例如,
echo "ID is" . $id;
Run Code Online (Sandbox Code Playgroud)
谢谢.
如何将其转换为php输出?
<?xml version="1.0" encoding="iso-8859-1"?>
<employee>
<name>Mark</name>
<age>27</age>
<salary>$5000</salary>
</employee>
<employee>
<name>Jack</name>
<age>25</age>
<salary>$4000</salary>
</employee>
<employee>
<name>nav</name>
<age>25</age>
<salary>$4000</salary>
</employee>
Run Code Online (Sandbox Code Playgroud) 我一直在寻找一个关于如何使用AJAX和Codeigniter(我是一个AJAX新手)的完整工作示例.我见过的帖子/帖子很旧 - 所有的编程语言都已经开始了.
我想在页面上有一个输入表单,它返回页面的内容(例如变量,数据库查询结果或html格式的字符串),而不需要刷新页面.在这个简单的示例中是一个带有输入字段的页面,它将用户输入插入到数据库中.我想在提交输入后加载不同的视图.如果我能理解如何做到这一点,我就能适应它做任何我需要的事情(希望它也能帮助别人!)
我在我的'测试'控制器中有这个:
function add(){
$name = $this->input->post('name');
if( $name ) {
$this->test_model->put( $name );
}
}
function ajax() {
$this->view_data["page_title"] = "Ajax Test";
$this->view_data["page_heading"] = "Ajax Test";
$data['names'] = $this->test_model->get(); //gets a list of names
if ( $this->input->is_ajax_request() ) {
$this->load->view('test/names_list', $data);
} else {
$this->load->view('test/default', $data);
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的观点,名为'ajax'(所以我通过URL访问www.mysite.com/test/ajax)
<script type="text/javascript">
jQuery( document ).ready( function() {
jQuery('#submit').click( function( e ) {
e.preventDefault();
var msg = jQuery('#name').val();
jQuery.post("
<?php echo base_url(); ?>
test/add", {name: msg}, function( r …Run Code Online (Sandbox Code Playgroud) 我与最新的工作codeIgniter释放出来,而且我也有工作jquery datatables,从datatables.net
我写过这个函数:https://gist.github.com/4478424 哪个,工作正常.除非我使用文本框输入内容进行过滤.过滤器本身会发生,但我的计数完全关闭.
我尝试$res = $this->db->count_all_results()在我之前添加get,并且它会停止工作.我需要完成什么,if ($data['sSearch'] != '')然后利用整个查询,而不用limit查看搜索过滤器存在多少总行数.
如果您需要在我的要点中看到除了什么之外的任何其他代码,请询问并继续发布.
我正在使用CodeIgniter 2.1.0创建的网站.
我有时会注意到,当我重新加载页面几次或者非常快地打开几页时,或者当我在代码中出错时(这些错误与会话无关)我会被注销.
本网站使用名为Ion_authand的库进行识别:
public function logged_in()
{
$identity = $this->ci->config->item('identity', 'ion_auth');
return (bool) $this->ci->session->userdata($identity);
}
Run Code Online (Sandbox Code Playgroud)
是否有我应该知道的错误或其他内容?
$config['sess_cookie_name'] = 'cisession';
$config['sess_expiration'] = 7200;
$config['sess_expire_on_close'] = TRUE;
$config['sess_encrypt_cookie'] = FALSE;
$config['sess_use_database'] = TRUE;
$config['sess_table_name'] = 'cisession';
$config['sess_match_ip'] = FALSE;
$config['sess_match_useragent'] = TRUE;
$config['sess_time_to_update'] = 300;
Run Code Online (Sandbox Code Playgroud)
在这个网站上,会话几乎每页都会更新.
我正在使用PHP 的请求库(http://requests.ryanmccue.info/).
我安装了composer并添加了以下Json配置composer.json:
{
"require": {
"rmccue/requests": ">=1.0"
},
"autoload": {
"psr-0":{"Requests" : "library/"}
}
}
Run Code Online (Sandbox Code Playgroud)
所以在我的控制器中我试图通过库运行请求,我得到:
public function index()
{
Requests::register_autoloader();
$headers = array('Accept' => 'application/json');
$options = array('auth' => array('user', 'pass'));
$request = Requests::get('https://api.github.com/gists', $headers, $options);
var_dump($request->status_code);
// int(200)
var_dump($request->headers['content-type']);
// string(31) "application/json; charset=utf-8"
var_dump($request->body);
}
Run Code Online (Sandbox Code Playgroud)
:第34行的../application/controllers/test.php中找不到"请求"类
我需要使用PHP将所有字符串和数字用双引号放在CSV文件中.
如何在双引号内的所有数据中从PHP创建CSV文件?
我正在使用此代码生成CSV - 我正在使用codeigniter框架
$array = array(
array(
(string)'XXX XX XX',
(string)'3',
(string)'68878353',
(string)'',
(string)'xxxx@xxxx.xxx.xx',
),
);
$this->load->helper('csv');
array_to_csv($array, 'blueform.csv');
Run Code Online (Sandbox Code Playgroud)
输出我得到:
"XXX XX XX",3,68878353,,xxxx@xxxx.xxx.xx
Run Code Online (Sandbox Code Playgroud)
预期产出:
"XXX XX XX","3","68878353","","xxxx@xxxx.xxx.xx"
Run Code Online (Sandbox Code Playgroud)
array_to_csv的代码
if (!function_exists('array_to_csv')) {
function array_to_csv($array, $download = "") {
if ($download != "") {
header('Content-Type: application/csv');
header('Content-Disposition: attachement; filename="' . $download . '"');
}
ob_start();
$f = fopen('php://output', 'w') or show_error("Can't open php://output");
$n = 0;
foreach ($array as $line) {
$n++;
if (!fputcsv($f, $line)) {
show_error("Can't write line $n: …Run Code Online (Sandbox Code Playgroud) 我已经创建了一个简单的代码ajax请求,用于检查codeigniter框架中的电子邮件可用性.但是,我每次都会得到错误.并且不知道如何解决它.下面是我的页脚js脚本(在jquery和其他外部脚本之后).
<script>
$(document).ready(function() {
$("#loading").hide();
$("#email").blur(function() {
var email_val = $("#email").val();
var filter = /^[a-zA-Z0-9]+[a-zA-Z0-9_.-]+[a-zA-Z0-9_-]+@[a-zA-Z0-9]+[a-zA-Z0-9.-]+[a-zA-Z0-9]+.[a-z]{2,4}$/;
if (filter.test(email_val)) {
// show loader
$('#loading').show();
jQuery.ajax({
type: "POST",
url: "<?php echo site_url()?>users/check_email_ajax",
dataType: 'json',
data: {
'<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>',
'email': 'email_val'
},
success: function (response) {
if(response){
$('#loading').hide();
console.log(response.message);
$('#msg').html(response.message)
$('#msg').show().delay(10000).fadeOut();
}
},
error: function(error){
$('#loading').hide();
console.log("There is some errors on server : " + error.error);
}
})
}
});
});
Run Code Online (Sandbox Code Playgroud)
这是我的用户控制器功能,用于检查数据库中的电子邮件
public function check_email_ajax(){
// allow …Run Code Online (Sandbox Code Playgroud) codeigniter ×10
php ×9
jquery ×3
ajax ×2
javascript ×2
mysql ×2
activerecord ×1
csv ×1
select ×1
variables ×1
xml-parsing ×1