עבור לתוכן

עזרה בהפיכת משאל לדינאמי

Featured Replies

פורסם

אני משתמש במערכת סקרים מוכנה מכל מיני סיבות:

http://www.dbscripts.net/poll/

ואני רוצה להפוך אותו ליותר דינאמי,יש לי מסד נתונים sql

והכול עובד

זה הקוד המקורי שהמערכת של המשאלים צריכה:


$p = new Poll;
$p->question = "מה הצבע המועדף עליך?"; // Question displayed to the user
$p->returnToURL = "../example.php"; // Specify the URL to return to for this poll; may be relative or absolute
$p->legend = "משאל ראשון"; // Form legend; leave empty for none
$p->control_type = $CONTROL_RADIOBUTTONS; // Control type; $CONTROL_RADIOBUTTONS or $CONTROL_COMBOBOX
$p->add_value("1", "אדום"); // Poll value ID and a display string
$p->add_value("2", "ירוק");
$p->add_value("3", "כחול");
$p->add_value("4", "צהוב");
$p->add_value("5", "סגול");
$VALID_POLLS["1"] = $p;

וככה אני מנסה להפוך את זה לדינמי[יש טבלאות מתאימות והקריאות מהמסד נתונים עובדות מעולה]:


function connectDB() {
require "conf.inc";
@mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
}

connectDB();
$query = "select * from poll";
$result=mysql_query($query);
$p = new Poll;
$p->question = "עבור מי תצביע בבחירות?(ההצבעה אנונימית)";
$p->legend = "משאל ראשון";
$p->control_type = $CONTROL_RADIOBUTTONS;
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$cityname = $row['cityname'];
$numofoptions = $row['numofoptions'];
$options = $row['options'];
$id2=$row['id'];
$options2=explode("," , $options);
for($i=$numofoptions-1;$i>=0;$i--){
$p->add_value('$i', '$options2[$i]');
}
$VALID_POLLS['$id2'] = $p;

}



mysql_close();

מישהו יכול להאיר את עייני מה אני מפספס?

המערכת אומרת לי שהיא לא מזהה את הid של הסקר משום מה

פורסם

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

אני גם אחזור על מה שאמרתי, לא שמת $p->returnToURL בקוד השני, לא ברור למה אתה עושה $id2=$id2+1; עם כל הגישות שלך אח"כ הם מינוס 1 לזה...

בלי לדעת מה הסכמה של המסד נתונים הייתי ממליץ להתחיל מלא להוריד את ה -1 הזה ואחרי התיקונים מזה, לרשום:

$VALID_POLLS["${id2}"] = $p;

פורסם
  • מחבר

סתם ציינתי שזה בהמלצתך

בכל מקרה-לאחר התעסקות עם הקוד:


function connectDB() {
require "conf.inc";
@mysql_connect($host,$username,$password);
@mysql_select_db($database) or die( "Unable to select database");
}

connectDB();
$query = "select * from poll";
$result=mysql_query($query);
$p = new Poll;
$p->question = "עבור מי תצביע בבחירות?(ההצבעה אנונימית)";
$p->legend = "משאל ראשון";
$p->control_type = $CONTROL_RADIOBUTTONS;
while($row = mysql_fetch_array($result, MYSQL_ASSOC))
{
$cityname = $row['cityname'];
$numofoptions = $row['numofoptions'];
$options = $row['options'];
$id2=$row['id'];
$options2=explode("," , $options);
for($i=$numofoptions-1;$i>=0;$i--){
$p->add_value('$i', '$options2[$i]');
}
$VALID_POLLS['$id2'] = $p;

}



mysql_close();

בדקתי עם echo את החלק של הלולאת for והוא עובד בסדר,מה שאני לא בטוח זה אם הוא מוסיף גרשיים או לא.

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

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים