PDA

View Full Version : طرز گزاشتن شرط برای یک مقدار در دیتا بیس



hamidhassas
دوشنبه 19 دی 1390, 10:45 صبح
من در دیتابیس خود یک فیلد با نامه edame دارم که فقط مقدار 1 یا 0 در داخل آن است میخواهم یک شرط تعیین کنم که اگر در این فیلد مقدار 1 بود با دستور print بنویسه ادامه مطلب و اگر مقدار 0 بود هیچ چیزی با دستور print ننویسه.

اگه امکان داره توضیح هم بدین تا بتونم یاد بگیرم که چطوری چنین شرط هایی را بنویسم
ممنون

soroush.r70
دوشنبه 19 دی 1390, 10:55 صبح
می تونی داخل دیتابیس خودت یه فیلد به نام active اضافه کنی و با طول 1 و مقدار پیش فرض 0 و دستور sql خودتو به این صورت بنویس.
$sql="select * from tbl_name where active='1' ";

با این کار زمانی که داخل فیلد active مقدار 1 بود نمایش می ده و اگر صفر بود هیچ اتفاقی نمی افته.

hamidhassas
دوشنبه 19 دی 1390, 12:25 عصر
می تونی داخل دیتابیس خودت یه فیلد به نام active اضافه کنی و با طول 1 و مقدار پیش فرض 0 و دستور sql خودتو به این صورت بنویس.
$sql="select * from tbl_name where active='1' ";

با این کار زمانی که داخل فیلد active مقدار 1 بود نمایش می ده و اگر صفر بود هیچ اتفاقی نمی افته.
ممنون از راهنمایی شما ولی من که سر در نیاوردم

من وقتی یک یک مطلب رو از فایل page1.php به دیتا بیس ارسال می کنم در فیلد edame در جدول دیتا بیس مقدار1 قرار می گیره و وقتی از فایل page2.php مطلب ارسال می کنم در فیلد edame مقدار 0 وارد میشه حالا در یک فایل دیگه به نام page3.php تمام رکورد های موجود در دیتابیس خودم رو نشون میدم که جلو هر رکورد میخوام بنویسم ادامه مطلب
حالا میخوام یک شرط بگزارم که اگر در هر رکورد فیلد edame مقدار 1 داشت در جلو اون رکورد کلمه ادامه مطلب رو بنویسه واگر مقدار 0 داشت چیزی ننویسه

همین

این توضیحی که دادین من نفهمیدم چون آشنایی با php خیلی ندارم تازه کارم

اگه امکان داره بیشتر توضیح بدین.

mtchabok
دوشنبه 19 دی 1390, 18:41 عصر
<?php
var $link, $result;
// $link => متغیر مربوط به اتصال با پایگاه داده
// $result => متغیر مربوط به نتیجه کوئری ارسال شده به پایگاه داده

while($row = mysql_fetch_assoc($result)){
// کدهای مربوط به نمایش هر مطلب
if($row['edame']===1) echo 'ادامه مطلب'; // کد تشخیص نمایش ادامه مطلب
}

hamidhassas
دوشنبه 19 دی 1390, 21:11 عصر
<?php
var $link, $result;
// $link => در اینجا کد مربوط به اتصال با پایگاه داده را بنویسم
// $result => متغیر مربوط به نتیجه کوئری ارسال شده به پایگاه داده یعنی چی میشه توضیح بدین

while($row = mysql_fetch_assoc($result)){
// کدهای مربوط به نمایش هر مطلب منظورتون همو کد هایی که با اون اطلاعات داخل دیتابیس رو میخونم اون هم کد فیلدی که در اون مقدار 0 و یا 1 قرار داره
if($row['edame']===1) echo 'ادامه مطلب'; // کد تشخیص نمایش ادامه مطلب چی هست
}

mtchabok
سه شنبه 20 دی 1390, 01:49 صبح
<?php
// $link این متغیر رو بیخیال شو چون من باهاش کاری ندارم و اشتباها نوشتم
// این متغیر در خط پائین نتیجه درخواستت از دیتابیس هس همونطوریکه میبینی
$result = mysql_query('select * from table');

// این خط پائین هم همون حلقه ای هس که مطالب رو لیست میکنی و نمایش میدی
while($row = mysql_fetch_assoc($result)){
// آره همونی که میگی درسته
// منظورم همون این هس که اگه فیلد ادامه 1 بود ادامه مطلب نوشته بشه
if($row['edame']===1) echo 'ادامه مطلب';
}

hamidhassas
پنج شنبه 22 دی 1390, 09:16 صبح
<?php
// $link این متغیر رو بیخیال شو چون من باهاش کاری ندارم و اشتباها نوشتم
// این متغیر در خط پائین نتیجه درخواستت از دیتابیس هس همونطوریکه میبینی
$result = mysql_query('select * from table');

// این خط پائین هم همون حلقه ای هس که مطالب رو لیست میکنی و نمایش میدی
while($row = mysql_fetch_assoc($result)){
// آره همونی که میگی درسته
// منظورم همون این هس که اگه فیلد ادامه 1 بود ادامه مطلب نوشته بشه
if($row['edame']===1) echo 'ادامه مطلب';
}

ممنون ولی یک مشکلی وجود داره
این کدی هست که خودم نوشتم




