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

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

CodeX 20-12-08 22:08

[בעיה] לא מוצא את השגיאה..
 
שמעו חברים,
לפני הרבה זמן בניה עזר לי ונתן לי את הפונקציה:
http://www.hosts.co.il/forums/showpo...48&postcount=5

עכשיו שאני מנסה להשתמש בה, היא שולפת מהמסד פשוט את השורה האחרונה, ולא את כל השורות!
זה מעצבן לאללה...

למי ששואל, המטרה שלי שזה ישלוף את כל הנתונים אבל אחרי כל נתון יבוא פסיק חוץ מהאחרון, יענו שזה יצא ככה:

ציטוט:

א,ב,ג,ד
ולא ככה:

ציטוט:

א,ב,ג,ד,
ניסיתי להשתמש בזה ככה וזה פשוט לא הולך =\

PHP קוד:

    $qgenr mysql_query("SELECT * FROM contents Where id=$id") or exit(mysql_error()); 

    
$genrs = array();

    while(
$rgenr mysql_fetch_assoc($qgenr)) { 

        
$query2 mysql_query("SELECT * FROM genr Where mid='{$rgenr['id']}'") or exit(mysql_error()); 
        
$row2 mysql_fetch_assoc($query2); 
        
$genrs []= $row2['genr'];

    } 

echo 
implode(", "$genrs); 

הוא מציג לי רק נתון אחד שיש כמה נתונים נוספים במסד..


תודה רבה לעוזרים

Jerba 20-12-08 22:24

תשלוף הכל ותוריד את התו האחרון , מה אתה מסתבך חח..

או שלא הבנתי מה אתה מנסה לעשות :O

CodeX 20-12-08 22:26

וגם החרא הזה לא הולך לי הרגע ניסיתי

PHP קוד:

    $qgenr mysql_query("SELECT * FROM genr Where mid=$id") or exit(mysql_error()); 

    while(
$rgenr mysql_fetch_array($qgenr)) { 

    
$genrs $rgenr['genr']; 

$a "$genrs, ";

$e strlen($a); 

$rest substr($a0,$e-2);

    echo 
"$rest"

    } 

זה מוריד לי את שני התווים האחרונים (כמו שרציתי כי זה רווח ופסיק), אבל מכל הנתונים! אני רוצה רק מהאחרון סעמק..


עוד ניסיון שלא הצליח =\

PHP קוד:

    $qgenr mysql_query("SELECT * FROM genr Where mid=$id") or exit(mysql_error()); 
    
$ngenr mysql_num_rows($qgenr);
    
$xgenr 0;

    while(
$xgenr<$ngenr) { 

    
$rgenr mysql_fetch_array($qgenr);
    
$genrs $rgenr['genr']; 
    
$genrs "$genrs, ";

    if (
$xgenr == $ngenr) {

    
$e strlen($genrs); 
    
$genrs substr($genrs0,$e-2); 

    }

    echo 
"$genrs"

    
$xgenr++;

    } 


NaFster 20-12-08 22:56

היה על זה אשכול בפורום לפני איזה חודש,
כדאי להציץ בחיפוש =]

CodeX 20-12-08 23:37

ציטוט:

נכתב במקור על ידי NaFster (פרסם 687944)
היה על זה אשכול בפורום לפני איזה חודש,
כדאי להציץ בחיפוש =]

תאמת חיפשתי ולא מצאתי כלום .. =\


עריכה:

הצלחתי לפתור תבעיה, איזה מטומטם על מה נפלתי..

PHP קוד:

    $qgenr mysql_query("SELECT * FROM genr Where mid=$id") or exit(mysql_error());  
    
$ngenr mysql_num_rows($qgenr); 
    
$xgenr 1

    while(
$xgenr<=$ngenr) {  

    
$rgenr mysql_fetch_array($qgenr); 
    
$genrs $rgenr['genr'];  
    
$genrs "$genrs, "

    if (
$xgenr == $ngenr) { 

    
$e strlen($genrs);  
    
$genrs substr($genrs0,$e-2);  

    } 

    echo 
"$genrs";  

    
$xgenr++; 

    } 

למי ששואל
PHP קוד:

$xgenr 

ולא 0, והתנאי הוא
PHP קוד:

$xgenr<=$ngenr 

ולא גדול מ...

Jerba 21-12-08 07:46

בקוד שהבאת שאמרת שזה מוריד שני תווים :

PHP קוד:

    $e strlen($genrs); 
    
$genrs substr($genrs0,$e-2); 

למה מינוס 2? מינוס 1 אמור לעשות את העבודה הפרמטר השני זה הגבול כולל (!!) בהצלחה

Shay Ben Moshe 21-12-08 14:49

למה ה:
Where id='{$row7['advid']}'
במקום זה שים:
ציטוט:

ORDER BY User asc
אם מסתבך צור קשר, פרטים בחתימה.


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

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