小编jul*_*lio的帖子

访问密钥空间的javascript对象

我有一个javascript对象,看起来像这样:

var myTextOptions = {
  'cartoon': {
     comic: 'Calvin & Hobbes',
     published: '1993'
  },
  'character names': {
    kid: 'Calvin',
    tiger: 'Hobbes'
  }
}
Run Code Online (Sandbox Code Playgroud)

我可以轻松使用cartoon或其他任何方式访问卡通属性.但是,我无法获得正确的访问语法myTextOptions.cartoon.comic.我试过以下没有运气:

myTextOptions.character names.kid
myTextOptions."character names".kid
myTextOptions.character\ names.kid
myTextOptions.'character names'.kid
myTextOptions.["character names"].kid
myTextOptions.character%20names.kid
Run Code Online (Sandbox Code Playgroud)

javascript object

101
推荐指数
3
解决办法
7万
查看次数

推送到git远程分支

我可以用手学习如何将本地分支推送到远程分支.请看下面.非常感谢!

克隆了repo后创建了本地分支

$ git checkout -b mybranch remotes/origin/mybranch

$ git branch -a
  master
* mybranch
  remotes/origin/HEAD -> origin/master
  remotes/origin/master
  remotes/origin/mybranch
Run Code Online (Sandbox Code Playgroud)

但是当试图推动变革时:

$ git push mybranch mybranch
fatal: 'mybranch' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

$ git push remotes/origin/mybranch mybranch
fatal: 'mybranch' does not appear to be a git repository
fatal: The remote end hung up unexpectedly

$ git push origin/mybranch mybranch
fatal: 'mybranch' does not appear to be a git repository …
Run Code Online (Sandbox Code Playgroud)

git github

32
推荐指数
3
解决办法
7万
查看次数

PHP到javascript实现中的布尔变量值

我在编写的PHP脚本中遇到了一个奇怪的问题 - 我确信这是一个简单的答案,但我没有看到它.

我正在使用PHP从数据库中提取一些变量,然后将这些值传递给在PHP中动态构建的Javascript.像这样的东西:

$myvar = (bool) $db_return->myvar;

$js = "<script type=text/javascript>
        var myvar = " . $myvar . ";
        var myurl = 'http://someserver.com/ajaxpage.php?urlvar=myvar';
       </script>";
Run Code Online (Sandbox Code Playgroud)

问题是如果DB中"myvar"的布尔值是false,那么$ js中myvar的实例是null,而不是false,这就破坏了脚本.

有没有办法将值正确传递false给myvar变量?

谢谢!

javascript php boolean-expression

28
推荐指数
2
解决办法
2万
查看次数

在PHP上使用ON DUPLICATE KEY UPDATE时获取mysql_insert_id()

我已经使用mySQL单独找到了一些答案,但是我希望有人可以告诉我在使用PHP处理插入/更新时获取mysql DB的最后一行或更新行的ID的方法.

目前我有这样的东西,其中column3是一个唯一的键,并且还有一个id列,它是一个自动增量的主键:

$query ="INSERT INTO TABLE (column1, column2, column3) VALUES (value1, value2, value3) ON DUPLICATE KEY UPDATE SET column1=value1, column2=value2, column3=value3";
mysql_query($query);

$my_id = mysql_insert_id();
Run Code Online (Sandbox Code Playgroud)

INSERT上的$ my_id是正确的,但是当它更新一行时(ON DUPLICATE KEY UPDATE)不正确.

我看过几篇帖子,人们建议你使用类似的东西

INSERT INTO table (a) VALUES (0) ON DUPLICATE KEY UPDATE id=LAST_INSERT_ID(id) 
Run Code Online (Sandbox Code Playgroud)

在调用ON DUPLICATE KEY时获取有效的ID值 - 但这会将该有效ID返回给PHP mysql_insert_id()函数吗?

php mysql mysql-insert-id

23
推荐指数
2
解决办法
2万
查看次数

在ALTER TABLE - mysql之前检查列是否存在

有没有办法在ALTER TABLE ADD coumn_name语句运行之前(或作为)运行时检查mySQL数据库中是否存在列?一IF column DOES NOT EXIST ALTER TABLE件事.

我已经尝试ALTER IGNORE TABLE my_table ADD my_column但如果我添加的列已经存在,这仍然会引发错误.

编辑:用例是升级已安装的Web应用程序中的表 - 为了简单起见,我想确保我需要的列存在,如果不存在,请使用 ALTER TABLE

mysql alter-table

20
推荐指数
4
解决办法
6万
查看次数

有没有一种简单的方法来使用Javascript创建动态变量?

我已经构建了一个数据驱动的谷歌地图,其中包含不同的图标,这些图标会根据项目的类型分配给地图.因此,如果我有5种类型的地标,每个都有不同的图标(商店,图书馆,医院等) - 我想要做的是动态生成谷歌图标对象.我在想这样的事情:

types = array('hospital','church','library','store',etc);
var i=0;
while (i<=types.length) {

    var landmark + i = new google.maps.Icon();
    landmark.image = "icon" + i + ".png";
    i++;
    } 
Run Code Online (Sandbox Code Playgroud)

然而,正如你可能已经猜到的那样,这不起作用.我也试过使用eval,像这样:

while (i<=types.length) {
        doIcon(i);
        i++;
    }   

    function doIcon(i){ 
        eval("var landmark" + i + " = new.google.maps.Icon();");
        return eval("landmark" + i);
    }
