The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
PHP: 1 array being used by multiple loops.
To start, yes I am a novice at this and am currently learning.
I am having difficulty getting a single array to work in multiple places. i have a table with a list of classes in it, and i pull that into an array. i then want to use the data in that array to make multiple <select> form options. This code that i have works with one <select> but leaves the others blank. If i make 3 arrays, one for each, then it all works. Is it not possible to use just 1 array to knock out some of the redundancy of the code? here is the code: Code:
$my_classall = $vbulletin->db->query_read(" SELECT class_id, class_name FROM " . TABLE_PREFIX . "my_table_class AS my_table_class ORDER BY class_name ASC "); while ($my_class1 = $vbulletin->db->fetch_array($my_classall)) { $my_class1_name = $my_class1['class_name']; eval('$my_class1selector .= " <option value=\"'.$my_class1['class_id'].'\" " . iif($my_toon[class_1]==$my_class1[class_id]," selected=\"selected\"","").">'.htmlspecialchars($my_class1['class_name']).'</option> ";'); } while ($my_class2 = $vbulletin->db->fetch_array($my_classall)) { $my_class2_name = $my_class2['class_name']; eval('$my_class2selector .= " <option value=\"'.$my_class2['class_id'].'\" " . iif($my_toon[class_2]==$my_class2[class_id]," selected=\"selected\"","").">'.htmlspecialchars($my_class2['class_name']).'</option> ";'); } |
#2
|
|||
|
|||
I can't say that I know exactly what you want to do because it looks like you're trying to build exactly the same string twice, which seems unnecessary. But I think what you have posted above doesn't work because you're doing the query, looping through the results, then trying to loop through them again (which I don't think will work, I think you'd have to perform the query again).
If you want to have more than one select, why not just use the same string of options for both? Or if the options aren't really supposed to be exactly the same, you could build both strings in the same loop. |
#3
|
|||
|
|||
the object, in this case a character, will be able to have up to 3 classes. when a user goes back to edit a character, the <select> option that was input will be the default option, based on the iif statement in the eval. since there are 3 possible classes, there needs to be 3 distinct select menus, even though the menus have the same data.
are you saying that the 3 different name and eval statements can all be put in the same loop? i have not tried that, will try it later today. |
#4
|
|||
|
|||
Quote:
Quote:
|
#5
|
|||
|
|||
Thank you very much
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|