2012-06-18 4 views
-3

У меня есть этот код, из которого я печатаю строки таблицы и флажок с ними, мне нужно распечатать проверенные строки в другом файле php .. как я должен это делать?Извлечь информацию из флажков php/mysql

мне нужно что-то вроде SQL = выберите $ CheckBox1, checkbox2 или однако это лучше сделать это ....

<form action='report.php' method='post'> 

<?php // Script 12.7 - sopping.php 

$db = mysql_connect('localhost', 'root', ''); 
mysql_select_db('db_up', $db); 

echo "<table border='1' class='tabtext'>"; 

$result = mysql_query("SELECT * FROM hostess"); 
$numrows = mysql_num_rows($result); 
$numfields = mysql_num_fields($result); 

// show headers 
echo '<thead><tr>'; 
for ($field = 0; $field < $numfields; $field++) { 
    $field_name = mysql_field_name($result, $field); // instead of $i 
    echo '<th><label><input type="checkbox" name="checkbox[' . $field_name . ']" value="1"/> ' . $field_name . '</label></th>'; 
} 

echo '</tr></thead>'; 

echo '<tbody>'; 
for ($row = 0; $row < $numrows; $row++) { 
    $data = mysql_fetch_assoc($result); 
    echo '<tr>'; 
    for ($field = 0; $field < $numfields; $field++) { 
     $field_name = mysql_field_name($result, $field); 
     if (isset($_POST['checkbox'][$field_name])) { 
      echo '<td>' . $data[$field_name] . '</td>'; 
     } 
    } 
    echo '</tr>'; 
} 
echo '</tbody>'; 
echo '</table>'; 


?> 
<input type='submit' value='Submit' /> 
</form> 
+1

Umm ... отправьте форму, извлеките значения флажков из $ _POST, используйте эти идентификаторы, чтобы получить информацию об этих флажках, распечатать информацию, ... и сделать? –

+0

Я еще не пробовал ... потому что я не знаю, с чего начать, нет ничего подобного. Я искал в Интернете .. – Landi

+0

Да, это все, что мне нужно сделать Marc B – Landi

ответ

1

Ok. Поэтому сначала вы должны создать только этот файл. Основываясь на том, как вы выложили таблицу, вы хотите иметь 2 строки с первым именем поля и вторым, содержащим флажки. Так вот, что:

<form action='report.php' method='post'> 
<?php // Script 12.7 - sopping.php 

$db = mysql_connect('localhost', 'root', ''); 
mysql_select_db('db_up', $db); 

echo "<table border='1' class='tabtext'>"; 

$result = mysql_query("SELECT * FROM hostess"); 
$numrows = mysql_num_rows($result); 
$numfields = mysql_num_fields($result); 

// show headers 
echo '<thead><tr>'; 
for ($field = 0; $field < $numfields; $field++) { 
    $field_name = mysql_field_name($result, $field); 
    echo '<th>'. $field_name . '</th>'; // only the field name 
}  
echo '</tr></thead>'; 
echo '<tbody><tr>'; 
for ($field = 0; $field < $numfields; $field++) { 
    $field_name = mysql_field_name($result, $field); 
    echo 
     '<td> 
      <input type="checkbox" name="checkbox['.$field_name.']" value="1"/> 
     </td>'; 
} 
echo '</tr></tbody>'; 
echo '</table>'; 
?> 
<input type='submit' value='Submit' /> 
</form> 

Затем в файле, который вы отправляете вашу форму (report.php) вы будете ловить вещи вы отправлены и отобразить новую таблицу, отражающую только флажки вы представили. Вот пример того, что вы могли бы сделать.

<?php 
// within report.php (THIS IS AN EXAMPLE ONLY) 

// check if the checkbox fields were submitted 
// and if not empty we know that items have been checked. 
if(isset($_POST['checkbox']) && !empty($_POST['checkbox'])){ 
    // iterate through the checked items. 
    // this is an associative array because you gave the items a key 
    foreach($_POST['checkbox'] as $field => $value){ 
    // do some stuff 
    echo "<p>Checked Field: $field<br/>Value:$value</br></p>"; 
    } 
} else { 
    // display a message saying that nothing was submitted 
    // you could also display some error or redirect back to the form etc. 
    echo '<p>No Check boxes have been checked</p>'; 
}?> 

Надеюсь, этого достаточно, чтобы получить мяч для вас. Попробуйте, запустите свой код и посмотрите, как он себя ведет. Убедитесь, что ваша форма отображается так, как вы хотите, и что подача выполняется правильно и, по крайней мере, показывает вам что-то. Если нужно, просто используйте мой примерный код, и если вы видите что-то, это означает, что он достиг этого. Затем вы можете заменить этот примерный код тем, что вы действительно хотите отобразить. Больше, чем это, и я, по сути, писал бы ваш код для вас. Дать ему шанс. Удачи.

Смежные вопросы