לוגו אתר Fresh          
 
 
  אפשרות תפריט  ראשי     אפשרות תפריט  צ'אט     אפשרות תפריט  מבזקים     אפשרות תפריט  צור קשר     חץ שמאלה ‎print ‎"Hello World!"; if‎ ‎not rules.‎know ‎then rules.‎read(); חץ ימינה  

לך אחורה   לובי הפורומים > מחשבים > תכנות ובניית אתרים
שמור לעצמך קישור לדף זה באתרי שמירת קישורים חברתיים
תגובה
 
כלי אשכול חפש באשכול זה



  #1  
ישן 27-01-2008, 14:49
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
איך שמים בגלריה בPHP תמונה ביעילות, ועזרה בכתיבת קוד PHP של משהו נוסף.

שלום,

1. יש לי גלריה אלקטרונית שכל אחד יכול להעלות תמונות וכו'. אני כבר שעה שובר את הראש לגבי הביצוע של דירוג במערכת שלי עבור כל אחד.
אז מה שקורה כרגע, זה שיש לי בטבלה בMYSQL שתי שדות.
הראשונה: rank - מכיל את ההצבעות, ז"א שנגיד אני הצבעתי 4 ואחר הצביע 3 אז יהיה כתוב כאן 7.
השניה: ranker - מכיל את הגולשים שדרגו, ז"א שנגיד 2 הצביעו אז יהיה כתוב 2.
מה שקורה רציתי שהוא יעשה פעולת חילוק, rank לחלק לranker. עכשיו כמה בעיות:
א. אם הRANK הוא 0 אז יש בעיה בחילוק כי 0 לחלק למשהו יוצא תרגיל לא הגיוני. ככה שזו בעיה ראשונה.
ב. הבעיה שלי היא הסימון של כוכבים, אני רוצה לעשות תמונות שהם כוכבים והבעיה שיש לי בעיה של דיוק, אני רוצה שבין 0 ל0.5 יהיה חצי כוכב מלא והשאר ריקים. שיהיה הכי הרבה 5 כוכבים עם רמת דיוק של חצי.
איך אפשר לעשות זאת שהוא יראה כוכב או חצי כוכב בתמונה?
ג. אני רוצה לעשות שאם אתה עובר על זה זה יסמןכמה שאתה רוצה שהוא יצביע, ואז הוא יבטל את הקטע של הסימון כוכבים.

2. בגלריה, שכל אחד מעלה תמונה, אני רוצה שבצפייה הוא יראה לי את זה בגודל מסוים, גג 400 על 400 פיקסלים, ובלי שהוא יעוות את התמונה שיעשה הכל יחסי, ז"א שאם צריך להגדיל הוא יגדיל ואם להקטין אז הוא יקטין.
קחו כמה דוגמאות:
- תמונה במצב ראשוני, גובה 200, רוחב 180. לאחר שינוי: גובה 400, רוחב 360. ושזה יהיה בטבלה. והשטח הריק יהיה הרקע של הטבלה (לא חשוב.) - פה יש פעולה של הגדלה.
- תמונה במצב ראשוני, גובה 450, רוחב 400. לאחר שינוי: גובה 400, רוחב 355. פה יש פעולה של הקטנה.

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

תודה,
יובל.

נ.ב.
http://www.fresh.co.il/vBulletin/showthread.php?t=3005
זה משהו דומה, אבל לא מה שהתכוונתי, כי כאן זה חותך שאריות של התמונה, ואני לא רוצה שהוא יחתוך את השאריות או יצור קובץ חדש, אני רוצה שהוא יתאים לגודל בלי למתוח ואם יהיו שאריות אז הוא לאיחתוך אותם, מקווה שהבנתם..

נערך לאחרונה ע"י YuviAS בתאריך 27-01-2008 בשעה 15:01.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #2  
ישן 27-01-2008, 15:57
צלמית המשתמש של Nati323
  משתמש זכר Nati323 Nati323 אינו מחובר  
 
חבר מתאריך: 25.10.05
הודעות: 1,508
בתגובה להודעה מספר 1 שנכתבה על ידי YuviAS שמתחילה ב "איך שמים בגלריה בPHP תמונה ביעילות, ועזרה בכתיבת קוד PHP של משהו נוסף."

