הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 24-02-08, 10:12   # 1
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

PHP | הצגת גלרייה בטבלה | איך?

שלום....אני בונה מערכת גלרייה תמונות...
כרגע אני עובד על עמוד הצגת הגלרייה...
עכשיו ככה...העניין הוא שאני רוצה שזה יוצג בטבלה...כך שבכל שורה (TR) יהיו 5 תמונות(TD).
את השורה הראשונה אני מצליח יפה מאוד...כי עשיתי שבשאילתה זה יציג רק 5 (limit 5).
אבל מכאן אני מסתבך....ניסיתי לעשות משתנה ספירה(counter) ובעזרתו לבדוק אני מאמין כבר שהבנתם את הנסיון שלי....אך זה לא כ"כ צלח....

אשמח אם תעזרו לי בעניין הזה כי זה טיפטיפה דחוף לי

הנה הקטע קוד הרלוונטי(זה שמציג את הגלרייה) :

PHP קוד:
<?
$res2 
mysql_query("SELECT * FROM `works` WHERE `work_cat_id`='".$row["work_cat_id"]."' ORDER BY `work_order` limit 5");
            while(
$row2 mysql_fetch_array($res2)) {



                
?>
        
<td align="center" valign="middle" style="padding-bottom: 10px;">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>
                <?


            
}
  Reply With Quote
ישן 24-02-08, 11:13   # 2
Qweb
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jan 2007
הודעות: 536

Qweb לא מחובר  

נסה את זה:

PHP קוד:
<?
$res2 
mysql_query("SELECT * FROM `works` WHERE `work_cat_id`='".$row["work_cat_id"]."' ORDER BY `work_order");
$i 0;
            while(
$row2 mysql_fetch_array($res2)) {
if(
$i%5==0) echo "</tr><tr>";



                
?>
        
<td align="center" valign="middle" style="padding-bottom: 10px;">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>
</td>
$i++;
}
                <?


            
}
__________________
בניית אתרים
  Reply With Quote
ישן 24-02-08, 11:39   # 3
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

זה לא עבד...זה בלגן טיפה את האתר...אולי זה בגלל שלא נתתי לך ממש את כל הקטע הרלוונטי(כולל תחילת הטבלה וסופה) אז הנה כל הקטע הרלוונטי:

PHP קוד:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>




        <?php

        $res 
mysql_query("SELECT * FROM `works_categories` WHERE `work_cat_id`='1' ORDER BY `work_cat_order` ASC");
        while(
$row mysql_fetch_array($res)) {

            
$res2 mysql_query("SELECT * FROM `works` WHERE `work_cat_id`='".$row["work_cat_id"]."' ORDER BY `work_order` limit 5");
            while(
$row2 mysql_fetch_array($res2)) {   ?>


<td align="center" valign="middle">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>
            
            <?
            
}

        }
        
        
?>







</tr>
</table>
יש שתי שאילתות....אחת לקטגוריות אחת לתמונות שבתוך אותה קטגוריה....

אשמח אם עכשיו תנסה לעזור=]
  Reply With Quote
ישן 24-02-08, 14:16   # 4
DavidBD
חבר על
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
גיל: 31
הודעות: 956

DavidBD לא מחובר  

אתה צריך להעלות כל פעם את I ב-1 , ולעשות כל פעם if שאם I שווה ל-5 אז שיאפס אותו ויעשה עוד TR..
__________________
דוד בן דוד.
  Reply With Quote
ישן 24-02-08, 15:03   # 5
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

ציטוט:
נכתב במקור על ידי DavidBD צפה בהודעה
אתה צריך להעלות כל פעם את I ב-1 , ולעשות כל פעם if שאם I שווה ל-5 אז שיאפס אותו ויעשה עוד TR..
אמרתי לך...ניסיתי לעשות משהו עם משתנה ספירה...אבל לא עשיתי את זה טוב כנראה...
בשביל זה שאלתי איך עושים...
תוכל לנסות לערוך את הקוד שנתתי בהודעתי האחרונה???
תודה רבה.

מתן.


עריכה:

תראו...הצלחתי עכשיו בעזרת משתנה ספירה לעשות שזה יעבור שורה...אבל זה עובר רק פעם אחת שורה זה הבעיה...
ז"א ששורה ראשונה הוא שם 5 תמונות....בתמונה ה 6 הוא קופץ לשורה הבאה בדיוק כמו שצריך...אבל בתמונה ה 11 זה לא קופץ שוב לשורה שלישית אלא ממשיך בשורה השנייה...

הקוד הוא:
PHP קוד:
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>




        <?php

        $res 
