গুগল চার্টে ওয়েবফর্মের ফলাফল ডেটা প্রদর্শন করুন


11

আমি গুগল চার্ট হিসাবে ওয়েবফর্মের ফলাফলগুলি প্রদর্শন করার চেষ্টা করছি । আমি আমার থিমের টেমপ্লেট.এফপি ফাইলে থিম_উইবফর্ম_সাল্টস_অ্যানালাইসিস () কে ওভাররাইড করে এবং চার্ট মডিউলটি ব্যবহার করে এটি করছি । ড্রুপাল 6.22, ওয়েবফর্ম 6.x-3.11।

ওয়েবফর্ম বিশ্লেষণ পৃষ্ঠাটি সাধারণত কোনও টেবিলের ডেটা দেখায়, তাই আমি সেই টেবিলটির জন্য চার্ট এপিআইতে স্টাফ দেওয়ার জন্য অ্যারেগুলি হ্যাক করার চেষ্টা করছি ।

সম্পাদনা : আমি কীভাবে var_dump ব্যবহার করতে হবে তা আবিষ্কার করেছি এবং দেখেছি যে approach সারি_ডাটা এবং $ প্রশ্ন অ্যারে আলাদাভাবে উঠতে পারে (এই প্রশ্নের প্রথম সংস্করণে had সারি অ্যারে ব্যবহার না করে যা ছিল) উভয় অ্যারে একটি ম্যাসআপ)।

সম্পাদনা # 2 : আমি মনে করি যে আমি কীভাবে মূল $ প্রশ্ন এবং $ সারি_ডাটা অ্যারেগুলির প্রতিটি টুকরো ধরতে পারি (নীচে দেখুন - অন্যান্য অগ্রভাগে ভবিষ্যদ্বাণী)। সুতরাং এখন আমার সেই টুকরোগুলি যথাযথ অ্যারে (প্রশ্ন প্রতি 1) এ নেওয়া দরকার এবং সেগুলির মাধ্যমে পুনরাবৃত্তি করার একটি উপায় খুঁজে বের করতে হবে।

টেমপ্লেট.এফপিতে আমি যা পেয়েছি তা এখানে:

/**
 * Output the content of the Analysis page.
 * @see webform_results_analysis()
 */
function mytheme_webform_results_analysis($node, $data, $sids = array(), $analysis_component = NULL) {

  foreach ($data as $cid => $row_data) {

    if (is_array($row_data)) {

      // get the questions, put them in an array
      $questions = array();
      $questions[] = array('data' => check_plain($node->webform['components'][$cid]['name']));

      // this will print everything out in the right order - it really needs to
      // make an array for each question that looks like $test_chart below
      foreach ($questions as $question) {
        print $question['data'] . '<br />'; // questions 
        foreach ($row_data as $key => $value) {
          print $value[0] . '<br />'; // labels
          print $value[1] . '<br />'; // results 
        }
      }

      // Set up the chart
      $chart = array(
        '#chart_id' => 'webform_analysis',
        '#type' => CHART_TYPE_PIE_3D,
        '#size' => chart_size(658, 250)
      );

      // not real data here, this just shows the format I'm shooting for
      $test_chart = array(
        'option 1' => '12',
        'option 2' => '45',
        'option 3' => '122'
      ); 

      // separate the above array into labels and values, add a percentage to the label
      foreach ($test_chart as $key => $value) {
        $chart['#data'][] = $test_chart[$key];
        $chart['#labels'][] = strip_tags($key) . ' (' . round($test_chart[$key], 2) .  '%)';
      }
      // pick some colors
      $chart['#data_colors'][] = 'b0c73d';
      $chart['#data_colors'][] = '667323';
      $chart['#data_colors'][] = '221f1f';

      $output = chart_render($chart);    
    }
  }

  if (count($row_data) == 0) {
    $output = t('There are no submissions for this form.');
  }

  // return the data that goes into chart function, just for testing
  // return $chart_data; 

  // someday, this might return a set of webform charts. right now it returns the fake test chart
  // return $output;
}

1
আপনি কি নিজের প্রশ্ন সমাধান করেছেন? যদি তাই হয় তবে আপনার নিজের উত্তর পোস্ট করুন
iStryker

