Intereting Posts

Создание динамической таблицы с использованием php на основе входных данных пользователей

В настоящее время я пытаюсь создать ежедневную рутину класса, используя PHP. Во-первых, у сайта будет 7-дневное имя, как флажок, и текстовое поле, в котором пользователи могут ввести количество периодов класса.

Когда пользователь отправит форму, код создаст другую форму внутри другой таблицы (выглядит так). И, наконец, пользователь может ввести имя класса, имя учителя, и код сохранит его в базе данных.

Но моя проблема заключается в динамическом создании таблицы. Я не могу понять, как решить эту проблему.

Любая помощь будет оценена по достоинству.

Ниже вы можете увидеть, что я пробовал до сих пор:

<h1>Form two</h1> <form action="routine_create_process.php" method="POST"> <h3>How many class period do you want to add?</h3> <input type="text" name="period"/> <h3>Avalible class day</h3> <label><input type="checkbox" name="f[]" value="sat" /> Saturday </label> <br /> <label><input type="checkbox" name="f[]" value="sun" /> Sunday </label> <br /> <label><input type="checkbox" name="f[]" value="mon" /> Monday </label> <br /> <label><input type="checkbox" name="f[]" value="tues" /> Tuesday </label> <br /> <label><input type="checkbox" name="f[]" value="thurs" /> Wednesday </label> <br /> <label><input type="checkbox" name="f[]" value="thus" /> Thursday </label> <br /> <label><input type="checkbox" name="f[]" value="fri" /> Friday </label> <br /> <input type="submit" value="SUBMIT"/> </form> 

Мой PHP-код:

 <?php $period=$_POST['period']; $arr2=$_POST['f']; ?> <table border='2'> <?php $count=count($arr2)-1; for($i=0;$i<=$count;$i++){ echo "<tr><td>"; if($i==0){ echo "<table>"; echo "<div class='wrap_p'>"; for($r=1;$r<=$period;$r++){ echo "<td>"; echo "<div class='add_css'>"; echo $r; echo "</div></td>"; } echo "</div>"; echo "</table>"; } echo "</tr><tr><td>"; echo $arr2[$i]; echo "</td>"; echo "<td> <input type='text' size='20' /></tr></td>"; } ?> </table> 

Это должно решить вашу проблему.

 <?php $arr2=$_POST['f']; $period = $_POST['period']; ?> <table border='2'> <?php $count=count($arr2)-1; ?> <tr><td>&nbsp;</td> <?php for($r=1;$r<=$period;$r++){ echo "<td>"; echo "<div class='add_css'>"; echo $r ; echo "</div></td>"; } for($i=0;$i<=$count;$i++){ echo "<tr><td>"; echo $arr2[$i]; for($r=1;$r<=$period;$r++) { echo "<td>"; echo "<div class='add_css'>"; echo "<input type='text' size='20' />" ; echo "</div></td>"; } echo "</td>"; } ?> </table> 

Я думаю, что это близко к тому, что вам нужно.

 <html> <body> <?php $period = 8; $arr2=array('sat','sun','mon','tue','wed','thu','fri'); ?> <table border='2'> <tr> <th>Days</th> <?php for($i=1;$i <= $period; $i++){ ?><th><?php echo $i; ?></th><?php } ?> </tr> <?php foreach($arr2 as $day){ ?> <tr> <th><?php echo $day; ?></th> <?php for($i=1;$i <= $period; $i++){ ?> <td> <input type="text" placeholder="subject"> <input type="text" placeholder="subject code"> <input type="text" placeholder="teachers name"> </td> <?php } ?> </tr> <?php } ?> </table> </body> </html>