PDA

View Full Version : سوال: کاراکتر فاصله و بدبختی من



arslan tegin ghazi
پنج شنبه 30 تیر 1390, 10:05 صبح
جمیعا سلام .

این کد منه :



$con = mysql_connect("localhost","root","");
mysql_select_db("site", $con);
mysql_query("SET CHARACTER SET utf8");
$result = mysql_query("SELECT * FROM pages ORDER BY priority");
$i=0;
while($row = mysql_fetch_array($result))
{
$i++;
print "<div id='n".$i."'><p>".$row['title'].
" "."<a onclick=ust(".$i.",'".$row['title']."')>آپار اۈسته</a>"
." "."<a onclick=ashaghi(".$i.")>گه‌لتیر آشاغییا</a></p></div>";
}
mysql_close($con);

همان طور که مستحضر هستید این کد با ترتیب پریوریتی یک تعداد اسم صفحه را برای ما سطر به سطر چاپ می کند و رو برویشان هم برای هر کدام دو تا متن "آپار اوسته" و "گلتیر آشاغییا" می نویسد که در هنگام کلیک روی هر کدام از آنها یک تابع جاوا اسکریپت فراخوانی می شود .

مشکل من اینجا است که وقتی page ، title ای درونش کاراکتر فاصله موجود باشد این اتفاق می افتد :

حالت بدون کاراکتر فاصله (که درست است)(مجبور شده ام برای درست نشان داده شدن در این جا چند تا اینتر بزنم در کد سایت این طور نمی آید) :


<DIV id=n4>
<P>
یئنی‌لیک‌له‌ر
<A onclick="ust(4,'
یئنی‌لیک‌له‌ر
')">
آپار اۈسته
</A>
<A onclick=ashaghi(4)>
گه‌لتیر آشاغییا
</A>
</P>
</DIV>




حالت با کاراکتر فاصله(که نمی توانم حلش کنم) :


<DIV id=n1>
<P>
باش یاپراق
<A onclick="ust(1,'
باش" یاپراق?)>
آپار اۈسته
</A>
<A onclick=ashaghi(1)>
گه‌لتیر آشاغییا
</A>
</P>
</DIV>



دقت کنید که مشکل اون قسمتی است که من می خواهم تابع جاوا اسکریپت ust را با یک آرگومان با الفبای فارسی که درونش کاراکتر فاصله دارد فراخوانی کنم .(در مثال دوم که غلط می آورد تابع با مقدار "باش یاپراق" قرار است فراخوانی شود که ... )

کسی راه حلی برای جلوگیری از این اتفاق در هنگام آوردن کاراکتر فاصله دارد ؟ لطفا کمک کنید . ( در ضمن مشکل من شاید ربط کمی به پی اچ پی داشته باشد و بیشتر مشکل HTML باشد ولی چون دقیقا ندانستم این را کجا بزنم و پی اچ پی کار حتما HTML را فول بلد است ولی کسی که HTML را فول بلد است شاید پی اچ پی را بلد نباشد زدم اینجا . اگر واقعا بی ربط به این قسمت است مدیران بخش لطفا جایش را عوض کنند )

eshpilen
پنج شنبه 30 تیر 1390, 10:49 صبح
<script>
function ust(i, s) {
alert(i);
alert(s);
}
</script>
<?php
$row['title']='باش یاپراق';
$i=333;
echo " "."<a onclick=\"ust(".$i.",'".$row['title']."')\">آپار ا?سته</a>";
?>

arslan tegin ghazi
پنج شنبه 30 تیر 1390, 11:15 صبح
حیف که هر فرد فقط یک بار می تواند تشکر بزند !!! :لبخند: مگر نه ...