כאשר 0 הוא המחלק ולא המחולק אין בעיה במשוואה, אם תעשה 0 לחלק אחד התוצאה תהיה אפס, יש בעיה כאשר מחלקים ב 0.
בקשר לחצי כוכב אתה יכול לעשות לולאה(עם תנאי שכל עוד הממוצע גדול או שווה ל1) שתוריד 1 בכל סיבוב מהממוצע (החילוק ממקודם) ואם קורה מצב לאחר הלולאה שהמשתנה גדול מאפס תוסיף חצי כוכב בסוף.
ג. בניית אתרים
_____________________________________
חתימתי העצומה בגודלה הוסרה ע"י השליט הבלתי מעורער שימי, למי שיש בעיה שיפנה אליו.


ד אַל תַּעַן כְּסִיל כְּאִוַּלְתּוֹ פֶּן תִּשְׁוֶה לּוֹ גַם אָתָּה. ה עֲנֵה כְסִיל כְּאִוַּלְתּוֹ פֶּן יִהְיֶה חָכָם בְּעֵינָיו

תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #3  
ישן 27-01-2008, 16:03
  משתמש זכר yoavmatchulsky yoavmatchulsky אינו מחובר  
 
חבר מתאריך: 15.08.06
הודעות: 1,561
שלח הודעה דרך ICQ אל yoavmatchulsky שלח הודעה דרך MSN אל yoavmatchulsky Facebook profile
בתגובה להודעה מספר 1 שנכתבה על ידי YuviAS שמתחילה ב "איך שמים בגלריה בPHP תמונה ביעילות, ועזרה בכתיבת קוד PHP של משהו נוסף."

א) לפני שאתה עושה חילוק, תבדוק שיש שם ערך, אם אין שם ערך אז פשוט אל תעשה את החילוק, ותחזיר 0
ב) תעשה 3 תמונות מוכנות מראש - תמונה של כוכב ריק, תמונה של חצי כוכב ותמונה של כוכב מלא. לפי הדירוג שאתה מוצא, תדע כמה תמונות לשים מכל תמונה. למשל
קוד PHP:
 for (=finalRank; ++i)
echo 
'<img src="fullstar.gif" />';
if (
finalRank != round(finalRank))
{
echo 
'<img src="halfstar.gif" />';
++
i;
}
for (;
5; ++i)
echo 
'<img src="emptystar.gif" />'


ג) זה נקרא events בJavascript, האיוונט הספציפי שאתה מחפש זה onmouseover ו onmouseout. תנסה לעשות חיפוש בפורום בניית אתרים

2) כדי למצוא את הגודל של תמונה ישלך את getimagesize(). תריץ בדיקות של האם הגובה מעל 400, אם הגובה מתחת ל400, אם הרוחב מעל 400, וכו'.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #4  
ישן 27-01-2008, 21:57
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
בתגובה להודעה מספר 3 שנכתבה על ידי yoavmatchulsky שמתחילה ב "א) לפני שאתה עושה חילוק,..."

הנה קטע קטן מהקוד:
קוד PHP:
<?php $rank $row['rank']; $ranker $row['ranker'];
    
$rank $rank/$ranker;
    for (
$rank; ++i)
    echo 
'<img src="fullstar.gif" />';
    if (
$rank != round($rank))
    {
    echo 
'<img src="halfstar.gif" />';
    ++
i;
    }
    for (;
5; ++i)
    echo 
'<img src="emptystar.gif" />'
    
?>


מתקבלת לי ההודעת שגיאה הזאת:
קוד:
Parse error: syntax error, unexpected '=', expecting ';' in /mounted-storage/home66a/sub008/sc39513-SBQI/www/website/index.php on line 308