mysql_query("SELECT * FROM `works_categories` WHERE `work_cat_id`='1' ORDER BY `work_cat_order` ASC");
        while(
$row mysql_fetch_array($res)) {

        
$count 0;

            
$res2 mysql_query("SELECT * FROM `works` WHERE `work_cat_id`='".$row["work_cat_id"]."' ORDER BY `work_order`");
            while(
$row2 mysql_fetch_array($res2)) {   


                if(
$count == 5) {
            
?>

</tr><tr>
<td align="center" valign="middle">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>


            <?

                
} else {
            
?>
<td align="center" valign="middle" style="padding-bottom: 10px;">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>
            <?
                
}
        
$count $count 1;        

            }

        }
        
        
?>







</tr>
</table>
אשמח אם תנסו לעזור=]

Last edited by 0xfo7d; 24-02-08 at 15:23..
  Reply With Quote
ישן 24-02-08, 16:56   # 6
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

אני אסביר לך למה זה לא עובד, ומה לעשות, אבל את הקוד תכתוב בעצמך.

אתה אומר לו שאם זה שווה 5 - אז זה מוסזיף עוד TR.

אז הוא רץ, בודק, כשהוא מגיע ל-5 - הוא שם TR, מעלה ב-1. זה 6, ומכאן הוא בחיים לא יחזור ל-5 ויוסיף עוד TR.

יש לך אפשרות אחת - ברגע שזה 5, לא רק שזה מוסיף TR, זה גם מאפס את $i. אפשרות שניה היא להשתמש במודולו - שארית. מתי X / Y = שארית 0.
מתי מספר הניסיונות מתחלק ב-5.

25 &#37; 5 = 0
  Reply With Quote
ישן 24-02-08, 16:58   # 7
pirsomet
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 104

pirsomet לא מחובר  

אולי ככה?
קוד:
<table width="100&#37;" border="0" cellpadding="0" cellspacing="0">
<tr>




        <?php

        $res = mysql_query("SELECT * FROM `works_categories` WHERE `work_cat_id`='1' ORDER BY `work_cat_order` ASC");
        while($row = mysql_fetch_array($res)) {

        $count = 0;

            $res2 = mysql_query("SELECT * FROM `works` WHERE `work_cat_id`='".$row["work_cat_id"]."' ORDER BY `work_order`");
            while($row2 = mysql_fetch_array($res2)) {   


                if($count == 5) {
            ?>

</tr><tr>
<td align="center" valign="middle">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>


            <?

   $count = 0;

                } else {
            ?>
<td align="center" valign="middle" style="padding-bottom: 10px;">

<table style="width: 126px; height: 65px;margin: 0;border: 1px solid #D6D6D6;">
<tr>
<td style="width: 100%; height: 50px;margin: 0;" align="center" valign="middle"><img src="<? echo $row2['work_logo']; ?>" alt="<? echo $row2['work_name']; ?>" /></td>
</tr>
<tr>
<td style="width: 100%; height: 15px;margin: 0;" class="clientName"><? echo $row2['work_name']; ?></td>
</tr>
</table>

</td>
            <?
                }
        $count = $count + 1;        

            }

        }
        
        ?>







</tr>
</table>
  Reply With Quote
ישן 24-02-08, 17:02   # 8
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

חברה תודה רבה על היחס והנסיון לעזור...
את שתי התגובות האחרונות כבר לא הספקתי לנסות ולממש...זאת מכיוון שהסתדרתי...עזר לי מישהו במסנג'ר...
הטעות שלי הייתה שאת הבדיקה למשתנה ספירה שמתי מחוץ ללולאה=\

בכל אופן תודה רבה לכם.

יום טוב,
מתן.
  Reply With Quote
ישן 24-02-08, 18:06   # 9
Daniel
אחראי פורום
 
מיני פרופיל
תאריך הצטרפות: Mar 2007
הודעות: 2,875

Daniel לא מחובר  

ד"א, לאחר הסתכלות מהירה, הגעתי למסקנה שהיעילות בדבר הזה היא ממש גרועה, לדוגמא יש X עבודות? אז הוא צריך לעשות 2x שאילתות, אני בטוח שאת הכל היית יכול לצמצם ב-JOIN.
ואם אתה מתכוון להקים על זה אתר/לתת ללקוח, זה יכול להוות אלמנט מאוד מאוד חשוב.
  Reply With Quote
ישן 25-02-08, 15:20   # 10
0xfo7d
חבר בקהילה
 
מיני פרופיל
תאריך הצטרפות: Oct 2005
הודעות: 292
שלח הודעה באמצעות ICO אל 0xfo7d

0xfo7d לא מחובר  

ביטלתי את השאילתות הכפולות...מהסיבה שלא באמת הייתי צריך...אבל...באתרים אחרים אני כן אצטרך....איך אני מחבר בינהם?

מקווה שהייתי ברור...
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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