নাহ, আমি এখনও এটি খুঁজে না। আমি "পিএইচপি এবং মাইএসকিউএল 5: পড়াশুনা থেকে পেশাদার" ( লিঙ্ক ) পড়া শেষ না হওয়া পর্যন্ত এটি এখনই ধরে আছে এবং তারপরে আমি এটিকে আরও একটি শট দিতে চলেছি। আমি অনলাইনে সহায়তা পেয়েছি, তাই আমি বুঝতে পেরেছিলাম যে এই জটিল কিছু করার আগে মৌলিকাগুলিতে আরও ভাল হ্যান্ডেল পাওয়া দরকার।
সারা জার্মান

উত্তর:


2

আর একটি ড্রুপাল চার্ট মডিউল রয়েছে যা ওয়েবফর্মগুলির জন্য সমর্থন সরবরাহ করে: http://drupal.org/project/fusioncharts

ফিউশনচার্টে ফিউশনচার্টস ওয়েভফর্ম নামে একটি সামান্য সাব-মডিউল রয়েছে


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ! আমি ফিউশনচার্টসকে দেখেছিলাম, তবে এটি আমার প্রকল্পের জন্য উপযুক্ত নয় কারণ এটি ফ্ল্যাশ ব্যবহার করে এবং আমাদের অর্থ প্রদানের সংস্করণটি দরকার - আমরা ওপেন-সোর্স সমাধানগুলিতে স্থির থাকার চেষ্টা করি। তবে এটি দেখতে দুর্দান্ত লাগছে, আমি বাজি ধরেছি যে এই সমস্যাটি অনেক লোকের জন্য সমাধান করে।
সারা জার্মান

1

এখন থেকে আরও 3 বছর পরে, আমি জানি, তবে জিনিসগুলি তখন থেকেই কিছুটা বিকশিত হয়েছে ...

কেবলমাত্র এই প্রশ্নের শিরোনাম বিবেচনা করেই কেউ আজকাল চার্ট মডিউলটির মাধ্যমে এটি সম্বোধন করতে চাইতে পারে (যদিও মূল প্রশ্নটি চার্ট থেকে শুরু হয়েছিল , যা অন্য একটি মডিউল)। এবং এটি ওয়েবফর্ম চার্ট বা ওয়েবফর্ম চার্টগুলির সাথে একত্রে ।

আপনার প্রকৃত চাহিদা আজ যা রয়েছে তার উপর নির্ভর করে, এটি প্রদর্শিত হয় যে এই 2 ওয়েবফর্ম সম্পর্কিত মডিউলগুলির সাহায্যে সাইট বিল্ডিং ক্রিয়াকলাপগুলি (সম্ভবত ড্রুপাল বিকাশকারীদের দক্ষতার প্রয়োজন নেই) দ্বারা অনেক কিছু অর্জন করা যায়। এই ওয়েবফর্ম চার্ট (গুলি) মডিউলগুলি (এবং একটি আকর্ষণীয় আলোচনার লিঙ্ক) সম্পর্কে আরও কিছু তথ্যের জন্য চার্ট মডিউলটির মাধ্যমে চার্ট করার সুবিধার্থে মডিউলগুলির বুলেট 5 দেখুন।

সম্ভাব্য অন্যান্য বিকল্পের জন্য আজকাল চার্টিং মডিউলগুলির তুলনা ব্যবহার করুন (এবং উপলব্ধ কয়েকজন চার্টিং মডিউল উপলব্ধ সম্পর্কে বিভ্রান্ত হওয়ার জন্য প্রস্তুত থাকুন ...)।

সচেতন থাকুন: আমি চার্ট এবং চার্টের একজন নতুন (সহ-) রক্ষণাবেক্ষণকারী এবং চার্টিং মডিউলগুলির তুলনা লেখক । আমি চার্টসে কুইকসকেচের (আশ্চর্যজনক) অবদানগুলি চালিয়ে যাওয়ার চেষ্টা করছি, যিনি ওয়েবফর্ম এবং ওয়েবফর্ম চার্টস (একটি 'এর' সহ) রক্ষণাবেক্ষণকারীও।

PS: এই সমস্ত বিভ্রান্তিকর * চার্টের নেমস্পেসের জন্য দুঃখিত, আমি তাদের আবিষ্কার করি নি ...

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.