PDA

View Full Version : گفتگو: مقایسه دو کاراکتر یا رشته در مدیریت منو



kaktoosiii
شنبه 03 مرداد 1388, 23:55 عصر
من یه برنامه نوشتم برای مدیریت منو ها که اگه نام صفحه با نام منو همخونی داشت منو فعال باشه یعنی رنگش بشه مثلا سفید اما کار نمی کنه یعنی همش نامساوی میگیره حتی وقتی مستقیم مقایسه می کنم
این کدیه که نوشتم تو این کد title نام صفحه است و name هم نام منو
<ul id="top_nav">
<?php
$conn = db_connect();
$result = mysql_query("select * from tab");
$num= mysql_num_rows($result);
for($i=0; $i<>$num ;$i++)
{
$row= mysql_fetch_row($result);
$name =$row[0];
$ad =$row[1];

if($name==$title)
echo "<li class=\"active\"><a href=\"$ad \">$name</a></li>";
else
if($name <> $title)
echo "<li ><a href=\"$ad \">$name</a></li>";
}
?>
</ul>

raoufi
یک شنبه 04 مرداد 1388, 01:50 صبح
دوست عزیز یه مقداری کد هات مشکل داشت
به صورت زیر هم بهینه تره هم درست تره
فقط تابع db_connect چیه چنین تابع ای نداریم
مگر اینکه خود شما تعریف کرده باشی
اسکریپت شما به احتمال زیاد نمی تونه به دیتابیس وصل بشه
اگر کدتون کامل تره بگذاریدش


<ul id="top_nav">
<?php
$conn = db_connect();
$result = mysql_query("select * from tab");
while($row=mysql_fetch_row($result)){
$name =$row[0];
$ad =$row[1];
if($name==$title){
echo '<li class="active"><a href="'.$ad.'">'.$name.'</a></li>';
}elseif($name <> $title){
echo '<li><a href="'.$ad.'">'.$name.'</a></li>';
};
};
?>
</ul>

امیـرحسین
یک شنبه 04 مرداد 1388, 01:53 صبح
شما کدهاتون رو debug کنید ببینید مشکلش کجاست. یعنی مقدار name$ رو تو هر چرخش چاپ کنید ببینید چرا اینجوریه
غیر از اون title$ کجا تعریف شده؟

dannydolph
یک شنبه 04 مرداد 1388, 18:22 عصر
به نظر من کد ها مشکلی ندارن.اگه جاییش قرار باشه مشکل داشته باشه باید مقدار متغیر name باشه.چک کن ببین این متغیر(منظورم name) همون مقداری رو داره که باید داشته باشه؟منظورم اینه که row[0] رو درست داری انتخاب میکنی یا نه؟

kaktoosiii
یک شنبه 04 مرداد 1388, 20:49 عصر
تابع db_connect یه تابعه که خودم برای اتصال به دیتا بیس تعریف کردم و همه روش ها رو که گفتید رفتم حالا نمی دونم اشکال تو مقایسه است؟! یعنی باید هر دو تا رشته باشن که قابل مقایسه باشن تابعی هست که کاراکتر رو رشته تبدیل کنه؟!
ممنون

click2ir
یک شنبه 04 مرداد 1388, 22:29 عصر
شما کجا به
$title مقدار دادی
زمانی که به متغییری مقدار ندی مقدار اون با نال یکی میشه شما ابتدا مقدار
$title,$name رو جدا چاپ کن ببین یکی هستند یا نه اگر کدت فقط همین باشه مطمئن باش که مقدار title برابر null خواهد بود
اگر اشتباه می کنم دوستان بفرمایند