小编JPC*_*JPC的帖子

php和mysql,最佳实践

我今天开始使用php和mysql.基本上,我所拥有的是一个空页面,其中包含我在数据库中查找id时填写的内容.所以在我的主页上我有一个看起来像这样的网址:

<a href="content/display.php?id=id1">
Run Code Online (Sandbox Code Playgroud)

然后在我的display.php中我有这个:

<?php
    include '../includes/header.php';
    $id = $_GET['id'];
    $mysqli = new mysqli('localhost','username','password','dbname');
    if($result = $mysqli->query("SELECT * FROM portfolio WHERE id='".$id."'"))
    {
        while($row = $result->fetch_object())
        {
            $head = $row->head;
            $img1 = $row->img1;
            $img2 = $row->img2;
            $img_url = $row->imgurl;
            $img_thumb = $row->imgthumb;
            $vid = $row->vid;
            $swf = $row->swf;
            $url = $row->url;
            $url_text = $row->urltext;
            $text = $row->text;
        }
    }
    else echo $mysqli->error;
?>
Run Code Online (Sandbox Code Playgroud)

这是一个稀疏表,因为并非所有这些字段都有信息(许多字段可能为空).基本上它们包含文件名,然后在html中我有如下代码:

if(isset($img1))
                    {
                        echo '<img src="images/'.$img1.'" />';
                    }
Run Code Online (Sandbox Code Playgroud)

几个问题,

  1. 这是最好的方法吗?
  2. 每次我访问display.php时,我都在重新打开数据库连接吗?这不可能是好的......
  3. 我选择将文件的名称放在数据库中,而不是整个路径名,甚至是实际的文件本身,想一想,如果我更改文件的名称,我可以进入数据库并为文件更新它想要改变.如果我更改路径,我可以在html中更改一次.这是最好的主意吗?

谢谢!

php mysql mysqli

5
推荐指数
2
解决办法
4247
查看次数

Django中的可排序表

我阅读了一些关于此的其他帖子以及一些涉及javascript和使用其他库的建议.我手动快速做了一些事情,但是我是Django和Python的新手,所以我很好奇这是不是一个好方法.

HTML

 <table>
        <tr>
            <td><a href="?sort=to">To</a></td>
            <td><a href="?sort=date">Date</a></td>
            <td><a href="?sort=type">Type</a></td>
        </tr>
        {% for record in records %}
        <tr><td>{{record.to}}</td><td>{{record.date}}</td><td>{{record.type}}</td></tr>
        {% endfor %}
    </table>
Run Code Online (Sandbox Code Playgroud)

视图

headers = {'to':'asc',
         'date':'asc',
         'type':'asc',}

def table_view(request):
    sort = request.GET.get('sort')
    if sort is not None:
        if headers[sort] == "des":
            records = Record.objects.all().order_by(sort).reverse()
            headers[sort] = "asc"
        else:
            records = Record.objects.all().order_by(sort) 
            headers[sort] = "des"
    else:
        records = Record.objects.all()
    return render_to_response("table.html",{'user':request.user,'profile':request.user.get_profile(),'records':records})
Run Code Online (Sandbox Code Playgroud)

python django

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

在Eclipse中设置Jetty

