小编Ash*_*eef的帖子

Haversine公式中的联接运算

我正在PHP中实现Haversine公式,如下所示

$result=mysqli_query($mysqli,"SELECT *,( 6371 * acos( cos( radians({$lat}) ) * cos( radians( `latitude` ) ) * cos( radians( `longitude` ) -radians({$lon}) ) +sin( radians({$lat}) ) * sin( radians( `latitude` ) ) ) ) AS distance FROM `places` HAVING distance <= {$radius} ORDER BY distance ASC") or die(mysqli_error($mysqli));
Run Code Online (Sandbox Code Playgroud)

在Haversine访存循环中,我有一个查询,它遍历Haversine的结果以选择与Haversine公式返回的ID匹配的记录。查询如下。

 while($row = mysqli_fetch_assoc($result)) 

    {
   $rest_time=$row['id'];

$result1=mysqli_query($mysqli,"SELECT * FROM my_friends  WHERE personal_id='".$personal_id."' AND id='".$rest_time."'") or die(mysqli_error($mysqli)); 

//Some operations here
    }
Run Code Online (Sandbox Code Playgroud)

如何执行Join操作将这些查询混合为一个查询?从优化的角度来看,这样做是否明智?如果第二个表有5万个用户,而第一个表有近1000条记录呢?

php mysql optimization join haversine

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

Jest 期望一个带有函数的对象

我正在编写一个 Jest 测试,其中我调用一个函数并期望返回一个对象,如下所示:

const repository = container => {

  const makeBooking = (user, booking) => {
    'make booking function called'
  }

  const generateTicket = (paid, booking) => {
    console.log('generate ticket function called')
  }

  const getOrderById = orderId => {
    console.log('get order by ID called')
  }

  const disconnect = () => {
    console.log('disconnect method called')
  }

  return {
    makeBooking,
    getOrderById,
    generateTicket,
    disconnect
  }
}

Run Code Online (Sandbox Code Playgroud)

为了举例,所有这些函数现在都是示例。我现在导出函数,然后在测试中使用它,如下所示:

container = {}

describe('Repository', () => {
  it('should connect with a container', () => {
    let …
Run Code Online (Sandbox Code Playgroud)

javascript unit-testing node.js jestjs jest-fetch-mock

3
推荐指数
2
解决办法
3632
查看次数

如何迭代mysqli结果集?

我想遍历以下查询的结果集:

"select uid from userbase"
Run Code Online (Sandbox Code Playgroud)

我目前正在使用以下循环,但我只能获得第一个值。

$i = 0;
$output = mysqli_query($mysqli, "select uid from userbase") or die(mysqli_error($mysqli));
while ($row = $output->fetch_array()) {
    $deviceToken = $row[$i];
    echo $deviceToken;
    $i++;
}
Run Code Online (Sandbox Code Playgroud)

可能是什么问题?是fetch_array()吗?

php mysqli loops resultset while-loop

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

如何获得jquery和模态窗口的按钮ID?

我有一个HTML表单,单击该按钮将生成一个模态窗口.按钮如下.

<button type="button" class="btn" id="gs_one" data-toggle="modal" data-target="#BASIC">Get Started</button>
Run Code Online (Sandbox Code Playgroud)

启动的模态类型将是"基本"类型.Modal实际上是另一种形式,然后通过POST方法提交给另一个PHP页面.模态如下.

<div class="modal fade" id="BASIC" role="dialog">
   <div class="modal-dialog modal-lg">
      <div class="modal-content">
         <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal">&times;</button>
            <h4 class="modal-title">Header</h4>
         </div>
         <div class="modal-body">
            <form class="contact-work-form2 mar" id="contact-form" action="" method="post">
               <div class="text-input">
                  <div class="float-input">
                     <input type="text" placeholder="Name" id="name2" name="name" required>
                  </div>
                  <div class="float-input2">
                     <input type="text" placeholder="Email" id="mail2" name="mail" required>
                  </div>
               </div>
               <div class="text-input">
                  <div class="float-input">
                     <input type="text" placeholder="Phone" id="phone" name="phone" required>
                  </div>
                  <div class="float-input2">
                     <input type="text" placeholder="Company" id="company" name="company" required>
                  </div>
               </div>
               <div class="text-input"> …
Run Code Online (Sandbox Code Playgroud)

html javascript php jquery modal-dialog

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