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

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

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 14-08-11, 14:31   # 1
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

עזרה דחופה במשהו פשוט!

אני מנסה להצגיע בטבלה פריטים שנשלפים מהמסד.
אני צריך שיהיו 4 בשורה ו5 שורות במאונך.
הוא מציג לי רק שורה אחת..
במקום להציג לי ככה:


* * * *
* * * *
* * * *
* * * *
* * * *

הוא מציג לי ככה:
* * * *


הנה הקוד:

PHP קוד:

$query_4 
mysql_query("SELECT * FROM businesses WHERE category = '$id' AND sub_category = '2'");
$i=1;
$g=1;
echo 
'<table style="margin-right:-15px; border: 1px silid red;">';
while (
$g!=6)
{
echo 
'<tr>';
while ((
$row_4=mysql_fetch_array($query_4)) && ($i!=5))
{
echo 
'
<td>
<div class="box_1">
<br />
<span class="title">' 
$row_4['title'] . '</span>
<br /><br />
<img src="http://t3.gstatic.com/images?q=tbn:ANd9GcT2t-3e3Y7po7HiaZIdB5NB6mOOWJuT7uOopfU2nAD7l_4PNADlLQ" style="margin-right: 25px;border: 1px solid #70059E; width:130px; height:120px; margin-top:15px;">
<br /><br />
<span class="text">' 
$row_4['text'] . '</span>
<br /><br />
<span class="price_title">מחיר: <span class="price">' 
$row_4['price'] . '</span></span>
<br />
<img src="more_d.png" style="margin-right: 45px; margin-top:5px; border: 0px;">
</td>
'
;
$i++;
}
echo 
'</tr>';
$g++;
}
echo 
'
</table>
'

דרך אגב הייתי חייב לעשות את זה בטבלה..
אני עשיתי את זה מאות פעמים..עכשיו משהו פשוט לא מסתדר..מוזר..
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 14-08-11, 16:49   # 2
dor77
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Jan 2008
הודעות: 1,650

dor77 לא מחובר  

הסתדרתי..לא איפסתי את המונה..חח
אי אפשר לערוך..לנעול בבקשה.
__________________
מתכנת php אמין ומקצועי.
מחירים נוחים!
יצירת קשר: 0544378743
  Reply With Quote
ישן 16-08-11, 18:58   # 3
Kfir.G
חבר וותיק
 
Kfir.G's Avatar
 
מיני פרופיל
תאריך הצטרפות: Dec 2005
הודעות: 1,059
שלח הודעה באמצעות ICO אל Kfir.G

Kfir.G לא מחובר  

אני יודע שזה קצת off topic אבל בגלל הדוגמת קוד שלך חשבתי שיהיה נחמד לתת לך כמה טיפים.

דבר ראשון השאילתה שלך. בחרת לכתוב אותה ישירות ולא להשתמש בכלי שבונה את השאילתה, שזאת החלטה מובנת, אם כי לדעתי לא אידאלית. בכל מקרה כדאי להקפיד על הזחות בשאילתות. נכון שבשאילתות קצרות כמו זאת שנתת כאן לא ממש מרגישים את ההבדל אבל כשתעשה שאילתות מורכבות יותר (עם תת שאילתות, joinים, תנאים וכד') אז זה בהחלט מורגש. חוץ מזה הייתי מציע לך לא להכניס את המשתנים בצורה ישירה כמו שעשית עם ID אלא בעזרת פונקציית עזר שעושה פילטר מסויים. ואחרי החפירה הקצרה הזאת הקוד:
PHP קוד:
<?php
// Your code
$query_4 mysql_query("SELECT * FROM businesses WHERE category = '$id' AND sub_category = '2'");

// My suggestion

// Build the query
$sqlGetBusinesses = <<<SQL
SELECT    *
FROM    `businesses`
WHERE    (`category` = %d) AND
    (`sub_category` = 2)
LIMIT    20
SQL;

// Add the parameters
$sqlGetBusinesses sprintf($sqlGetBusinesses$id);

// Execute the query
$qryGetBusinesses = @mysql_query($sqlGetBusinesses);

// Handle errors
if (!$qryGetBusinesses)
{
    
// error stuff here
}
else
{
    
// Processing here

    // Free memory
    
mysql_free_result($qryGetBusinesses);
}
?>
אני יודע שההזחות קצת נדפקו אבל זה בגלל העורך טקסט פה..
ועוד טיפ, לא כדאי לעשות SELECT *, תמיד כדאי לבחור רק את השדות שאתה באמת צריך, משיקולי ביצועים.

לדבר הבא, בPHP יש heredocs שהם דבר ממש נוח וטוב להדפסות כמו שעשית, וגם אם אתה רוצה לסגור ולפתוח תגי PHP זה די נוח..

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

ועוד דבר בPHP, כמו ברוב שפות העילית יש נושא של short-circuit evaluation. מה שזה אומר זה שהתנאי יבדק רק עד איפה שצריך כדי לדעת אם התוצאה שלו היא true או false. אני מציע לך לקרוא עוד קצת על האופרטורים באתר הרישמי.
http://php.net/manual/en/language.operators.logical.php
אם היית מחליף את הסדר של הבדיקות בלולאה הפנימית שלך היית חוסך קריאה מיותרת ל mysql_fetch_array.

ובסופו של דבר, כדאי לך לקרוא עם mysqli. מגיע היום בכל התקנה של PHP5 והוא טוב יותר מהפלאגין הרגיל של mysql.

מקווה שעזרתי במשהו..
__________________
פיג'מה
משחקים
  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. הזמן כעת הוא 12:46.

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