<?php
include '../Administrator/config.php';
connect($user,$pass,$Mydb);
mysql_query('SET NAMES \'utf8\'');
$read_sql= "select * from news ORDER BY id DESC LIMIT 0,6";
$tab=mysql_query($read_sql);
$row=mysql_fetch_array($tab);
mysql_close ($con);
?>
<table width="100%" height="100%" border="0">
<tr>
<td width="68%"><table cellspacing="0" cellpadding="0">
<TR>
<TD height="100%" width="100%"></TD>
</TR>
<TR align="right">
<td colspan="3"><h3><?php print "<a href=Text_News.php?m=$row[0]>ادامه مطلب</a>"?></h3></td>
</TR>
</table></td>


حالا مشکل اینجاست که کدی که من نوشتم شما رو از یک صحفه ای به یک صحفه دیگه هدایت می کنه و از طریق id که همون row$[0] است مطلب مورد نظر رو تشخیص داده و بعد نمایش میده در کدی که شما گذاشتین همچین حالتی وجود نداره یعنی میره داخل دیتابیس و جدول مورد نظر و فیلد edame فقط مقدار رو چک میکنه بینه آیا برابر 1 هست که بخواد کلمه ادامه مطلب رو نشون بده یا نه و نمیتونه اول از همه id مورد نظر به هر مطلب رو تشخیص بده و بعد بیاد مقدار 0و یا 1 رو از فیلد edame بگیره که بخواد ادامه مطلب رو نمایش بده.

djsaeedkhan
پنج شنبه 22 دی 1390, 09:25 صبح
با سلام
اینجا می تونی یه پروژه نمایش مطلب و ادامه مطلب رو پیدا کنی
http://barnamenevis.org/showthread.php?322029-%D8%B7%D8%B1%D8%B2-%D8%A7%DB%8C%D8%AC%D8%A7%D8%AF-%DB%8C%DA%A9-%D9%81%D8%B1%D9%85-%D8%AB%D8%A8%D8%AA-%D9%85%D8%B7%D9%84%D8%A8-%D9%88-%D8%A7%D8%AF%D8%A7%D9%85%D9%87-%D9%85%D8%B7%D9%84%D8%A8&p=1412990#post1412990

hamidhassas
جمعه 19 اسفند 1390, 23:49 عصر
پروژه ای که برای دانلود قرار گرفته است به درد من نمیخوره چون خودم هم همین جوری کد را نوشته بودم من میخوام کاری کنم که اگر مقداری در فیلد edame دیتابیس برابر 1 بود کلمه ادامه مطلب نمایش داده بشه و اگر 0 بود نمایش داده نشود و اگر نمایش داده شد به رکورد مربوطه لینک شه و بعد نمایش داده بشه که من تو این یک ماهه هرچی سعی کردم نشد.

کد من اینجوریه:





<html>
<body>
<?php
include 'config.php';
connect($username,$password,$Mydb);
$read_sql= "select * from news ORDER BY id DESC LIMIT 0,20";
//mysql_close ($con);
?>
<table width="100%" height="100%" border="0">
<tr>
<td width="70%"><p class="Text-Link"><?php
$result = mysql_query('select * from news');
while($row = mysql_fetch_assoc($result)){
if($row['edame']===1) echo '<a href=Text_News.php?m=$row[0]>ادامه مطلب</a>"?></p>';}
?>
</tr>
</table>
</body>
</html>

Reza1607
شنبه 20 اسفند 1390, 00:10 صبح
اين خط رو



if($row['edame']===1) echo '<a href=Text_News.php?m=$row[0]>ادامه مطلب</a>"?></p>';}

به اين صورت اصلاح كنيد

if($row['edame']===1) echo "<a href='Text_News.php?m=$row[0]'>ادامه مطلب</a></p>";}

hamidhassas
شنبه 20 اسفند 1390, 09:10 صبح
من کد را تغییر دادم و جواب داد ولی یک مشکل داره وقتی که === است جواب نمیده و وقتی فقط = است جواب میده اما دیگه کل رکورد ها رو نمایش میده

در زیر لینک دانلود کل سورس برنامه را گزاشتم اگه میشه دانلود کنید ببینید کجا و چرا مشکل داره

حجم: 2.52 کیلوبایت

http://hassas-computer.com/Download/PHP_Code.zip

loqmanh
شنبه 20 اسفند 1390, 09:33 صبح
من کد را تغییر دادم و جواب داد ولی یک مشکل داره وقتی که === است جواب نمیده و وقتی فقط = است جواب میده اما دیگه کل رکورد ها رو نمایش میده

در زیر لینک دانلود کل سورس برنامه را گزاشتم اگه میشه دانلود کنید ببینید کجا و چرا مشکل داره

حجم: 2.52 کیلوبایت

http://hassas-computer.com/Download/PHP_Code.zip

این دو خط رو به صورت زیر اصلاح کنید:

خط 32 از فایل Archive_Preview.php در قسمت شرط حلقه while:



while ($row=mysql_fetch_array($tab, MYSQL_BOTH))


خط 40 از فایل Archive_Preview.php در قسمت شرط if:



<?PHP if($row['edame_matlab']==1) echo "<a href='Edit_Record.php?h=$row[0]'>ادامه مطلب</a>"; ?>

hamidhassas
یک شنبه 21 اسفند 1390, 00:07 صبح
یک دنیا ممنون