让我们谈谈评级系统:用户可以评价其他用户.有一个user表:USER_ID,USER_NAME和rates:RATER_ID,RATED_ID,RATE(串),用户可以一次评定一个人,但可以随时改变主意,我知道它有点古怪,它永远不会发生,但让我们看看如何它去:
check if A ever rated B
if no: INSERT INTO
if yes: UPDATE
Run Code Online (Sandbox Code Playgroud)
所以,在伪代码中:
$rec = SELECT COUNT(*) FROM users WHERE RATER_ID = a AND RATED_ID = b
if ($rec == 0)
{
INSERT INTO rates (a, b, rateText);
}
else
{
UPDATE rates SET RATE = rateText WHERE RATER_ID = a AND RATER_ID = b
}
Run Code Online (Sandbox Code Playgroud)
但这是一个问题.让我们假设两个价格同时到达(我知道它很奇怪).
- rate request A: count(*) is 0, so lets insert
- rate request B: count(*) is 0, …Run Code Online (Sandbox Code Playgroud) 我有这个小代码:
class A
{
private $val = 5;
}
$a = new A();
$obj = (array)$a;
echo '<pre>'; var_dump ($obj); echo '</pre>';
echo $obj['Aval']; // error!
Run Code Online (Sandbox Code Playgroud)
转储$ obj后,结果是:
array(1) {
["Aval"]=>
int(5)
}
Run Code Online (Sandbox Code Playgroud)
但是用$ obj ['Aval']访问这个值; 触发错误 - 这是不可能的!
在我的php脚本中,我想检查数据库表的结构是否已更改.该DESCRIBE TABLE不会提供足够的信息,因为它忽略了外键.在SHOW CREATE TABLE是太多了,因为自动增量值也出现在这里.
<div id="container">
<div id="col1">menu1</div>
<div id="col2">menu2</div>
<div style="clear: both;"></div>
<div>
#container
{
width: 400px;
background-color: green;
}
#col1
{
float: left;
background-color: red;
width: 48%;
border: 1px dotted blue;
}
#col2
{
float: left;
background-color: yellow;
width: 52%;
border: 1px dotted blue;
}
Run Code Online (Sandbox Code Playgroud)
这可能很简单,但我无法弄明白.当我没有时border,它可以正常工作.但是,只要我添加一个border,两个div就不能彼此相邻.但我不能说"52% - 1px - 1px"之类的东西可以消除边界.
我想检测字符串是否是时间(00:18:31).我知道,strtotime()但它也检测到"好now",等等.我需要一个真正的解决方案
我有这个输入:
array(
'a' => 1,
'b' => 2,
'c' => 3,
'd' => 4
);
Run Code Online (Sandbox Code Playgroud)
我想得到这个:
array(
'a' => 1,
'c' => 3,
'b' => 2,
'd' => 4
);
Run Code Online (Sandbox Code Playgroud)
正如你所看到的,键改变了,而不是它们的值。我知道关联数组中没有偶数顺序 - 就我而言,这很重要。那么,有什么解决办法吗?
我有这个:
1899, 184, 531 *
1900, 184, 531 *
1901, 113, 531
1902, 184, 436
Run Code Online (Sandbox Code Playgroud)
我想得到
1899, 184, 531
1901, 113, 531
1902, 184, 436
Run Code Online (Sandbox Code Playgroud)
没有临时表等如何?
我有这个表结构:
ID RATE1 RATE2 RATE3
Run Code Online (Sandbox Code Playgroud)
它是空的.让我们给出一个新的速度:
REPLACE INTO rates (ID, RATE2) VALUES (99, 4);
Run Code Online (Sandbox Code Playgroud)
表格将是:
99, 0, 4, 0
Run Code Online (Sandbox Code Playgroud)
到现在为止还挺好.另一个评级发生:
REPLACE INTO rates (ID, RATE3) VALUES (99, 2);
Run Code Online (Sandbox Code Playgroud)
这就是错误发生的地方.我明白了
99, 0, 0, 2
Run Code Online (Sandbox Code Playgroud)
代替:
99, 0, 4, 2
Run Code Online (Sandbox Code Playgroud)
我也想保留RATE2.这有解决方法吗?
它的好处是有迭代器来排列http://php.net/manual/en/function.iterator-to-array.php但是有什么可以逆转的吗?
jQuery('#warning').click(function() {
console.log('clicked at warning');
});
jQuery('#content').click(function() {
console.log('clicked at content');
});Run Code Online (Sandbox Code Playgroud)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="warning">
<div id="content">This is the content</div>
dsfdfsdsfdsfdsfdsfdsfdsf
</div>Run Code Online (Sandbox Code Playgroud)
小提琴:https://jsfiddle.net/73jykhj0/
不幸点击content也会触发点击warning.如何消除点击warning?