Run Code Online (Sandbox Code Playgroud)

但它也没有用 - 我很感激任何关于动态生成javascript变量的指针.它必须是纯粹的js,我可以用PHP来做,但这不是一个选项.

谢谢!

javascript dynamic-variables

17
推荐指数
2
解决办法
4万
查看次数

在mysql中选择重复的ID

我有一个非常简单的表,只有part_id和part_type:

CREATE TABLE `temp` (
`part_id` INT NOT NULL ,
`part_type` CHAR( 5 ) NOT NULL
Run Code Online (Sandbox Code Playgroud)

这有很长的零件ID和类型列表.但是,某些部件有多种类型.我如何获得具有多种类型的部件的ID?我在想这样的事情会起作用:

SELECT * FROM temp WHERE part_in IN (SELECT count(part_id) as duplicates FROM temp WHERE 1 GROUP BY part_id) AND duplicates > 1

然而,这显然只是伪造的,并且失败了.谢谢你的帮助.

mysql sql duplicates

16
推荐指数
2
解决办法
2万
查看次数

Bootstrap选项卡中的Google Map

我正在尝试将Google地图显示在vanilla Bootstrap选项卡中.我直接从Bootstrap文档构建了一个小提琴,Gmap脚本与Google建议的完全一样.

我将map对象转储到console.dir并已正确初始化.在早期的项目中,我能够使用resize函数在选项卡中显示地图 - 但它似乎不适用于Bootstrap.

有没有人得到这个工作?

这是通用的jsfiddle-- http://jsfiddle.net/B4zLe/4/

编辑:添加代码

JAVASCRIPT:

var map;

jQuery(function($) {
    $(document).ready(function() {
        var latlng = new google.maps.LatLng(-34.397, 150.644);
        var myOptions = {
            zoom: 8,
            center: latlng,
            mapTypeId: google.maps.MapTypeId.ROADMAP
        };
        map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
        console.dir(map);
        google.maps.event.trigger(map, 'resize');

        $('a[href="#profile"]').on('shown', function(e) {
            google.maps.event.trigger(map, 'resize');
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

HTML:

<div>
<div class="bs-docs-example">
    <ul id="myTab" class="nav nav-tabs">
    <li class="active"><a href="#home" data-toggle="tab">Home</a></li>
    <li><a href="#profile" data-toggle="tab">Map</a></li>
</ul>
<div id="myTabContent" class="tab-content">
    <div class="tab-pane fade in active" id="home">
        <p>Raw denim …
Run Code Online (Sandbox Code Playgroud)

javascript jquery google-maps-api-3 twitter-bootstrap

15
推荐指数
4
解决办法
2万
查看次数

通过URL参数发送加密加密的字符串 - 解码的文本被破坏

我搞乱了一个简单的授权方案.我认为没有SSL或其他HTTP身份验证的最简单的方法是共享密钥加密.根据PHP手册中的一个简单示例,我想出了以下内容:

$text = "boggles the invisible monkey will rule the world";
$key = "This is a very secret key";

$iv_size = mcrypt_get_iv_size(MCRYPT_BLOWFISH, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);

$enc = mcrypt_encrypt(MCRYPT_BLOWFISH, $key, $text, MCRYPT_MODE_ECB, $iv);

$iv = base64_encode($iv);
$enc = base64_encode($enc);

echo '<a href="temp2.php?iv='.$iv.'&text='.$enc.'">link</a><br />';
Run Code Online (Sandbox Code Playgroud)

收到此请求的页面(temp2.​​php)如下所示:

$key = "This is a very secret key";

$iv = base64_decode($_GET["iv"]);
$enc = base64_decode($_GET["text"]);

$crypttext = mcrypt_decrypt(MCRYPT_BLOWFISH, $key, $enc, MCRYPT_MODE_ECB, $iv);

echo "$crypttext<br>";
Run Code Online (Sandbox Code Playgroud)

这非常接近,但它没有正确解码 - 它回应

boggles the invisible monkey will rule t—;eôügJë

我不确定挂断是什么,我尝试了urlencode/urldecode和htmlentities,认为可能是一个字符在请求中被破坏了,但没有区别.

还有什么我想念的吗?也许填充? …

php ajax get mcrypt

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

恢复push'd git commit

我有一个有两个分支的回购 - 主人和开发者.我正在主分公司工作并拉,并得到一个消息,说回购是最新的.我提交了我的更改,并推送到远程仓库(在github上).我收到一条消息说有些变化被拒绝了.

然后我做了一个git pull origin dev,这显然是错误的事情 - 因为它将dev分支与我的主人合并,就像一个白痴,我没有注意到这一点,直到我再次推动.所以上次提交显示Merge branch 'dev' of github.com:myuser/myrepo.

我可以通过执行a来回到本地仓库中的最后已知良好状态git reset --hard [sha],其中[sha]是合并之前的提交(虽然我不确定如何将更改转换为原点) - 或者从我读过我也可以做一个git revert -m然后提交/推动那个改变.

任何人都可以通过"正确的方式"来解除我的合并,并将两个分支恢复到合并之前的位置吗?

谢谢 - 如果重要的是这只是一个只有两个开发人员的共享仓库,所以它不会发生重大变化.

编辑添加:请跟我说话,好像我还是个孩子.我不得不承认这个Git的东西仍然让我困惑,所以我远远不是一个超级用户!谢谢

git merge github revert reset

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