Вставка данных в несколько таблиц в базе данных с помощью оператора If и массива - PullRequest
0 голосов
/ 19 ноября 2018

Я новичок в PHP, и у меня возникли проблемы с моим кодом. Я хочу немного заработать и заработать system.its в веб-приложении. Я хочу вставить данные в две разные таблицы: 1) сборы и 2 ) доход с использованием опций ... здесь я делаю два шага (1) выбираю данные из базы данных (2) вставляю в базу данных. 1-й шаг - это хорошая проблема, 2-й шаг - данные вставляются в 1) сборы и 2) доходы, не все записи сохранены. Я нажимаю для сохранения 3 записей, но сохраняется только одна или две записи.

выбор данных из базы данных

<?php
if(isset($_POST['classes'])){
$cla=$_POST['classes'];}$sql = "SELECT class,std_name,roll_no,monthly_fee from students where class = '$cla'"; 
$result = $conn->query($sql);if ($result->num_rows > 0) {$counter = 0;while($row = $result->fetch_assoc()) {?><tr><td><?php echo $row["roll_no"]; ?><input type="hidden" value="<?php echo $row["roll_no"]; ?>" name="roll_no[]"></td><td><?php echo $row["std_name"]; ?><input type="hidden" value="<?php echo$row["std_name"]; ?>" name="std_name[]"></td><td><?php echo $row["class"]; ?><input type="hidden" value="<?php echo $row["class"]; ?>" name="class[]"></td><td><?php echo $row["monthly_fee"]; ?><input type="hidden" value="<?php echo$row["monthly_fee"]; ?>" name="monthly_fee[]"></td><td><select name="status[<?php echo $counter; ?>]"><option >--Select Status--</option>
<option value="Paid">Paid</option>
<option value="Unpaid">Unpaid</option>

Вставить в базу данных я думаю, что проблемы с этим кодом здесь я хочу хранить данные с условием

if (isset($_POST['submit'])) {

foreach ($_POST['status'] as $state => $status) {
    $roll_no = $_POST['roll_no'][$state];
    $std_name = $_POST['std_name'][$state];
    $class = $_POST['class'][$state];
$monthly_fee = $_POST['monthly_fee'][$state];
    $stat = $_POST['status'][$state];
    $date = date('Y-m-d H:i:s');

    $sql = "INSERT INTO fees(std_id,std_name,std_class,fee_status,monthly_fee,taken_date)  VALUES( '$roll_no','$std_name','$class','$stat','$monthly_fee','$date')"; 
if ($state == 'Paid') {
  $sql = "INSERT INTO income(std_fee) values ('$monthly_fee')";if ($conn->query($sql) === TRUE) {$flag = 1;}else{echo "error".$sql."<br>".$conn->error;}    }}}?>

надеюсь, вы поймете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...