1回の呼び出しで複数のmysqlクエリを実行する

ジェイソン・チェン

1回の呼び出しで複数のmysql値を取得する方法を理解したいと思います。現状では、現在のクエリが機能しています。

SELECT COUNT(*) AS cnt, 
        (3595 * 
            acos(
                cos(radians({$lat1}))
                * cos(radians(lattitude))
                * cos(radians(longitude) - radians({$lon1}))
                + sin(radians({$lat1}))
                * sin(radians(lattitude))
            )
        ) AS distance
        FROM members WHERE person = 'single'
        HAVING distance < 50
    );

これは後で私のPHPによって次のように呼び出されます:

$single = $row['cnt'];

echo json_encode( array(
    'single' => $single
) );

私の仮定のテーブルがある人で構成されsinglemarrieddivorcedこの例では、である人に対してのみクエリを実行しましたsingle同じmySQlクエリを使用して、これらすべてのグループに対して同じリクエストを実行するようにクエリを変更する方法を知りたいです。特にjson encode機能を使用します。

私が見た1つの例はSELECT、の複数のインスタンスと組み合わされた複数の個別のステートメントに依存しています$row['cnt']

チオムノ

私のバージョンは、@ scaisEdgeのものと非常によく似ています。そこよりも多くのカテゴリがない場合、実際にsinglemarriedそしてdivorcedWHERE句は必要ありません。

$conn = new mysqli( $host, $user, $pass, $db );

