הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   שליפה בלולאה (https://hosts.co.il/forums/showthread.php?t=95427)

dor77 10-02-12 23:28

שליפה בלולאה
 
שלום.
אני רוצה לשלוף למשל כותרת של מאמר, בלולאה כלשהי.
עכשיו נגיד ואני מציג את הכותרת בתוך li, רשימה.
אני רוצה שהוא יציג לי יותר מכותרת אחת בכל li, למשל ככה זה עכשיו:


$news = mysql_query("SELECT * FROM tutorials ORDER BY id DESC");
PHP קוד:

while($rows_news mysql_fetch_assoc($news)){ 
echo 

<li>                         
<a href="tutorial/'
.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br /> 
<a href="tutorial/'
.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br /> 
<a href="tutorial/'
.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br /> 
</li> 
'





אני רוצה שזה יציג 3 אחד אחרי השניף כלומר נגיד ויש לי li, אני רוצה שבכל li הוא יציג לי 3 כותרת שנשלפו מהמסד, אחד אחרי השני.
נגיד ויש במסד את הכותרת האלה:

אחד
שתיים
שלוש

ואני עושה לולאה ששולפת כותרת מהמסד, אני רוצה שבכל "סיבוב" של הלולאה הוא יוציא 3 מהמסד.
כלומר אם אני מציג את הכותרת, אני לא רוצה שהוא יציג:

אחד
אחד
אחד

אני רוצה שהוא יציג

אחד
שתיים
שלוש

תודה.

Tomer 11-02-12 03:11

PHP קוד:

echo "<li>";
while (
$rows_news mysql_fetch_assoc($news)){  
echo 
'<a href="tutorial/'.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br />';
}
echo 
"</li>"


dor77 11-02-12 03:30

לא..אני צריך שli יודפס כל לולאה..
בכל הרצה של הלולאה יהיה li אחד ובתוכו 3 קישורים שונים.

תודה!

kobisl 11-02-12 03:47

תנסה את זה:
PHP קוד:

for($n=mysql_num_rows($news)/3;$n>=0;$n--)

echo 
' <li>  ';
for(
$i=0;$i<3&&$rows_news =  mysql_fetch_assoc($news);$i++)                    
echo
'<a href="tutorial/'.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br /> ';
echo 
' </li>  ';


או
PHP קוד:

while($rows_news =  mysql_fetch_assoc($news))

echo 
' <li>  ';
for(
$i=0;$i==0||$i<3&&$rows_news =  mysql_fetch_assoc($news);$i++)
echo
'<a href="tutorial/'.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br /> ';
echo 
' </li>  ';



dor77 11-02-12 04:35

תודה רבה אבל היו לך שני בעיות (איזה חוצפן אני, אתה עזרת לי ואני מתקן אותך חח)..בfor הראשון שכחת לסים $ ב-n, לסמן אותו כמשתנה.
בfor השני, שרצית לבדוק את שני התנאים, עשיתי && אבל לא תחמת אותם בסוגריים..
עשיתי את שני הדברים הללו ועכשיו זה עובד..
ככה זה נראה עכשיו:


PHP קוד:


for($n=mysql_num_rows($news)/3;$n>0;$n--)

echo 
' <li>  ';
for(
$i=0;($rows_news =  mysql_fetch_assoc($news))&&($i<=2);$i++)                   
echo 
'<a href="tutorial/'.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br />';
echo 
' </li>  ';


צדקתי או שאני סתם מבלבל? כי זה עובד עכשיו.

תודה רבה!!

kobisl 11-02-12 04:42

שים את ה ($i<=2) לפני ההצבה של המערך שלא תאבד נתונים...
עדיף שתשתמש בקוד השני שנתתי לך (תתקן אותו אם צריך סוגריים וכאלה)
שמחתי לעזור =]

dor77 11-02-12 05:07

לא הבנתי..מה לשים מה לפני ולמה?
אני משתמש בקוד השני..

SniR-S 11-02-12 13:21

למה שלא תעשה את זה ככה
PHP קוד:

echo '<li>';

    
$i 0;
    
$num mysql_num_rows($news);
    while(
$rows_news mysql_fetch_assoc($news))
    {
        
$i++;
        <
a href="tutorial/'.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br />

        if (
$i%3==&& $index%$num != 0)
        {
            echo 
'</li>\r<li>';
        }
    }

echo 
'</li>'


mmh 12-02-12 22:58

הכי פשוט וטוב:
PHP קוד:

<?php
    $news 
mysql_query("SELECT * FROM tutorials ORDER BY id DESC;");
    
$count=0;
    while(
$rows_news mysql_fetch_assoc($news)){
        
$count++;
        if(
$count%3==0)
            echo 
'<li>';
        echo 
'
        <a href="tutorial/'
.$rows_news['id'].'/'.$rows_news['url_title'].'">'.$rows_news['title'].'</a><br /><br />';
        if(
$count%3==0)
            echo 
'</li>';
    }



כל הזמנים הם GMT +2. הזמן כעת הוא 04:31.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