wpeloquin
02-10-2011, 09:42 PM
I am having trouble getting multiple rows from a table to display.
This is where i am currently at...
In my plugin php code i have the following:
// This will be in the form of page.php?do=action&user=1
$rkc_getuserid = $vbulletin->input->clean_gpc('r', 'user', TYPE_UINT);
$rkc_allchar = $vbulletin->db->query_first("
SELECT char_id, char_name, char_race, char_class
FROM " . TABLE_PREFIX . "rkc_plugintable AS rkc_plugintable
WHERE user_id = '" . $vbulletin->db->escape_string($rkc_getuserid) . "'
");
$rkc_char['char_id'] = htmlspecialchars($rkc_char['char_id']);
$rkc_char['char_name'] = htmlspecialchars($rkc_char['char_name']);
$rkc_char['char_race'] = htmlspecialchars($rkc_char['char_race']);
$rkc_char['char_class'] = htmlspecialchars($rkc_char['char_class']);
...
$templater->register('rkc_allchar', $rkc_allchar);
$templater->register('rkc_char', $rkc_char);
then in my template, i have the following:
<tr>
<vb:each from="rkc_allchar" value="char">
<td>{vb:raw char}</td>
</vb:each>
</tr>
The above code will successfully pull 1 row of data from the table. but if the user has multiple rows to pull, the other rows will not display. if i change from="rkc_allchar" to from="rkc_char" i get no data displayed at all.
I am pretty sure this has something to do with making a multidimensional array, but i am not sure how exactly to do this. I have trolled multiple php and vb sites but none of them give me enough to know how to do this when pulling multiple rows with multiple fields from a database.
What I am looking to do is something like:
<vb:each from="?" value="?"> // This will create a new row for each row of data collected
<tr>
<vb:each from="rkc_allchar" value="char"> // This will break down each field from the row into its own <td>
<td>{vb:raw char}</td>
</vb:each>
</tr>
</vb:each>
I assume the array will have to look something like:
char_array(
char1(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
),
char2(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
),
char3(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
)
);
This is where i am currently at...
In my plugin php code i have the following:
// This will be in the form of page.php?do=action&user=1
$rkc_getuserid = $vbulletin->input->clean_gpc('r', 'user', TYPE_UINT);
$rkc_allchar = $vbulletin->db->query_first("
SELECT char_id, char_name, char_race, char_class
FROM " . TABLE_PREFIX . "rkc_plugintable AS rkc_plugintable
WHERE user_id = '" . $vbulletin->db->escape_string($rkc_getuserid) . "'
");
$rkc_char['char_id'] = htmlspecialchars($rkc_char['char_id']);
$rkc_char['char_name'] = htmlspecialchars($rkc_char['char_name']);
$rkc_char['char_race'] = htmlspecialchars($rkc_char['char_race']);
$rkc_char['char_class'] = htmlspecialchars($rkc_char['char_class']);
...
$templater->register('rkc_allchar', $rkc_allchar);
$templater->register('rkc_char', $rkc_char);
then in my template, i have the following:
<tr>
<vb:each from="rkc_allchar" value="char">
<td>{vb:raw char}</td>
</vb:each>
</tr>
The above code will successfully pull 1 row of data from the table. but if the user has multiple rows to pull, the other rows will not display. if i change from="rkc_allchar" to from="rkc_char" i get no data displayed at all.
I am pretty sure this has something to do with making a multidimensional array, but i am not sure how exactly to do this. I have trolled multiple php and vb sites but none of them give me enough to know how to do this when pulling multiple rows with multiple fields from a database.
What I am looking to do is something like:
<vb:each from="?" value="?"> // This will create a new row for each row of data collected
<tr>
<vb:each from="rkc_allchar" value="char"> // This will break down each field from the row into its own <td>
<td>{vb:raw char}</td>
</vb:each>
</tr>
</vb:each>
I assume the array will have to look something like:
char_array(
char1(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
),
char2(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
),
char3(
char_id => $variable,
char_name => $variable,
char_race => $variable
char_class => $variable
)
);