PDA

View Full Version : عدم نمایش چند سطر با id یکسان



majidariamanesh
سه شنبه 17 اردیبهشت 1392, 14:34 عصر
من از این کد استفاده میکنم برای اینکه چند ردیف از یک جدول رو بازیابی کنم که id یکسات داره

اما فقط سطر اول رو نشون میده!!!!!!!

primery key فقط id نیست و تو جدول چند خونه میتونند id یکسان داشته باشند
$dore= mysql_query("SELECT * FROM `learncours` WHERE `id`='$search'") or die(mysql_error());
while($dore = mysql_fetch_assoc($dore))
{
echo '<tr><td>'.$dore['subject'].'</td><td>'.$dore['hours'].'</td><td>'.$dore['begindate'].'</td><td width=\'100\'>'. $dore['enddate'].'</td><td>'.$dore['comment'].'</td></tr>';
}

MMSHFE
سه شنبه 17 اردیبهشت 1392, 15:08 عصر
یکبار با mysql_num_rows ببینید چند رکورد برگردونده شده. اگه یکی بود، مشکل رو باید توی طراحی دیتابیس یا خود کوئری جستجو کنید و حلقه while داره درست کار میکنه.

majidariamanesh
سه شنبه 17 اردیبهشت 1392, 15:18 عصر
2 تاست آقای مهندس
دو رکورد برمیگرده با این تابع که دادین اما یکیش چاپ میشه!

MMSHFE
سه شنبه 17 اردیبهشت 1392, 15:24 عصر
خوب دوست عزیز، دفعه اول که fetch میکنید، نتیجه رو دوباره میریزین توی dore$ و دیگه خروجی mysql_query توش نیست که بتونید دوباره fetch کنید!

majidariamanesh
سه شنبه 17 اردیبهشت 1392, 15:27 عصر
بله متوجه شدم :-| آخه واسه Select یک برگشتی همیشه این کارو میکردم عادت شده برام

ممنون آقای مهندس

id1385
سه شنبه 17 اردیبهشت 1392, 15:45 عصر
function GetLastItems($f,$b){
$OUTPUT = 'Up|';
if (isset($f) And isset($b)){
$STR_SQl = "SELECT * FROM nokat WHERE `FieldName` = '$f' AND `BookName` = '$b' ORDER BY `ID` DESC LIMIT 0 , 8";
$result=mysql_query($STR_SQl);
if($result) {
if(mysql_num_rows($result) > 0 ){
while ($arow = mysql_fetch_array( $result ) )
{
$OUTPUT .=$arow['ID'].":".$arow['FieldName'].":".$arow['BookName'].":".$arow['SectionName'].":".$arow['TextValue'].":#";
}
echo $OUTPUT;
} else {echo 'Zero|<b>بدون مورد ؛ </b> هیچ موردی یافت نشد ';}
}
} else{
echo 'Not define'; exit(); }

}



موفق باشید

MMSHFE
سه شنبه 17 اردیبهشت 1392, 15:53 عصر
این الآن چی بود؟!

id1385
سه شنبه 17 اردیبهشت 1392, 22:25 عصر
نمونه - sample:بوس: