Reputation: 536
Any body tell me why not work when i click next. blank. Get Or Post both bot work. but when refresh then work. look the print form and tell me. i think sql not fetch.
Wordpress Code
function SamDeveloper_page($content)
{
global $wpdb;
$table_name = $wpdb->prefix . "wp_SamDeveloper_question";
$url = get_option('question_page').'&q=2';
if ( is_user_logged_in() ){
$_POST['q'] = (isset($_POST['q'])) ? $_POST['q']:'1';
if(isset($_POST['add_ans']) && !empty($_POST['add_ans'])){
$table_name = $wpdb->prefix . "wp_SamDeveloper_answer";
$no = (isset($_POST['q'])) ? $_POST['q']:'1';
$url = get_option('question_page').'&q='.($no+1);
}
$user_ID = get_current_user_id();
$result = $wpdb->get_results('SELECT * FROM '.$table_name.' LIMIT '.($_POST['q']-1).',1', ARRAY_A);
foreach($result as $value){
$que = '<h4>Question No. '.$_POST['q'].'</h4>';
$que .= '<form action="'.$url.'" method="post">';
$que .= '<input type="hidden" name="q" value="'.($_POST['q'] + 1).'"/>';
$que .= '<table>';
$que .= '<tr>';
$que .= '<th>Question</th>';
$que .= '<th>Most</th>';
$que .= '<th>Least</th>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_1" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_1" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_2" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_2" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_3" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_3" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_4" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_4" value="b"></td>';
$que .= '</tr>';
$que .= '</table>';
$que .= '<input type="hidden" name="user_id" value="'.$user_ID.'"> ';
$que .= '<input type="hidden" name="add_ans" value="'.$value['id'].'">';
$que .= '<input type="submit" name="add_ans" value="Next">';
$que .= '</form>';
print($que);
}
}
}
I am also try print echo.
Thanks
Upvotes: 0
Views: 61
Reputation: 218
You could use hidden input tags (between <form>
tags):
<input type="hidden" name="xyz" value="your value goes here"/>
After submission, they could be accessed using $_POST['xyz']
Your code should look like
function SamDeveloper_page($content)
{
global $wpdb;
$table_name = $wpdb->prefix . "wp_SamDeveloper_question";
$url = get_option('question_page').'&q=2';
if ( is_user_logged_in() ){
$_POST['q'] = (isset($_POST['q'])) ? $_POST['q']:'1';
if(isset($_POST['add_ans']) && !empty($_POST['add_ans'])){
$table_name = $wpdb->prefix . "wp_SamDeveloper_answer";
$no = (isset($_POST['q'])) ? $_POST['q']:'1';
$url = get_option('question_page');
}
$user_ID = get_current_user_id();
$result = $wpdb->get_results('SELECT * FROM '.$table_name.' LIMIT '.($_POST['q']-1).',1', ARRAY_A);
foreach($result as $value){
$que = '<h4>Question No. '.$_POST['q'].'</h4>';
$que .= '<form action="'.$url.'" method="post">';
$que .= '<input type="hidden" name="q" value="'.($_POST['q'] + 1).'"/>';
$que .= '<table>';
$que .= '<tr>';
$que .= '<th>Question</th>';
$que .= '<th>Most</th>';
$que .= '<th>Least</th>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_1" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_1" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_2" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_2" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_3" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_3" value="b"></td>';
$que .= '</tr>';
$que .= '<tr>';
$que .= '<td>'.$value['option_1'].'</td>';
$que .= '<td><input type="checkbox" name="Option_4" value="a"></td>';
$que .= '<td><input type="checkbox" name="Option_4" value="b"></td>';
$que .= '</tr>';
$que .= '</table>';
$que .= '<input type="hidden" name="user_id" value="'.$user_ID.'"> ';
$que .= '<input type="hidden" name="add_ans" value="'.$value['id'].'">';
$que .= '<input type="hidden" name="q" value="'.($no+1).'">';
$que .= '<input type="submit" name="add_ans" value="Next">';
$que .= '</form>';
print($que);
}
}
}
Upvotes: 1