小编Dod*_*nas的帖子

MySQL选择JOIN 3 Tables

我有三个基本表:

tblUsers:

    usrID     usrFirst     usrLast
      1        John          Smith
      2        Bill          Jones
      3        Jane          Johnson

pm_data:

id     date_sent              title          sender_id  thread_id         content
2   2009-07-29 18:46:13     Subject 1           1         111        Message 2!
3   2009-07-29 18:47:21     Another Subject     1         222        Message 3!

pm_info:

id  thread_id   receiver_id  is_read
1     111           2            0
2     111           3            0
3     222           2            0
4     222           3            0
Run Code Online (Sandbox Code Playgroud)

基本上,我想要做的是创建一个收件箱.

因此,如果usrID 2(Bill Jones)打开他的收件箱,他将看到他2个未读(因此是'is_read'列)消息(线程#111和#222).

基本上,我需要知道如何将我的SELECT语句设置为JOIN所有三个表(pm_data和pm_info之间的关系带来了消息信息,而tblUsers和pm_data之间的关系带来了发送者的'显示名称'),在顶部显示最新的(按时间戳?)线程.

因此,我们会看到这样的事情:

<?php  $usrID = 2;  ?>

<table id="messages">
  <tr id="id-2">
  <td>
   <span>
     From: John Smith …
Run Code Online (Sandbox Code Playgroud)

php mysql

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

jQuery分页插件

希望这是一个容易补救的东西.我在理解jQuery Pagination插件时遇到了一些问题.

基本上,我要做的就是加载一个PHP文件,然后对结果进行分页.我试图摆脱他们的榜样,但我并没有屈服于我正在寻找的结果.

这是JavaScript:

 function pageselectCallback(page_index, jq){
            var new_content = $('#hiddenresult div.result:eq('+page_index+')').clone();
            $('#Searchresult').empty().append(new_content);
            return false;
        }
        function initPagination() {
            var num_entries = $('#hiddenresult div.result').length;
            // Create pagination element
            $("#Pagination").pagination(num_entries, {
                num_edge_entries: 2,
                num_display_entries: 8,
                callback: pageselectCallback,
                items_per_page:3
            });
         }      
        $(document).ready(function(){      
            $('#hiddenresult').load('load.php', null, initPagination);
        });      
Run Code Online (Sandbox Code Playgroud)

这是我的HTML(加载PHP之后):

        <div id="Pagination" class="pagination"> </div>
        <br style="clear:both;" />
        <div id="Searchresult"> </div>

       <div id="hiddenresult" style="display:none;"> 
         <div class="result">Result #1</div>
         <div class="result">Result #2</div>
         <div class="result">Result #3</div>
         <div class="result">Result #4</div>
         <div class="result">Result #5</div>
         <div class="result">Result #6</div>
         <div class="result">Result …
Run Code Online (Sandbox Code Playgroud)

javascript jquery pagination jquery-pagination

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

将其他对象添加到JSON编码阵列

我目前正在使用JSON编码数组来显示我的数据库中的用户以获得自动建议功能.

它看起来像这样:

$sth = mysql_query("SELECT id, name FROM users");

$json = array();

    while($row = mysql_fetch_assoc($sth)) {
        $json['name'] = $row['name'];
        $json['id'] = $row['id'];
        $data[] = $json;
    }

print json_encode($data);
Run Code Online (Sandbox Code Playgroud)

返回:

[{"id":"81","name":"John Doe"},{"id":"82","name":"Jane Doe"}]
Run Code Online (Sandbox Code Playgroud)

我的问题有点双重:

首先,如何手动向此输出添加其他对象?例如,假设我想添加: {"id":"444","name":"A New Name"}

因此,它看起来像:

[{"id":"81","name":"John Doe"},{"id":"82","name":"Jane Doe"},{"id":"444","name":"A New Name"}]
Run Code Online (Sandbox Code Playgroud)

其次,假设我也想从单独的表中向数组中添加更多对象,例如:

$sth = mysql_query("SELECT id, title FROM another_table");

$json = array();

    while($row = mysql_fetch_assoc($sth)) {
        $json['name'] = $row['title'];
        $json['id'] = $row['id'];
        $data[] = $json;
    }

print json_encode($data);
Run Code Online (Sandbox Code Playgroud)

这样我可以在JSON数组中填充两个表,因此,在我的autosuggest中显示为其他选项.

希望这是有道理的,因为我已经努力表达我想要完成的事情.

谢谢!

javascript php arrays json

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

PHP增加一半

我有一个简单的问题,可能很容易回答.我已经四处走动,但不确定我是在正确搜索还是在搜索什么.无论如何,使用PHP,我怎么能增加一半?

例如,我知道我可以使用以下循环:

<?php 
for ($i=1; $i<21; $i++) {
    print($i);
}
Run Code Online (Sandbox Code Playgroud)

它将打印1 - 20.

但是,我怎样才能输出如下内容:

1
1.5
2
2.5
etc...
Run Code Online (Sandbox Code Playgroud)

对不起我对此的无知,我只是不确定如何去做.谢谢!

php loops increment

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

MySQL Select Statement,WHERE'IN'子句

我目前在表中有以下行:

         course_data:
             user_id        days     <-- This is a varchar column.
               405          1,3,5
Run Code Online (Sandbox Code Playgroud)

我正在尝试实现以下SELECT语句:

SELECT usrID, usrFirst, usrLast, usrEmail
    FROM tblUsers
    WHERE usrID NOT IN
    (
        SELECT users.usrID
            FROM
                `course_data` courses,
                `tblUsers` users
            WHERE
                days IN ('$day')
    )
    GROUP BY usrID
    ORDER BY usrID
Run Code Online (Sandbox Code Playgroud)

基本上,如果$ day变量包含'1,3或5',我希望省略该行(使用用户405).

例如,如果$day = "1",它应该返回一个空查询(因为数字"1"在列"1,3,5"中).

但是,我没有发现这种情况.尽管如此$day = "1",它仍然会返回那一行.

它不会返回行的唯一方法是if $day= "1,3,5." ,我认为IN()子句将接受我的变量的任何部分并将其应用于该列.

我在这里做错了什么见解?谢谢.

php mysql sql select

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

jQuery以编程方式选择值 - 奇数问题

我有一个有趣的问题,我似乎无法解决使用Select2FullCalendar.

单击某个事件后,我尝试使用数据库中的内容预先选择Select2下拉列表:

 $('#calendar').fullCalendar({
   eventClick: function(calEvent, jsEvent, view) {
            $("#view_event").modal();  //launches bootstrap modal
            $("#client_list_edit").select2();
            $("#client_list_edit").select2("val", calEvent.ClientID);
        }
 });  
Run Code Online (Sandbox Code Playgroud)

这是我想不通:当我eventClick第一时间,它并没有与信息预填充.

但是,当我eventClick第二次(或eventClick日历上的任何其他事件)时,它可以正常选择并显示正确的值.

javascript jquery fullcalendar jquery-select2

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

上传到远程服务器

我正在一个网站上,使用PHP/MySQL,用户可以上传视频,然后,这些视频被转换(使用FFMPEG)到FLV和MP4文件.

现在,整个"上传"和"转换"过程发生在实际由不同提供商托管的不同(远程)服务器上.

我使用不同托管位置的原因是因为它们提供更多存储和转换功能.

我的问题是:如何(或者最好的方式)我可以从用户主要互动的主网站上传文件到我的"视频托管网站"?此外,当上传视频时,信息也会添加到数据库中(视频标题,描述等),那么如何将此信息输入数据库?从远程位置还是主站点?

另外,我该如何安全地做到这一点?意思是,有人不能只是"浏览"视频网站并随机上传文件.

或者,如果某人有完全不同的建设性建议,我也非常感激.

非常感谢!

php mysql upload

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

使用SwiftMailer批量发送电子邮件

我目前正在使用SwiftMailer向几个用户发送电子邮件(最多50个).我已经设置并正常工作,但是,我不太确定如何从MySQL数据库中提取收件人并迭代发送它们.

这是我目前拥有的:

<?php  
require_once 'swift/lib/swift_required.php';
$mailer = Swift_Mailer::newInstance(
Swift_SmtpTransport::newInstance('smtp.connection.com', 25)  
->setUsername('myUserName')
->setPassword('myPassword')
 );

 $mailer->registerPlugin(new Swift_Plugins_AntiFloodPlugin(9));

 $message = Swift_Message::newInstance()

  ->setSubject('Let\'s get together today.')

  ->setFrom(array('myfrom@domain.com' => 'From Me'))

  ->setTo(array('tom_jones@domain.com' => 'Tom Jones', 'jsmith@domain.com' => 'Jane Smith', 'j_doe@domain.com' => 'John Doe', 'bill_watson@domain.com' => 'Bill Watson',))

  ->setBody('Here is the message itself')
  ->addPart('<b>Test message being sent!!</b>', 'text/html')
   ;

  $numSent = $mailer->batchSend($message, $failures);

  printf("Sent %d messages\n", $numSent);
Run Code Online (Sandbox Code Playgroud)

如上所示,在setTo中,我想从数据库中的用户进行迭代.就像是:

SELECT first, last, email FROM users WHERE is_active=1

文件规定:

Note: Multiple calls to setTo() …

php mysql scripting swiftmailer

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

Rails 4 - 通过Ajax进行错误处理 - 错误未触发

我试图提交一个"空白"表单,故意触发错误.

但是,它仍然响应"成功"功能而不是标记错误.但是,没有添加任何记录.

当我在输入字段中提交信息时,表单可以正常工作.

形成:

 <%= simple_form_for :course, :url => {:action => 'create'}, :remote => true do |f| %>      
   <%= f.input :title %>
   <%= f.submit "Submit" %>
 <% end %>
Run Code Online (Sandbox Code Playgroud)

模型:

class Course < ActiveRecord::Base 
  validates :title, presence: true
end
Run Code Online (Sandbox Code Playgroud)

控制器:

 def create
   @course = Course.new(course_params)

   respond_to do |format|  
     if @course.save  
       format.html { redirect_to(:controller => 'schedule', :action => 'index') }  
       format.js  
     else  
       format.html { render :action => "new" }  
       format.js
     end  
   end  
 end
Run Code Online (Sandbox Code Playgroud)

create.js.erb

$(document).ready(function() {
  $("form").on("ajax:success", function(e, data, status, xhr) …
Run Code Online (Sandbox Code Playgroud)

ajax jquery ruby-on-rails

6
推荐指数
2
解决办法
9019
查看次数

Ruby - NoMethodError(nil的未定义方法:NilClass):

我在弄清楚我做错了什么时遇到了一些困难.我的ActiveRecord查询正在返回nil,我认为这会导致NoMethodError被引发.

这就是我所拥有的:

@number_exclude_list = ["1234567890", "2223334545"] 
@available_number = UserNumber.where.not(:user_num => @number_exclude_list)
Run Code Online (Sandbox Code Playgroud)

返回一组空行:

=> #<ActiveRecord::Relation []>
Run Code Online (Sandbox Code Playgroud)

那么,我有:

if (@available_number.empty?)
   inform_user_empty
else
   do_my_other_function
Run Code Online (Sandbox Code Playgroud)

但是,我得到:

`NoMethodError (undefined method 'inform_user_empty' for nil:NilClass)`
Run Code Online (Sandbox Code Playgroud)

我试过了:@available_number.blank?`@available_number.nil?

我仍然得到相同的NoMethodError.我在这里做错了什么想法?

null ruby-on-rails exception nomethoderror

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