שורה 308 זו השורה הראשונה שנתתי בקוד הקודם.
מה זה יכול להיות?
אם לא הבנת מה ניסיתי לעשות זה ככה, לקחתי את כל הדירוג, נגיד 2 דרגו אחד 4 ואחד 5 אז יהיה כתוב 9. ובמדרגים יהיה 2. ואז הוא עושה את הדירוג הסופי, ומחלק אותו במספר המדרגים וזה הדירוג ממוצע.
אם אפשר קצת יותר הסבר על איך הלולאת FOR פועלת פה אני אשמח כדי להבין.
ג. אני יודע על זה, השאלה שלי היא אם אחרי שאני מוריד את ה"סימון" של הכוכב שאני עובר בעכבר אם הנתונים ששלפתי מהמסד בעזרת PHP נשמרים או שצריך לשלוף אותם מחדש מהמסד.
2. לבדוק גודל אני יודע, הבעיה היא שאני לא מבין איך אני יכול להגדיל/להקטין בהתאם לגודל המסוים.
הכוונה היא שהוא יעשה את הגודל המקסימלי בתוך ה400*400 פיקסלים. וכמובן בלי לעוות את התמונה ובלי להעמיס על שרת הPHP.

בתודה מראש,
ותודה רבה על התגובה המהירה,
יובל.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #7  
ישן 28-01-2008, 13:37
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
בתגובה להודעה מספר 6 שנכתבה על ידי יובל_כ שמתחילה ב "הדבקתי קוד בהודעה..."

בקשר לתגובה הראשונה:
זה לא ילך טוב בגלל שאני רוצה לעשות סימון כוכבים במעבר עכבר, כפי שציינתי.
וגם משפט IF שעשיתי לא פעל משום מה. האם משפט כזה תקין?
קוד PHP:
<?php
 
$rank 
1.567;
if(
$rank >> && $rank << 0.5) {
//Graphics code here.
}
 
?>


זה תקני? כי לא הצלחתי.
גם עוד בעיה, נגיד RANK יהיה שווה 1.56 אז זה יהיה 2 כוכבים ולא 1.5. אז אני רוצה שזה יהיה עם עיגול מספרים, שברתי את הראש באתר של PHP.net ובסוף לא הצלחתי.
---
בקשר להודעה השניה:
אתה יכול להסביר לי איך אני משתמש ומה כל אחד עושה?
בקוד הראשון הבנתי שהוא מעלה את זה שונה. שכבר בהעלאת הקובת הוא מקטין את התמונה. אבל אני רוצה שרק בהצגת התמונה הוא יקטין.
שזה הקוד השני אם הבנתי נכון. אבל זה לא פועל לי. יש לי הודעות שגיאה על משפטים לא תקניים וכו'.
אתה יכול לעזור לי בשתי הדברים האלו?

תודה,
יובל.

עריכה:
יישמתי מה שאמרתם לי ויצרתי קוד כזה לגבי הדירוג:
קוד PHP:
<?php
$rank 
$row['rank']; $ranker $row['ranker'];
if(
$ranker == "0") {
 
$rank 0;
} else { 
 
$rank $rank/$ranker;
}
if(
$rank != 0) {
 for (
$i $i $rank; ++$i) {
  echo 
'<img src="fullstar.gif" />';
 }
 if (
$rank != round($rank)) {
 echo 
'<img src="halfstar.gif" />';
 ++
$i;
 }
 for (;
$i 5; ++$i) {
  echo 
'<img src="emptystar.gif" />'
 }
} else {
 for (;
$i 5; ++$i) {
  echo 
'<img src="emptystar.gif" />'
 }
}
?>


עכשיו, כשהמספר עגול הכל תקין, אבל כשיש שארית למספר השלם אז הוא עושה בעיות - מוסיף כוכבים מיותרים בפלט.
כאילו הלולאה שמוציאה פלט של כוכב שלם חוזרת על עצמה 5 פעמים אפילו אם הדירוג הוא 1.5 בגלל השארית.
בבקשה עזרו לי..
תודה,
יובל.

נערך לאחרונה ע"י YuviAS בתאריך 28-01-2008 בשעה 14:02.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #8  
ישן 28-01-2008, 14:17
צלמית המשתמש של tnadav1
  משתמש זכר tnadav1 tnadav1 אינו מחובר  
 
חבר מתאריך: 02.10.05
הודעות: 2,355
שלח הודעה דרך MSN אל tnadav1
בתגובה להודעה מספר 7 שנכתבה על ידי YuviAS שמתחילה ב "בקשר לתגובה הראשונה: זה לא..."