$result = $conn->query( "
    SELECT
        COUNT(*) AS cnt, 
        (3595 * 
            acos(
                cos(radians({$lat1}))
                * cos(radians(lattitude))
                * cos(radians(longitude) - radians({$lon1}))
                + sin(radians({$lat1}))
                * sin(radians(lattitude))
            )
        ) AS distance,
        person -- <-- this gives you the category in the result
    FROM
        members 
    WHERE
        person in ('single', 'divorced', 'married')
    GROUP BY
        person
    HAVING
        distance < 50
" );

$rows =  $result->fetch_all( MYSQLI_ASSOC );

echo json_encode( $rows );

mysqli_result :: fetch_allは、必要なものを取得するのに役立ちます。http://php.net/manual/en/mysqli-result.fetch-all.php ;)

更新:

JSで行うことは、次のようなものです。

data.forEach( function( item )
{
    switch ( item.person )
    {
        case 'single':
            $( "#count_single" ).html( item.cnt )
            break

        case 'married':
            $( "#count_married" ).html( item.cnt )
            break

        case 'divorced':
            $( "#count_divorced" ).html( item.cnt )
            break
    }
} )

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

VB6-1回の呼び出しで複数のSQLクエリを実行する方法

分類Dev

MySQL Connector C ++ APIで1回の関数呼び出しで複数のクエリを実行する適切な方法は何ですか?

分類Dev

Nodejs Mongodbは、1回のhttp呼び出しで複数のクエリを実行します

分類Dev

1回の呼び出しで複数のajax呼び出し関数を実行する方法

分類Dev

1回のクエリで複数のarray_agg()を呼び出す

分類Dev

1回のhttp呼び出しで複数のリクエストを行う-GoogleApps Script .fetch

分類Dev

複数の呼び出しでajaxを使用してphpで2番目の呼び出しクエリを実行する方法

分類Dev

1回のCRM呼び出しで複数の個別のエンティティをクエリすることは可能ですか?

分類Dev

パンダとの1回のgroupby呼び出しで複数の操作を実行しますか?

分類Dev

Vert.x. update()への1回の呼び出しで複数の挿入を実行します

分類Dev

VoltDBパスは、1回の呼び出しで複数の挿入を実行します。C++ API

分類Dev

hbaseシェルを再度呼び出さずにHbaseシェルで複数のクエリを実行する

分類Dev

Mongoose:1回の呼び出しで複数のクエリが入力されます

分類Dev

1回の置換呼び出しで複数の文字を置換する

分類Dev

1回の呼び出しで複数のパスを更新する

分類Dev

React Redux Thunkは、1回の呼び出しで複数のアクションをトリガーします

分類Dev

DAMLのコマンド送信サービスへの1回の呼び出しで複数のコマンドを実行すると、1つまたは複数のトランザクションが発生しますか?

分類Dev

Pythonリクエストで複数のAPI呼び出しを行う方法

分類Dev

Eclipseで複数の呼び出しを使用して1行で印刷する

分類Dev

Oracleのパフォーマンス:複数の同一の関数呼び出しを実行するクエリ

分類Dev

Google AppEngineで1回のリクエストで呼び出すことができる非同期呼び出しの数

分類Dev

1回の呼び出しでParse.comの複数カウントクエリ

分類Dev

スクリプトを実行するときは、常に関数を1回だけ呼び出します

分類Dev

sedを1回呼び出すだけで複数の編集を行う

分類Dev

列のPL / SQLクエリを実行し、関数呼び出しで使用します

分類Dev

1回のコールバック呼び出しだけで非同期呼び出しを再帰的に実行する方法はありますか?

分類Dev

mySqlで複数のクエリを実行する方法

分類Dev

MySQLで複数の選択クエリを実行する-SQLyog

分類Dev

Mongodbは、1回のラウンドトリップで複数のクエリを実行します

Related 関連記事

  1. 1

    VB6-1回の呼び出しで複数のSQLクエリを実行する方法

  2. 2

    MySQL Connector C ++ APIで1回の関数呼び出しで複数のクエリを実行する適切な方法は何ですか?

  3. 3

    Nodejs Mongodbは、1回のhttp呼び出しで複数のクエリを実行します

  4. 4

    1回の呼び出しで複数のajax呼び出し関数を実行する方法

  5. 5

    1回のクエリで複数のarray_agg()を呼び出す

  6. 6

    1回のhttp呼び出しで複数のリクエストを行う-GoogleApps Script .fetch

  7. 7

    複数の呼び出しでajaxを使用してphpで2番目の呼び出しクエリを実行する方法

  8. 8

    1回のCRM呼び出しで複数の個別のエンティティをクエリすることは可能ですか?

  9. 9

    パンダとの1回のgroupby呼び出しで複数の操作を実行しますか?

  10. 10

    Vert.x. update()への1回の呼び出しで複数の挿入を実行します

  11. 11

    VoltDBパスは、1回の呼び出しで複数の挿入を実行します。C++ API

  12. 12

    hbaseシェルを再度呼び出さずにHbaseシェルで複数のクエリを実行する

  13. 13

    Mongoose:1回の呼び出しで複数のクエリが入力されます

  14. 14

    1回の置換呼び出しで複数の文字を置換する

  15. 15

    1回の呼び出しで複数のパスを更新する

  16. 16

    React Redux Thunkは、1回の呼び出しで複数のアクションをトリガーします

  17. 17

    DAMLのコマンド送信サービスへの1回の呼び出しで複数のコマンドを実行すると、1つまたは複数のトランザクションが発生しますか?

  18. 18

    Pythonリクエストで複数のAPI呼び出しを行う方法

  19. 19

    Eclipseで複数の呼び出しを使用して1行で印刷する

  20. 20

    Oracleのパフォーマンス:複数の同一の関数呼び出しを実行するクエリ

  21. 21

    Google AppEngineで1回のリクエストで呼び出すことができる非同期呼び出しの数

  22. 22

    1回の呼び出しでParse.comの複数カウントクエリ

  23. 23

    スクリプトを実行するときは、常に関数を1回だけ呼び出します

  24. 24

    sedを1回呼び出すだけで複数の編集を行う

  25. 25

    列のPL / SQLクエリを実行し、関数呼び出しで使用します

  26. 26

    1回のコールバック呼び出しだけで非同期呼び出しを再帰的に実行する方法はありますか?

  27. 27

    mySqlで複数のクエリを実行する方法

  28. 28

    MySQLで複数の選択クエリを実行する-SQLyog

  29. 29

    Mongodbは、1回のラウンドトリップで複数のクエリを実行します

ホットタグ

アーカイブ