mysql - insert multiple rows of data by single submit button using php -


how retrieve data sql table, modify data , store in database table multiple rows & columns , single submit button want insert every rows @ time don't know how hidden value , work that

<?php  include"connect_database.php";  if(isset($_post['submit'])) {          $amt = $_post['total'];          if($amt > 0) {                 $qry = "insert attendance(rollno, name, year, attendance, reason) values "; // split mysql_query                 for($i=1; $i<=$amt; $i++) {                         $qry .= "('".$_post["rollno$i"]."', '".$_post["name$i"]."', '".$_post["year$i"]."', '".$_post["attendance$i"]."', '".$_post["reason$i"]."' ),"; // loop mysql_query values avoid more server loding time                 }                 $qry    = substr($qry, 0, strlen($qry)-2);                 $insert = mysqli_query($dbcon, $qry); // execute mysql_query          }  // redirect each cases          if($insert) {                 $msg = '<script type="text/javascript">alert("added");</script>';          }          else {                 $msg = '<script type="text/javascript">alert("server error, kindly try again");</script>';          }  };  if (isset($_post['select'])) {   $sql = "select * data year='" . $_post['yr'] . "'"; $mydata = mysqli_query($dbcon, $sql); $num = mysqli_num_rows($mydata);     echo "<table border=1>   <tr>   <th>rollno</th>   <th>name</th>   <th>year</th>   <th>attendance</th>   <th>reason</th>   </tr>";   ($i=0; $i <$num; $i++) { $record = mysqli_fetch_array($mydata); echo "<form action=smanage.php method=post>";   echo "<tr>";   echo "<td>" . "<input type=text name=rollno$i value=" . $record['rollno'] . " </td>";   echo "<td>" . "<input type=text name=name$i value=" . $record['name'] . " </td>";   echo "<td>" . "<input type=text name=year$i  value=" . $record['year']  . " </td>";  echo  "<td> "."<select name=attendance$i >       <option value=present >present</option>       <option value=absent >absent</option>   </select>"."</td>";   echo "<td>". "<textarea cols=15 rows=2 name=reason$i  placeholder=enter reason ...></textarea>" . "</td>" ;   echo "<td>" . "<input type=hidden name=total value=" . $i-1 . "</td>";   echo "</tr>";   }  echo"</table>";  echo "<input type=submit name=submit value=save class=button3>";  echo "</form>";      };   mysqli_close($dbcon);   ?> 

you opening multiple forms, each row in table on. causes html invalid, start form before displaying table.

you use html

<table> <?php ($i = 0; $i < $num; $i++) {     $record = mysqli_fetch_array($mydata); ?>     <tr>         <td><input type="text" name="rollno[<?= $record['rollno'] ?>]" value="<?= $record['rollno'] ?>" </td>         <td><input type="text" name="name[<?= $record['rollno'] ?>]" value="<?= $record['name']?>" </td>         <td><input type="text" name="year[<?= $record['rollno'] ?>]"  value="<?= $record['year'] ?>" </td>         <td><select name="attendance[<?= $record['rollno'] ?>]" >                 <option value="present" >present</option>                 <option value="absent" >absent</option>             </select></td>         <td><textarea cols="15" rows="2" name="reason[<?= $record['rollno'] ?>]"  placeholder="enter reason ..."></textarea></td>     </tr> <?php } ?> </table> 

with values every row put $_post-array, can access values via indexes (i guessing rollno represents id of dataset). when want insert values table, can leave index out. meaning write

<td><input type="text" name="rollno[]" value="<?= $record['rollno'] ?>" </td> 

instead of

<td><input type="text" name="rollno[<?= $record['rollno'] ?>]" value="<?= $record['rollno'] ?>" </td> 

you don't need hidden field, can count items in array.

$total = count($_post['rollno']); 

Comments

Popular posts from this blog

javascript - Bootstrap Popover: iOS Safari strange behaviour -

Magento/PHP - Get phones on all members in a customer group -

session - Logging Out Using PHP -