בקשר לשאלה הראשונה, האופרטורים הנכונים הם > ו- < ...

דבר שני, המבנה נתונים שלך לא ייעיל, אתה יכול לעשות טבלה של הצבעות עם העומודות:

ID של תמונה
גולש שהצביע
ערך ההצבעה מ-1 עד 5.

ואז אתה שולף את כל ההצבעות עם ה- ID של התמונה ומקבל ממוצע בעזרת הפונקציה AVG שנמצאת במסד נתונים.

לגבי הבעיה השלישית: הנה רעיון לא רע:
תכין תמונה של 5 כוכבים ריקים ותמונה של 5 כוכבים מלאים, תעשה DIV אחד של כוכבים ריקים ובתוכו DIV שני של כוכבים מלאים, אבל, האורך שלו יהיה בהתאם לתוצאה ככה שאם אורך של כל כוכב הוא 20 פיקסלים והממוצע הוא 3.75 אז 3.75 כפול 20 זה 75 והאורך של ה-DIV הפנימי יהיה 75 פיקסלים, זה טוב לא רק לחצאים, אלה לכל ממוצע שיהיה לך וזה גם לדעתי פיתרון הרבה יותר אלגנטי
_____________________________________



נערך לאחרונה ע"י tnadav1 בתאריך 28-01-2008 בשעה 14:20.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #10  
ישן 28-01-2008, 20:22
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
בתגובה להודעה מספר 9 שנכתבה על ידי YuviAS שמתחילה ב "אוקיי.. אני יכול לקבל הסבר..."

אוקיי...
שברתי תראש ושמעתי לעצתך והשתמשתי בDIVים. אז ככה, זה הקוד. החלטתי בסוף לשים הכל באחד ולא לשמור את כל ההצבעות של כולם כי זה יאט את המסד ויפוצץ אותו. כי לכל הצבעה תהיה שורה ופה זה שורה אחת שמתעדכנת כל הזמן. האם יש לזה השלכות? אוקיי זה הקוד שעשיתי, האם הוא יעיל?
קוד PHP:
<?php
$rank 
$row['rank']; $ranker $row['ranker'];
if(
$ranker == "0") {
$rank 0;
} else { 
$rank $rank/$ranker;
}
$rank2 $rank*27;
?>
<div height="41" width="135" style="height:41; width:135; background-color:red; layer-background-color:red;">
<div height="41" width="<?php echo $rank2?>" style="height:41; width:<?php echo $rank2?>; background-color:blue; layer-background-color:blue;">
</div></div>


חשוב לי לדעת איך אני שם בDIV במקום סתם צבע שיהיה תמונה?
ומה לגבי השאלה השניה של הקטנת התמונה?

עריכה: תגיד, אתה יודע אולי איך אם יש לי במשתנה 1.254 אז הוא יוצר משתנה שמכיל 1.2? בקיצור לשים רק ספרה אחת אחרי הנקודה העשרונית. ?
דבר נוסף, בDIV הוא מדלג לי שורה משום מה, איך אפשר להימנע מזה?

נערך לאחרונה ע"י YuviAS בתאריך 28-01-2008 בשעה 20:30.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

כלי אשכול חפש באשכול זה
חפש באשכול זה:

חיפוש מתקדם
מצבי תצוגה דרג אשכול זה
דרג אשכול זה:

מזער את תיבת המידע אפשרויות משלוח הודעות
אתה לא יכול לפתוח אשכולות חדשים
אתה לא יכול להגיב לאשכולות
אתה לא יכול לצרף קבצים
אתה לא יכול לערוך את ההודעות שלך

קוד vB פעיל
קוד [IMG] פעיל
קוד HTML כבוי
מעבר לפורום



כל הזמנים המוצגים בדף זה הם לפי איזור זמן GMT +2. השעה כעת היא 22:44

הדף נוצר ב 0.08 שניות עם 10 שאילתות

הפורום מבוסס על vBulletin, גירסא 3.0.6
כל הזכויות לתוכנת הפורומים שמורות © 2024 - 2000 לחברת Jelsoft Enterprises.
כל הזכויות שמורות ל Fresh.co.il ©

צור קשר | תקנון האתר