0

診療時間の開始日と終了日を選択できるカレンダーを作成したいと考えています。このカレンダーは、毎週の標準スキームとして使用されます。例http://www.restaurantterpolder.be/wachtkamer/vast.php

標準では、セルをクリックする場合を除いて、プラクティスは常に閉じられています。次に、これがデータベースに書き込まれます: tbl_open(ID, Weekday, Moment_ID, Doctor_ID)。これは毎週のスキームなので、「日付」の代わりに「平日」を使用します。

一番下のセルを変更すると、リロードのたびにページがジャンプしてしまい、かなり面倒です。そこで、Ajax を使用してセルをリロードできると考えました。

- スクリプトを呼び出すページ上のイベント -> onClick=getInfo(this.id);. これは、ハイパーリンクをクリックしたときに呼び出す必要があります。- xml ファイルからコンテンツを取得できる js ファイル - 1) データを保存する 2) 新しい日付をロードする 3) xml ファイルを作成する js ファイルから呼び出される php ファイル

私は今のところ正しいですか?

私はこのように始めようとします:

<a onClick="getInfo(this.id);" id="tbl_close_id"><img ... /></a>

アヤックス

var xmlHttp

//gegevens verzamelen om de juiste info uit de database te kunnen halen
function showInfo(str)
{ 
    xmlHttp=GetXmlHttpObject()
    if (xmlHttp==null)
{
         alert ("Browser does not support HTTP Request")
return
}

var url="responsexml_calendar.php"
url=url+"?q="+str
url=url+"&sid="+Math.random()
xmlHttp.onreadystatechange=stateChanged 
xmlHttp.open("GET",url,true)
xmlHttp.send(null)
}

//info is uit de database gehaald en wordt nu in het formulier geplaatst
function stateChanged() 
{ 
if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
{ 
        xmlDoc = xmlHttp.responseXML;
        document.getElementById("class").value = xmlDoc.getElementsByTagName("class")[0].childNodes[0].nodeValue;
        document.getElementById("link").value = xmlDoc.getElementsByTagName("link")[0].childNodes[0].nodeValue;
}
}

function GetXmlHttpObject()
{
var objXMLHttp=null
if (window.XMLHttpRequest)
{
    objXMLHttp=new XMLHttpRequest()
}
else if (window.ActiveXObject)
{
    objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP")
}
return objXMLHttp
}

その日に練習が開いているか閉じているかを確認するPHPファイル:

//SAVE OR DELETE DATA IN DATABASE FIRST (still need to code this)

header('Content-Type: text/xml');
header("Cache-Control: no-cache, must-revalidate");

$query = 'SELECT ID
    FROM tbl_open
    WHERE ID = '.$q.'

$result = mysql_query($query) or die('foutmelding query ajax');

if (mysql_num_rows($result) > 0)
{
    $class = 'class = "normal"';
    $link = '<a onClick="getInfo(this.id);" id="tbl_close_id"><img ... /></a><img src="./img/edit.png" /></a>'. PHP_EOL;
}
else
{
    $class = 'class="unavailable"';
    $link = '<a onClick="getInfo(this.id);" id="tbl_close_id"><img ... /></a><img src="./img/edit.png" /></a>'. PHP_EOL;
}

echo '<?xml version="1.0" encoding="ISO-8859-1"?>
<info>';
    echo "<class>" .$class. "</class>";
    echo "<link>" .$link. "</link>";
echo "</info>";
?>
4

1 に答える 1