小编Mar*_*ark的帖子

如何使我的单词解码器返回更相关的结果

我正在构建一个单词unscrambler(php/mysql),它接受2到8个字母之间的用户输入,并返回2到8个字母之间可以从这些字母制作的单词,不一定使用所有字母,但绝对不包括比提供的字母多.

用户将输入类似MSIKE或MSIKEI(两个i),或任何字母组合或多次出现的字母.

下面的查询将查找包含M,S,I,K或E的所有单词.

但是,下面的查询还会返回多次出现未请求的字母的单词.例如,即使用户没有输入两个e,并且用户没有输入两个e,或者单词kiss,即使用户没有输入s两次,也会返回单词meek.

SELECT word
FROM words
WHERE word REGEXP '[msike]'
AND has_a=0
AND has_b=0
AND has_c=0
AND has_d=0
(we skip e) or we could add has_e=1
AND has_f=0
...and so on...skipping letters  m, s, i, k, and e
AND has_w=0
AND has_x=0
AND has_y=0
AND has_z=0
Run Code Online (Sandbox Code Playgroud)

请注意,如果字母出现在单词中,则列has_a,has_b等为1,否则为0.

我对表模式的任何更改都是开放的.

这个网站:http://grecni.com/texttwist.php是我试图模仿的一个很好的例子.

问题是如何修改查询以不返回多次出现字母的单词,除非用户专门多次输入一个字母.按字长分组将是一个额外的奖励.

非常感谢.


编辑:我根据@awei的建议修改了数据库,has_ {字母}现在是count_ {字母}并存储相应字母中相应字母的总出现次数.当用户多次输入字母时,这可能很有用.例如:用户输入MSIKES(两个s).

另外,我已经放弃了原始SQL语句中所示的REGEXP方法.努力完成PHP方面的大部分工作,但许多障碍仍然存在.


编辑:包含表格的前10行

id  word        alpha       otcwl   ospd    csw sowpods dictionary  enable  vowels  consonants  start_with  end_with    end_with_ing    end_with_ly end_with_xy count_a count_b …
Run Code Online (Sandbox Code Playgroud)

php regex mysql

15
推荐指数
1
解决办法
446
查看次数

使用jquery监视表单字段更改

试图学习一些jquery来实现自动保存功能,需要一些帮助.我有一些代码来监视表单字段的状态,以查看是否有任何更改.一切正常,但我只需要监控特定表单中的更改,而不是页面上的所有表单输入.在同一页面上有一个搜索框和一个新闻稿表单,当这些表单字段发生变化时,它们也会被检测到,我需要以某种方式或更好的方式过滤掉,只针对特定的表单.

$(function(){
    setInterval("CheckDirty()",10000);
    $(':input').each(function() {
        $(this).data('formValues', $(this).val());
    });
});

function CheckDirty()
{
    var isDirty = false;

    $(':input').each(function () {
        if($(this).data('formValues') != $(this).val()) {
            isDirty = true;
        }
    });

    if(isDirty == true){
        alert("isDirty=" + isDirty);
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript jquery

11
推荐指数
1
解决办法
3万
查看次数

如何使用Yii和OpenID登录用户

我已将simpleopenidselectorlightopenid添加到我的Yii Web应用程序中,它会对用户进行身份验证,并返回带有openid数据的URL.下一步是使用OpenID提供程序中的数据在Yii中创建新标识以登录用户.如何用Yii完成?

另外,我认为我需要创建一个openid表来存储openid,还需要将用户添加到我的用户表中.如果用户已拥有帐户,则将openid添加到其用户帐户以防止多个帐户.

有没有人用Yii实现这一切?如果是这样,我会对它是如何完成感兴趣.

openid openid-selector yii lightopenid

6
推荐指数
1
解决办法
2262
查看次数

使用jquery计算textarea中的链接数

我正在尝试计算textarea中的链接数量,因此我可以将用户限制为不超过三个链接.下面的代码是我到目前为止的代码,但它不起作用.我在想html是编码的,这会以某种方式影响它......或者可能不会.如果是这样,我可以解码吗?有任何想法吗?非常感谢.

$(document).ready(function() {
    $('#box-text').keyup(function() {
            var links = $('#box-text a');
            var total_links=0;
            for(var i = 0; i < links.length; i++) {
                total_links++;
            }
            alert("links =  " + total_links);
    });
});
Run Code Online (Sandbox Code Playgroud)

javascript jquery

1
推荐指数
1
解决办法
1451
查看次数

标签 统计

javascript ×2

jquery ×2

lightopenid ×1

mysql ×1

openid ×1

openid-selector ×1

php ×1

regex ×1

yii ×1