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

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



  #1  
ישן 22-09-2008, 21:00
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
עזרה | איך מגדירים ARRAY תחת ריצה של WHILE? - פירוט בפנים...

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

אני רוצה להכין גרף עם כמות מצביעים, בשביל מערכת לסקרים..
אז מצאתי קוד כזה:
קוד PHP:
<?php
$values
=array(
"Jan" => 110,
"Feb" => 130,
"Mar" => 215,
"Apr" => 81,
"May" => 310,
"Jun" => 110,
"Jul" => 190,
"Aug" => 175,
"Sep" => 390,
"Oct" => 286,
"Nov" => 150,
"Dec" => 196
);
$img_width=450;
$img_height=300
$margins=20;
 
# ---- Find the size of graph by substracting the size of borders
$graph_width=$img_width $margins 2;
$graph_height=$img_height $margins 2
$img=imagecreate($img_width,$img_height);
 
$bar_width=20;
$total_bars=count($values);
$gap= ($graph_width$total_bars $bar_width ) / ($total_bars +1);
 
# ------- Define Colors ----------------
$bar_color=imagecolorallocate($img,0,64,128);
$background_color=imagecolorallocate($img,240,240,  255);
$border_color=imagecolorallocate($img,200,200,200)  ;
$line_color=imagecolorallocate($img,220,220,220);
 
# ------ Create the border around the graph ------
imagefilledrectangle($img,1,1,$img_width-2,$img_height-2,$border_color);
imagefilledrectangle($img,$margins,$margins,$img_w  idth-1-$margins,$img_height-1-$margins,$background_color);
 
# ------- Max value is required to adjust the scale -------
$max_value=max($values);
$ratio$graph_height/$max_value;
 
# -------- Create scale and draw horizontal lines --------
$horizontal_lines=20;
$horizontal_gap=$graph_height/$horizontal_lines;
for(
$i=1;$i<=$horizontal_lines;$i++){
$y=$img_height $margins $horizontal_gap $i ;
imageline($img,$margins,$y,$img_width-$margins,$y,$line_color);
$v=intval($horizontal_gap $i /$ratio);
imagestring($img,0,5,$y-5,$v,$bar_color);
}
 
 
# ----------- Draw the bars here ------
for($i=0;$i$total_bars$i++){ 
# ------ Extract key and value pair from the current pointer position
list($key,$value)=each($values); 
$x1$margins $gap $i * ($gap+$bar_width) ;
$x2$x1 $bar_width
$y1=$margins +$graph_heightintval($value $ratio) ;
$y2=$img_height-$margins;
imagestring($img,0,$x1+3,$y1-10,$value,$bar_color);imagestring($img,0,$x1+3,$im  g_height-15,$key,$bar_color); 
imagefilledrectangle($img,$x1,$y1,$x2,$y2,$bar_col  or);
}
header("Content-type:image/png");
imagepng($img);
$_REQUEST['asdfad']=234234;
?>


הקוד יוצר גרף ממש כמו באקסל, עכשיו, אני רוצה לשלוף את התוצאות מהסקר, אז עשיתי דבר כזה:
קוד PHP:
 $res mysql_query("SELECT * FROM `polls_options` WHERE `pid` = '$id'");
  while(
$row mysql_fetch_array($res)) {
    
$name $row['ans'];
    
$res1 mysql_query("SELECT * FROM `polls_ans` WHERE `pid` = '$id' AND `oid` = '$_row[id]'");
    
$numm1mysql_num_rows($res);
    
$x .= "$name=> $numm1;
  }
  
$ids strlen($x)-1;
  
$x substr($x0$ids);
  
$array = array($x); 


זאת ע"מ ליצור ARRAY מהתוצאות של הסקרים.
אני אנסה להסביר את הקוד:
שאילתה ראשונה: נשמרה במשתנה $res : נועדה כדי לשלוף את האפשרויות של הסקר (התשובות) לפי הסקר המבוקש.
$name זה התשובה הנוכחית בWHILE
שאילתה שניה: $res1 : שולפת לפי התשובה, את ההצבעות של המשתמשים.
$numm1 = מספר המצביעים לתשובה זו.
עד פה הכל בסדר.
עכשיו אני רוצה ליצור את הARRAY. אז ניסיתי להגדיר משתנה X שכל פעם יצור שורה של איך שהתוכן של הARRAY יכתב ואז ניסיתי להוריד את האות האחרונה, שזה הפסיק, כי את הפסיק האחרון לא צריך.
ואז עשיתי
קוד PHP:
 $values = array($x); 


משהו יכול בבקשה להסביר לי איך אני יכול לעשות את הקוד הזה באופן תקין?

תודה רבה מראש לעוזרים!!
יובל.

נערך לאחרונה ע"י YuviAS בתאריך 22-09-2008 בשעה 21:03. סיבה: טעות בקוד..
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
  #6  
ישן 23-09-2008, 15:27
  YuviAS YuviAS אינו מחובר  
 
חבר מתאריך: 01.12.07
הודעות: 112
בתגובה להודעה מספר 5 שנכתבה על ידי yoavmatchulsky שמתחילה ב "יש לך איזה משהו מוזר עם..."

קוד PHP:
 $res mysql_query("SELECT * FROM `polls_options` WHERE `pid` = '$id'");
while(
$row mysql_fetch_array($res)) {
    
$name $row['ans'];
    
$res1 mysql_query("SELECT * FROM `polls_ans` WHERE `pid` = '$id' AND `oid` = '$_row[id]'");
    
$numm1mysql_num_rows($res);
    
$x[$name] = $numm1;
}
$x = array($x);
$values $x


לא עובד ...
זה כותב:

Fatal error: Unsupported operand types in /mounted-storage/home66a/sub008/sc39513-SBQI/8th2.co.cc/index.php on line 493

שורה 493 זה זה:
קוד PHP:
 $ratio$graph_height/$max_value

הקוד המלא בהודעה ראשונה.
חשוב לציין שכאשר אני עושה ARRAY כך זה פועל:
קוד PHP:
 $values=array(
  
"Jan" => 110,
  
"Feb" => 130,
  
"Mar" => 215,
  
"Apr" => 81,
  
"May" => 310,
  
"Jun" => 110,
  
"Jul" => 190,
  
"Aug" => 175,
  
"Sep" => 390,
  
"Oct" => 286,
  
"Nov" => 150,
  
"Dec" => 196
 
); 


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

נערך לאחרונה ע"י YuviAS בתאריך 23-09-2008 בשעה 15:48.
תגובה ללא ציטוט תגובה עם ציטוט חזרה לפורום
תגובה

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

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

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

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



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

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

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

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