kamalhamidi
جمعه 27 آبان 1390, 19:04 عصر
سلام
من دوتا تیبل دارم که توی هر کدوم اطلاعات مختلفی قرار داره!
کاری که من میخوام بکنم اینه که مثلا 10 تا از فیلدهای تیبل اول رو انتخاب کنم و با استفاده از اطلاعات فیلدهای همان تیبل، بیام و یک فیلد از تیبل دوم رو انتخاب کنم. (البته در صورت وجود داشتن فیلد مورد نظر توی تیبل دوم)
کد من به صورت زیره:
SELECT `om_manga`.`link`,
`om_manga`.`cover`,
`om_manga`.`manganame`,
`om_chapter`.`chapter`,
`om_chapter`.`volume`
FROM `om_manga`,`om_chapter`
WHERE `om_chapter`.`manganame` = `om_manga`.`link`
AND `om_manga`.`Active`='1'
ORDER BY `om_manga`.`viewed` DESC
LIMIT 10
این کد میاد فیلدهای تیبل اول رو انتخاب میکنه و بعد به اندازه فیلدهای تیبل دوم ادامه شون میده!
مثلا اگه توی تیبل دوم چهارتا فیلد مربوط به تیبل اول داشتم، کد بالا میادی چهارتا فیلد رو انتخاب میکنه.. در حالی که من میخوام از تیبل دوم فقط یک فیلد انتخاب کنه و از تیبل اول به اندازه تعداد limit ها.
از LEFT JOIN هم استفاده کردم اما باز نتیجه یکی بود!
کد معمولی php من به صورت زیره:
$query = mysql_query("SELECT `link`,`cover`,`manganame` FROM `om_manga` WHERE `Active`='1' ORDER BY `viewed` DESC LIMIT ".$options['number_of_popular_manga']); //
while($row = mysql_fetch_array($query)){
$rww = mysql_fetch_array(mysql_query("SELECT `chapter`,`volume`,`manganame` FROM `om_chapter` WHERE `manganame`='".sql_quote($row['link'])."' AND `Active`='1' ORDER BY `etime` DESC LIMIT 1")); //
if (isset($rww['chapter'])) $volchap = '<a href="read.php?manga='.$row['link'].'&chap='.$rww['chapter'].'">Vol.'.$rww['volume'].' CH.'.$rww['chapter'].'</a>'; else $volchap = '';
echo '<li class="index-right-ul-li"><img onerror="this.src=\'images/noimage.jpg\'" src="images/info/'.$row['cover'].'" width="30" height="33"/><div class="index-right-ul-div"><p class="index-right-ul-div-tital"><a href="manga.php?manga='.$row['link'].'">'.htmlspecialchars($row['manganame'], ENT_QUOTES).'</a></p><p class="index-right-ul-div-chapter">'.$volchap.'</p></div></li>';
}
حالا من چیکار کنم که به جای استفاده از دوتا کوری از یک کوری توی کد بالا استفاده کنم!؟
تشکر!
من دوتا تیبل دارم که توی هر کدوم اطلاعات مختلفی قرار داره!
کاری که من میخوام بکنم اینه که مثلا 10 تا از فیلدهای تیبل اول رو انتخاب کنم و با استفاده از اطلاعات فیلدهای همان تیبل، بیام و یک فیلد از تیبل دوم رو انتخاب کنم. (البته در صورت وجود داشتن فیلد مورد نظر توی تیبل دوم)
کد من به صورت زیره:
SELECT `om_manga`.`link`,
`om_manga`.`cover`,
`om_manga`.`manganame`,
`om_chapter`.`chapter`,
`om_chapter`.`volume`
FROM `om_manga`,`om_chapter`
WHERE `om_chapter`.`manganame` = `om_manga`.`link`
AND `om_manga`.`Active`='1'
ORDER BY `om_manga`.`viewed` DESC
LIMIT 10
این کد میاد فیلدهای تیبل اول رو انتخاب میکنه و بعد به اندازه فیلدهای تیبل دوم ادامه شون میده!
مثلا اگه توی تیبل دوم چهارتا فیلد مربوط به تیبل اول داشتم، کد بالا میادی چهارتا فیلد رو انتخاب میکنه.. در حالی که من میخوام از تیبل دوم فقط یک فیلد انتخاب کنه و از تیبل اول به اندازه تعداد limit ها.
از LEFT JOIN هم استفاده کردم اما باز نتیجه یکی بود!
کد معمولی php من به صورت زیره:
$query = mysql_query("SELECT `link`,`cover`,`manganame` FROM `om_manga` WHERE `Active`='1' ORDER BY `viewed` DESC LIMIT ".$options['number_of_popular_manga']); //
while($row = mysql_fetch_array($query)){
$rww = mysql_fetch_array(mysql_query("SELECT `chapter`,`volume`,`manganame` FROM `om_chapter` WHERE `manganame`='".sql_quote($row['link'])."' AND `Active`='1' ORDER BY `etime` DESC LIMIT 1")); //
if (isset($rww['chapter'])) $volchap = '<a href="read.php?manga='.$row['link'].'&chap='.$rww['chapter'].'">Vol.'.$rww['volume'].' CH.'.$rww['chapter'].'</a>'; else $volchap = '';
echo '<li class="index-right-ul-li"><img onerror="this.src=\'images/noimage.jpg\'" src="images/info/'.$row['cover'].'" width="30" height="33"/><div class="index-right-ul-div"><p class="index-right-ul-div-tital"><a href="manga.php?manga='.$row['link'].'">'.htmlspecialchars($row['manganame'], ENT_QUOTES).'</a></p><p class="index-right-ul-div-chapter">'.$volchap.'</p></div></li>';
}
حالا من چیکار کنم که به جای استفاده از دوتا کوری از یک کوری توی کد بالا استفاده کنم!؟
تشکر!