如果我想创建一个允许用户拥有0个或更多"朋友"的网站,我将如何在数据库中建模这样的关系?这样简单的工作会是什么:
Table Friends
- Id (PK)
- UserId (FK)
- FriendId (FK)
Run Code Online (Sandbox Code Playgroud)
???
这会让我以后做像Facebook这样的事情(例如"你的3个朋友知道这个用户,也许你也这样做了")?或者类似6度到凯文培根的东西?
编辑1:
Table Friends
- UserId (FK)
- FriendId (FK)
- Status ('Pending', 'Approved', 'Rejected', 'Blocked'?)
Run Code Online (Sandbox Code Playgroud) 假设我从我的数据库中索引了以下内容:
======================================
| Id | Code | Description |
======================================
| 1 | A1 | Hello world |
| 2 | A1 | Hello world 123 |
| 3 | A1 | World hello hi |
| 4 | B1 | Quick fox jumped |
| 5 | B1 | Lazy dog |
...
Run Code Online (Sandbox Code Playgroud)
此外,假设用户搜索"hello",它应返回记录1,2和3.有没有办法让Solr"分组" Code字段并应用限制(例如,10条记录)?我有点想找到GROUP BY和LIMIT的SQL版本.
此外,当它执行"分组依据"时,我希望它选择最相关的文档,并将该文档的Description字段用作返回的一部分.
当然,我可以让Solr将所有内容都返回给我的应用程序,然后我可以操作结果来执行GROUP BY和LIMIT.如果可能的话,我宁愿不这样做.
我正在CodeIgniter上构建一个多应用程序站点.我预见应用程序之间需要一些库,帮助程序等.如何在应用程序之间共享此类资源?看起来我可以把system文件夹和助手放在文件夹下,但是如果我需要共享模型,控制器,视图呢?
我在图像上覆盖了不可见的文字.是否有一个jQuery插件(或类似的)允许用户选择图像上的区域(也选择重叠的文本),并能够复制内容.
现在,我已将每个角色放在自己的<span />标签中.问题是当用户选择时,它有时会选择所有重叠的文本(除非用户对他/她的鼠标非常精确),有时图像本身会被选中等等.
类似于GMail的PDF查看器的解决方案会很好.建议?
我试图模仿类似于FB的东西.基本上,用户可以在用户简档的各个部分发布评论(例如"墙","照片"等).我认为以下模型将起作用:
===========================
wall_message
===========================
- id (PK)
- parent_id (FK)
- wall_owner_profile_id (FK, identify whose wall the message is for)
- poster_profile_id (FK)
- message
- timestamp
===========================
media_message
===========================
- id (PK)
- parent_id (FK)
- media_id (FK, identify which photo, video, etc.)
- poster_profile_id (FK)
- message
- timestamp
Run Code Online (Sandbox Code Playgroud)
parent_id允许将消息"分组"到相关的讨论中.第一条消息parent_id将为0,后续消息将PK作为parent_id值(创建父子关系).
poster_profile_id 标识谁发布了消息.
以上两个表非常相似.将它们组合起来是一个好主意,例如:
===========================
message
===========================
- id (PK)
- parent_id (FK)
- type (ENUM: "wall", "media", etc.)
- types_id (FK, see explanation …Run Code Online (Sandbox Code Playgroud) 在Meetup.com中,当您加入聚会小组时,通常需要为该特定小组填写个人资料.例如,如果您加入电影聚会小组,则可能需要列出您喜欢的电影类型等.
我正在构建一个类似的应用程序,其中用户可以加入各个组并为每个组完成不同的配置文件详细信息.假设有两种可能性:
对这些数据建模的最佳方法是什么?
更详细的例子:
"电影观众"组要求其成员指定以下内容:
"极限运动"组要求其成员指定以下内容:
最重要的是,每个组可能需要加入其组的成员的不同细节.理想情况下,我希望任何人创建一个组(ala MeetUp.com).但是,我还需要能够很好地查询成员(例如,找到所有年龄在25到30岁之间的女性电影观众).
说我有以下标记:
<label for="name">Name:</label>
<input type="radio" name="name" id="name"/>
Run Code Online (Sandbox Code Playgroud)
标签的顺序看起来对我来说是合适的(在语义上:标签之前的标签).但我想首先将其显示为单选按钮,然后是标签.我怎么能在CSS中做到这一点?
我的PHP代码:
$expires_date = date('D, j F Y H:i:s', strtotime('now + 10 years')) . ' GMT';
header("Expires: $expires_date");
header('Content-type: text/javascript');
echo 'hello world';
Run Code Online (Sandbox Code Playgroud)
当我检查响应头时,我看到:
Expires:Thu, 01 Jan 1970 00:00:00 GMT
我究竟做错了什么?
更新:
只是在尝试,但似乎我甚至无法取消Expires via header_remove('Expires');.我仍然看到1970年的约会.
更新:
我的回复标题:
Cache-Control:private
Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:74
Content-Type:text/javascript
Date:Wed, 17 Oct 2012 22:40:45 GMT
Expires:Thu, 01 Jan 1970 00:00:00 GMT
Keep-Alive:timeout=5, max=98
Server:Apache/2.2.21 (Win32) PHP/5.3.9
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.9
Run Code Online (Sandbox Code Playgroud) 我有一个很长的列表,并希望它"包装"成垂直列.假设我有10个项目的列表,我希望每列5个项目,布局应该是这样的:
1 6
2 7
3 8
4 9
5 10
Run Code Online (Sandbox Code Playgroud)
有没有办法在CSS中这样做?
database ×3
mysql ×3
css ×2
jquery ×2
.htaccess ×1
codeigniter ×1
css3 ×1
indexing ×1
javascript ×1
jquery-ui ×1
lucene ×1
mod-expires ×1
radio-button ×1
solr ×1