PDA

View Full Version : توضيح خط كد زير



soonami
یک شنبه 30 مهر 1391, 14:01 عصر
كد زير به زبان ajax كه در php و html است فعلا صفحه html ‌مي زارم و سوالم رو مي پرسم بعدا مجدد مزا حم

مي شوم


xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();


<html>
<head>
<script>
function showHint(str)
{
if (str.length==0)
{
document.getElementById("txtHint").innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById("txtHint").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","gethint.php?q="+str,true);
xmlhttp.send();
}
</script>
</head>
<body>

<p><b>Start typing a name in the input field below:</b></p>
<form>
First name: <input type="text" onkeyup="showHint(this.value)" size="20" />
</form>
<p>Suggestions: <span id="txtHint"></span></p>

</body>
</html>


اسم فايلي كه گفته با پسوند php هست ميخواهم مفهوم كد رو بدونم

soonami
یک شنبه 30 مهر 1391, 15:22 عصر
دوست عزيز خودم ميدونم گفتم كه اگر با دقت مي خوندي


xmlhttp.open("GET","gethint.php?q="+str,true);ميخ واستم بدونم اين دستور چي كار ميكنه حالا ميخواهد فايل a. php يا هر چيزه ديگري باشه ‌:دي

ديگه اينا رو ميدونم

مثلا اين جا 4 و 200 چي هست من آشنايي به ajax ندارم اگر مقدوره كد ها رو يكبار توضيح بدهيد

يه چيز هايي فهميدم ها ولي مي خوام بيشتر متوجه بشم

در ضمن كد زير




if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))



اول به حروف كوچك تبديل ميك ند بع د با ه ممقايسه ميكند

كه هرچي داخل [i]
a
از اولي كاركتر به اندازه طول متغيرر q جدا ميكند

درست گفتم ؟؟؟؟؟؟؟

soonami
یک شنبه 30 مهر 1391, 23:24 عصر
<?php
$q=$_GET["q"];

$xmlDoc = new DOMDocument();
$xmlDoc->load("cd_catalog.xml");

$x=$xmlDoc->getElementsByTagName('ARTIST');

for ($i=0; $i<=$x->length-1; $i++)
{
//Process only element nodes
if ($x->item($i)->nodeType==1)
{
if ($x->item($i)->childNodes->item(0)->nodeValue == $q)
{
$y=($x->item($i)->parentNode);
}
}
}

$cd=($y->childNodes);

for ($i=0;$i<$cd->length;$i++)
{
//Process only element nodes
if ($cd->item($i)->nodeType==1)
{
echo("<b>" . $cd->item($i)->nodeName . ":</b> ");
echo($cd->item($i)->childNodes->item(0)->nodeValue);
echo("<br />");
}
}
?>

كد زيرم توضيح بدهيد بيشتر ajax هست نميد ونم چي به چي هست

لطفا يه منبعه مهم و كاربردي
براي يادگيري اي جكس تو php بكنيد

mohsenw700
دوشنبه 01 آبان 1391, 02:27 صبح
کدی که در پست بالا گذاشته اید برای خواندن فایل xml است که اگر توجه کنید روش های متفاوتی برای خواندن فایل های xml است در این روش بالا خط به خط المان های فایل xml خوانده می شوند بعد زیر شاخه های آن و ... و سپس اطلاعای را به آن اضافه می کند.
ارتباطی با ajax نداره ...

Unique
دوشنبه 01 آبان 1391, 04:19 صبح
كد زير به زبان ajax
ajax زبان نیست ! به زبان ساده تکنولوژی استفاده از xml و javascript برای دریافت و پردازش خروجی یک cgi را میگویند.


xmlhttp.open("GET","gethint.php?q="+str,true);
این خط میخواد یک درخواست get برای اسکریپت مورد نظر انجام بده


xmlhttp.readyState==4 && xmlhttp.status==200
readystate وضعیت دریافت اطلاعات بررسی میکنه که آیا به صورت کامل دریافت شده یا نه !
در هر درخواستی که برای وب سرور ارسال میشه در response یا همون پاسخ یک کد به مرورگر ارسال میشه که نشون دهنده وضعیت هست و status == 200 یعنی اینکه بدون هیچ مشکلی مرورگر نتیجه اسکریپت را از وب سرور دریافت کرده و مثلا خطای 404 و غیره نبوده !

بهتره بجای استفاده از کدهای اینجوری از jquery برای ajax استفاده کنید تا کدهاتون استاندارد تر و خوانا تر باشه.

soonami
دوشنبه 01 آبان 1391, 10:05 صبح
بهتره بجای استفاده از کدهای اینجوری از jquery برای ajax استفاده کنید تا کدهاتون استاندارد تر و خوانا تر باشه

يعني چي ؟؟؟؟؟؟

منظورتون نفهميدم ميشه بهتر توضيح دهيد ؟؟

Unique
سه شنبه 02 آبان 1391, 02:02 صبح
دوست عزیز کدی که شما گذاشتین از نظر ساختاری درست یا غلط سلسله مراتبش زیاده ! میشه اینطوری کدنویسی کرد اما در این دوره هیچ برنامه نویس عاقلی این کار را نمیکنه (مگه اینکه حجم صفحات خیلی مهم باشه که اونم با gzip و تکنیک های دیگه قابل بهتر شدن هست) بلکه میاد از javascript framework ها مثل jquery یا mootools یا midori یا rico استفاده میکنه تا خیلی از کار های پر دردسر و پیچیده را در javascript با یکی دو خط به راحتی انجام بده !

شما یک جستجوی در مورد jquery بکنید و مقالات فارسی و لاتین و حتی documentation موجود در سایت را بخونید متوجه راحتی های کار خواهید شد.