2

不器用な質問について申し訳ありませんが、それが可能かどうかはわかりません。Mysqldbからjsonを使用してデータを正しく読み取り、データベースのテーブルではない要素に表示します。毎週クライアントグループに表示される予定日があります。他の週への次のリンク。いくつかのコードがあります、それについては申し訳ありません。ここにhtmlコードがあります:

<div class="timesviewport">
    <div class="selector">
        <div class="title-collection" style="">
           <!--time add here-->
        </div>
        <div class="selector-header">
            <div class="header-title-collection" style="">
              <!--date add here--> 
            </div>
            <div class="control">
                <div class="prevlink">
                   <div class="nextprevloading"></div>
                       <a class="prevweeklink" href="#" rel="nofollow">before</a>
                </div>
                <div class="nextlink">
                   <div class="nextprevloading"></div>
                       <a class="nextweeklink" href="#" rel="nofollow" data-test="search-next-week-link">next</a>
                </div>
            </div>
        </div>                                    
    </div>
</div>

そしてここにjavascriptがあります

function getresDetails(id)
{
    var new_res_date = '' ;
    var new_res_time = '' ;

    new_res_time += '<div class="title"><div class="title-row-collection">';

    daily = ["Saturday", "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday"];
    j=0;

    var id_val = id.value;
    var url = "table.php?id="+id_val;

    $.getJSON(url, function(json) {
        new_res_date +='<div class="header-title"><div class="header-title-date-collection" id="adddate">';
        new_res_time += '<div class="title-row"><div class="title-row-date-collection">' ;

        $.each(json, function(i, value) {
            if(i==0)
            {
                new_res_date += '<div class="header-title-date"><div class="header-title-date-name">'+daily[j%7]+ '</div><div class="header-title-date-value">'+json[i].res_date+ '</div></div>';
                new_res_time +=  '<div class="title-row-date"><div class="appointment-collection"><div class="appointment-collection-first"><div><a class="appointment-time" href="#">'+json[i].res_time+'</a></div>' ;
                //alert("first :" +i);
                j++;
            }
            else if (i>0 && json[i-1].res_date==json[i].res_date)
            {
                new_res_time += '<div><a class="appointment-time" href="#">'+json[i].res_time+ '</a></div>';
                //alert("second :" +i);
            }
            else
            {
                new_res_date +=  '<div class="header-title-date"><div class="header-title-date-name">'+daily[j%7]+ '</div><div class="header-title-date-value">'+json[i].res_date+ '</div></div>';
                new_res_time +=  '</div></div></div><div class="title-row-date"><div class="appointment-collection"><div class="appointment-collection-first"><div><a class="appointment-time" href="#">'+json[i].res_time+ '</a></div>';
                //alert("third :" +i);
                j++;
            }
        });
        j=0;
        new_res_date += '</div></div>' ;
        new_res_time += '</div></div></div></div></div></div></div>' ;

        $(new_res_time).appendTo(".title-row-collection");
        $(new_res_date).appendTo(".header-title-collection");
    });
}

およびdatabseからデータを読み取る他のページはここにあります

table.php

<?php

include 'configure.php';

$doc_id = $_GET["id"];

$qr = "SELECT `res_date`,`res_time` FROM `reserve_tbl` WHERE `doc_id` = '".$doc_id."'";

$res= mysql_query($qr);


$i=0;

while($row = mysql_fetch_array($res))
{
    $res_arr[$i]["res_date"] = $row["res_date"]; 
    $res_arr[$i]["res_time"] = $row["res_time"];
    $i++;
}

header('Content-type: application/json');
echo json_encode($res_arr);
?>

および profinf.php

<?php

include 'configure.php';

$doc_id = $_GET["id"];

$qr = "SELECT * FROM `doc_tbl`  WHERE `doc_id`  = '".$doc_id."'";

$res= mysql_query($qr)  or die("Error: " . mysql_error() . "<br />In Query: " . $qr);;
$i=0;
while($row = mysql_fetch_array($res))
{
    $doc_arr[$i]["doc_name"] = $row["doc_name"];
    $doc_arr[$i]["doc_family"] = $row["doc_family"];
    $doc_arr[$i]["doc_grade"] = $row["doc_grade"];
    $doc_arr[$i]["doc_specialy"]= $row["doc_specialy"];
    $doc_arr[$i]["doc_adress"] = $row["doc_adress"];
    $i++;
}
header('Content-type: application/json');
echo json_encode($doc_arr);
?>

最後にここに接続がありますconfigure.php

<?php
$cfg_server = "localhost";
$cfg_database   = "db_name";
$cfg_username   = "root";
$cfg_password   = "";

$conn = mysql_connect($cfg_server, $cfg_username, $cfg_password);
if($conn)
{
    if (!mysql_select_db($cfg_database))
    {
        die('Could not select Database: '.mysql_error());
    }
}
if (!$conn)
{
    die('Could not connect to Database: '.mysql_error());
}
?>

誰かが以前に同じ問題を抱えていますか?テーブルを使用する方が簡単な場合、テーブルではない週の要素ごとに日付列を表示する必要がありますか?しかし、テーブルに列の週次グループを表示する方法がわかりません!SQLクエリでデータごとにグループ化できますか?

ありがとう。

4

1 に答える 1

1

mySqlにはWeek関数があります。

クエリを:-に変更した場合

SELECT `res_date`,`res_time`, WEEK(res_date) AS `res_week` FROM `reserve_tbl` WHERE `doc_id` = '".$doc_id."'";

このフィールドを使用して、res_week各レコードを週番号で追跡できるため、前の週と次の週を表示できます。

于 2013-05-26T14:42:47.460 に答える