我正在尝试关注Tapestry的教程.(http://tapestry.apache.org/tapestry5.1/tutorial1/env.html)本教程推荐使用Jetty 5.1,因此我可以使用一个名为JettyLauncher的插件从Eclipse内部运行Jetty应用程序.但是现在,我认为Jetty的版本是7.我不想从过时的Web服务器开始.Jetty 7是否有任何类似于我想象的Jet Eclipse 5.1 + Jetty Launcher应该做的eclipse插件?

谢谢

编辑:我正在尝试Run Jetty Run和m2eclipse.我们将看到它是如何工作的

eclipse tapestry jetty

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

Objective-C 撤消管理器问题

我正在阅读一本关于 Objective-c 的书并了解撤消管理器。这个概念看起来很简单,但提供的例子似乎过于复杂。基本上,我有一个连接到 NSArrayController 的表视图,我在数组中添加或删除人员,我可以编辑他们的名字和内容。因为示例使用 NSArrayController 和绑定,添加和删除是自动的,所有编辑都是自动的。

要使用撤消管理器,据我所知,我需要实现自己的方法来添加/删除/编辑。

由于键值编码,我已经实现了这些方法来进行添加和删除并自动调用:

- (void)removeObjectFromEmployeesAtIndex:(int)index;
- (void)insertObject:(Person *)p inEmployeesAtIndex:(int)index;
Run Code Online (Sandbox Code Playgroud)

然后为了编辑,我必须将该类注册为观察者并观察更改以进行编辑:

- (void)changeKeyPath:(NSString *)keyPath
             ofObject:(id)obj
              toValue:(id)newValue
Run Code Online (Sandbox Code Playgroud)

以下是我的问题:

  1. 为什么我要做这么多?我的理解是,使用 NSArrayController 和绑定应该使添加/删除/编辑项目更容易和更自动化。但是如果我必须手动实现所有这些方法只是为了添加撤消支持,为什么要使用 NSArrayController 或绑定呢?

  2. 幕后发生了什么?在 Interface Builder 中,添加按钮连接到 NSArrayController 上的添加方法。那么如何调用我的 insertObject 方法呢?我知道这是通过键值编码,但是是什么让 NSArrayController 的 add 方法被覆盖只是 b/c 我的文档实现了这个方法?

  3. 解决方案是不对称的。我使用一个概念来处理撤消添加/删除,使用另一个概念来处理撤消编辑。我不能也只观察数组的变化吗?我想它会使observeValueForKeyPath 方法复杂化,但这会更有意义吗?

cocoa objective-c key-value-observing key-value-coding nsarraycontroller

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

Objective C:将字符串转换为枚举

如果我有一个枚举:

typedef enum {
  SOMETHING,
} MyEnum
Run Code Online (Sandbox Code Playgroud)

我有一个NSString"SOMETHING",有没有一种方法可以直接从字符串转到ENUM值?我意识到我可以制作一本字典来做这件事,但我很好奇.

objective-c

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

NSDatePicker时区怪异

我的nib文件中有一个NSDatePicker.在代码中,我将其时区设置为GMT日历的时区:

[datePicker setTimeZone:[calendar timeZone]];
Run Code Online (Sandbox Code Playgroud)

我只关心以编程方式填充的datepicker上的时间(小时,分钟):

NSDate *anyDate = [NSDate date];
        NSDateComponents *components = [calendar components:(NSYearCalendarUnit | NSMonthCalendarUnit |  NSDayCalendarUnit) fromDate:anyDate];
        [components setHour:hours];
        [components setMinute:minutes];
        NSDate *newDate = [calendar dateFromComponents:components];
        [datePicker setDateValue:newDate];
Run Code Online (Sandbox Code Playgroud)

这正确地具有将日期选择器时间设置为我想要的时间的期望效果.因此,如果小时数为8,分钟数为30,则日期选择器显示为8:30.但是,如果我在日期选择器的小时字段中输入一个8,它显示为3.奇怪的是某个地方正在进行时区,但我不知道在哪里......

cocoa objective-c nsdate nstimezone nsdatepicker

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

刷新核心数据关系

是否可以刷新Core Data托管对象的特定关系?我知道我可以刷新整个对象,但我想刷新一个特定的关系.我想我会通过使关系再次成为一个错误来实现这一点,但我似乎找不到任何可以实现这一目标的东西.你可以检查一个特定的关系是一个错误,但你不能强迫一个人是一个错误.

cocoa core-data objective-c nsmanagedobject nsmanagedobjectcontext

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

移动文件时Xcode丢失git历史记录

我正在尝试在同一个git存储库中的两个项目之间移动文件.在Xcode中,我可以将对新项目的引用移动得很好但是只要我将文件移动或复制到新项目文件夹,git就会丢失所有日志/错误历史记录.

在命令行上,我可以做git log --follow,这有效,但我如何在Xcode中做到这一点?

git xcode

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

核心数据中的多个反向关系

我有一个实体库,它包含两个书籍列表.图书馆保留这两本书籍非常重要.在我的图书馆实体上,我有一个从每个列表到我的图书实体的一对多的关系.同样,Book有一个关系"库".我的数据从数据库中删除时出现了一些问题,我发现我应该设置反向关系以帮助保持数据完整性.但是,在这种情况下,Book会希望能够与我的Library实体上的每个列表建立反向关系.我怎么能做到这一点?

我天真的第一个想法是为两个列表实现关系.因此,一本书有一个关系"libraryForList1"和"libraryForList2",因此它可以为每个关系提供一个反转.我永远不必实际引用这些属性,因为根据Core Data规范,如果我将一本书添加到其中一个库列表中,它会自动将库设置为该书籍所有者.

cocoa core-data objective-c nsmanagedobject

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

使用javascript扫描目录

我知道在 Web 应用程序中执行此操作存在一些问题,但是我只是为自己的 PC 编写自己的脚本,并且正在使用 javascript 编写。我知道您可以通过调用获取文件系统对象:

var Fo = new ActiveXObject("Scripting.FileSystemObject")
Run Code Online (Sandbox Code Playgroud)

有没有一种方法可以让我浏览我想要的特定文件夹?我以前没有使用过 javascript,所以我不确定要真正寻找什么。

谢谢

编辑:我说错了。显然我使用的是 JScript,它与 javascript 不完全一样

javascript scripting internet-explorer activex

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