好吧,我不是一个庞大的框架人,但我一直都喜欢我听说过整个MVC运动,所以我想我会尝试用我选择的语言创建一个简单的应用程序(PHP)
所以我想问题是:我哪里出错了?我知道关于控制器/模型应该多么胖的问题存在很多争论,所以希望我们可以避免这种情况,但是我对你如何适应数据的想法特别好奇.
我还买了一个域来做一些测试,所以如果你想看到它的实际运行,你可以去www.omgmvc.com
首先,这是我的数据库模式:
CREATE TABLE `movies` (
`id` int(11) NOT NULL auto_increment,
`movie_name` varchar(255) NOT NULL,
`release_date` date NOT NULL,
`directors_name` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
);
INSERT INTO `movies` VALUES (1,'Star Wars', '1977-05-25', 'George Lucas');
INSERT INTO `movies` VALUES (2,'The Godfather', '1972-03-24', 'Francis Ford Coppola');
INSERT INTO `movies` VALUES (3,'The Dark Knight', '2008-07-18', 'Christopher Nolan');
Run Code Online (Sandbox Code Playgroud)
这是文件:
index.php (控制器)
<?php
include('datatier.php');
include('models/m_movie.php');
if (isset($_GET['movie']) && is_numeric($_GET['movie']))
{
$movie = new Movie($_GET['movie']);
if ($movie->id > 0)
{
include('views/v_movie.php'); …Run Code Online (Sandbox Code Playgroud) 我想获取当前域名,如果页面是http://www.domain.com/page.asp我需要www.domain.com
基本上我即将开始在网站上工作,我想要一些我可以添加到我的.htaccess文件(或其他地方)的东西,它将像这个伪代码一样工作:(我的ip将取代127.0.0.1 )
if (visitors_ip <> 127.0.0.1)
redirectmatch ^(.*)$ http://www.example.com/under-construction.html
Run Code Online (Sandbox Code Playgroud)
希望这是有道理的......
长话短说,我试图使用Management studio快速更新SQL Server中的单行,只是键入UPDATE table SET column='value'并忘记了该WHERE other_column='other_value'部分.去吃午饭,回来了,还有15封未读的电子邮件等着我.发生在大约一个小时前,等待数据库人回来查看上次备份的时间.虽然有没有神奇的UNDO功能?
我知道这在Javascript中是可行的但我只需要使用PHP来做,我该怎么办?
尽管这些天我总是努力进行全面验证,但我常常想知道这是否浪费时间.如果代码运行并且它在所有浏览器中看起来都一样(我使用browsershots.org来验证)那么我是否需要进一步采取它或者我只是过度肛门?
在为其创建代码时,您将代码保持在什么级别:
a)你自己b)你的客户
PS杰夫和公司,为什么不堆栈溢出验证?:)
编辑:一些很好的见解,我认为,因为我已经如此有效地痴迷了这么长时间,我计划知道什么会导致问题,什么不会,所以我比那些先创建网站的人更好"回去修复验证问题"
我想我可能会发布关于堆栈溢出的另一个问题; "你去的时候验证还是你完成然后回去验证?" 因为这似乎是这个问题的所在
基本上我有一个网站.我有一个正确设置的站点地图,因此我假设Google知道我的所有页面.我在某些网站上看到,搜索表单会显示一个包含原始网站外壳的页面,但结果显然是由Google提供的.与codinghorror.com的搜索类似,但他的搜索结果并未显示在他的网站布局中.
知道我在说什么或如何实现这个目标?
我正在为我的公司制定一个软件规范,作为审计系统的一部分,我认为如果有一种方法可以抓住当前的Active Directory用户,那将是很好的.
希望像:
Dim strUser as String
strUser = ActiveDirectory.User()
MsgBox "Welcome back, " & strUser
Run Code Online (Sandbox Code Playgroud) 我运行了一个小型视频网站,在实际的视频页面上有一条类似于大多数视频方面的"相关视频"(例如YouTube),目前我所做的就是随机选择其中一个标签并查找其他视频相同的标签.毫不奇怪,这不是一个很好的方法,因为一些标签非常模糊,有些视频被误标记.
当前查询的示例:
SELECT video_name FROM videos INNER JOIN videotags ON videos.id=videotags.video_id INNER JOIN tags ON tags.id=videotags.tag_id WHERE tag_name='x' AND videos.id<>'y' LIMIT 5
Run Code Online (Sandbox Code Playgroud)
其中x是当前视频中的任何一个标记,y是当前视频的ID.(PS我使用参数化查询不用担心)
我只是好奇你们将如何处理这个问题,或许最好加入类似的视频节目?
以下是我的数据库表的设置方式:
VIDEOS TABLE
------------
video_id [PK,auto_increment] int(11)
video_name varchar(255)
TAGS TABLE
----------
tag_id [PK,auto_increment] int(11)
tag_name varchar(255)
VIDEOTAGS TABLE
---------------
tag_id [PK,FK] int(11)
video_id [PK,FK] int(11)
Run Code Online (Sandbox Code Playgroud)
视频表中显然有更多列,但这只是说明了双方自动递增主键的简单多对多关系
该网站建立在带有MySQL数据库的PHP上,但这无关紧要:)
编辑:有一些关于走有机路线的谈话,所以我想我会发布与视频观看和视频评级有关的其他两个半相关的表格.现在请注意,由于隐私问题,我无意将更多列专门添加到视频视图表中(是的,我知道我将IP存储在评级表中)
VIDEOVIEWS TABLE
----------------
video_id [FK] int(11)
view_time datetime
VIDEORATINGS TABLE
------------------
video_id [PK,FK] int(11)
ip_address [PK] varchar(15)
rating int(1)
rate_time datetime
Run Code Online (Sandbox Code Playgroud) 所以我有一些代码,我在pageload之后向DOM添加了一个元素(下面的例子中的第二个链接)但是这个新添加的元素忽略了为它定义的所有函数.因此,对于下面的示例,我希望div中的所有链接都与测试类一起显示警报.适用于硬编码的链接,但之后添加的链接忽略它.
<html>
<head>
<title>SO Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
</head>
<body>
<div class="test">
<a href="#" title="Test">Test Link</a>
</div>
<script type="text/javascript">
<!--
$(document).ready(function() {
$("div.test a").click(function() {
alert("click");
return false;
});
$(document.createElement("a")).attr("href","#").text("Test Link 2").appendTo("div.test");
});
-->
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
编辑:是唯一的解决方案,用jQuery插件抽象它?
php ×3
.htaccess ×1
asp-classic ×1
css ×1
dom ×1
google-maps ×1
jquery ×1
ms-access ×1
mysql ×1
search ×1
sql-server ×1
validation ×1
w3c ×1
xhtml ×1