2015-12-07 2 views
0

Я пытаюсь отправить свою динамическую таблицу в базу данных mysql, но у меня возникают трудности. Я пробовал использовать, чтобы отправить его, но я не очень далеко. На данный момент я просто показываю его, но я действительно хочу отправить его в mysql. Я хочу, чтобы все данные находились в одной строке с остальными данными, такими как test case name, test case number и так далее. Но динамическая таблица должна быть помещена в ту же строку, где остальная часть данных идет.отправил динамическую таблицу в mysql

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

<div class="col-md-6"> 
    <label>Test Case Number:</label> 

<?php 
    $sql = "SELECT test_case_number FROM qa_testing_application ORDER BY id desc LIMIT 1"; 
    $result = mysqli_query($database, $sql) or trigger_error("SQL", E_USER_ERROR); 

    while ($row = mysqli_fetch_assoc($result)) { 
?> 
    <input class="form-control" style="display: none" type="text" name="test_case_number" readonly="readonly" value="<?php echo $row['test_case_number']+3?>"> 
<?php } ?> 
    <label>Company Name:</label> 
    <input class="form-control" type="text" name="test_case_company_name"/> 
    <label>Tester:</label> 
    <input class="form-control" style="display: none" type="text" name="user_username" value="<?php echo $user_username ?>" readonly/> 
    <label>System:</label> 
    <input class="form-control" type="text" name="test_case_system"/> 
    <label>URL:</label> 
    <input class="form-control" type="text" name="test_case_url"/> 
</div> 

<div class="col-md-12" style="border: 1px solid #28415b; padding-bottom: 12px; padding-top: 12px;margin-top: 20px; margin-bottom: 15px"> 
    <p> 
     <INPUT class="btn btn-primary ladda-button" type="button" value="Add row" onclick="addRow('dataTable')" /> 
     <INPUT class="btn btn-primary ladda-button" type="button" value="Delete row" onclick="deleteRow('dataTable')" /> 
    </p> 
    <div class="clear"></div> 
    <p>'All fields below are compatible to use markdowns for editing' </p> 



<table class="table table-hover"> 
    <thead> 
    <tr> 
     <th style="width: 15px">Chk</th> 
     <th style="width: 335px">Action:</th> 
     <th style="width: 326px;">Expected System Response:</th> 
     <th style="width: 151px;">Pass/ Fail</th> 
     <th>Comment</th> 
    </tr> 
    </thead> 
</table> 
<table id="dataTable" class="table table-hover"> 
    <tbody> 
    <tr> 
     <td style="width:20px;"><INPUT type="checkbox" name="chk[]" id="chk"/></td> 
     <td><INPUT class="form-control" type="text" name="step[]" autocomplete="on" placeholder="Action" required/></td> 
     <td><INPUT class="form-control" type="text" name="url[]" autocomplete="on" placeholder="Expected Outcome" required/></td> 
     <td> 
      <select name="passfail[]" class="form-control" style="width:120px;"> 
       <OPTION value="Pass">....</OPTION> 
       <OPTION value="Pass">Pass</OPTION> 
       <OPTION value="Fail">Fail</OPTION> 
      </select> 
     </td> 
     <td> 
      <TEXTAREA class="form-control" type="text" name="comment[]" rows="2" cols="15" placeholder="Comment" required></TEXTAREA> 
     </td> 
    </tr> 
    </tbody> 
</table> 

Вот мой стол, который я динамически делает ...

В моем PHP файл i отображает динамическую таблицу следующим образом:

<table class="table table-bordered"> 
    <thead> 
      <tr> 
      <td>Step</td> 
      <td>process</td> 
      <td>Expected System Response</td> 
      <td> 
       <center>Pass/ Fail</center> 
      </td> 
      <td>Comment</td> 
      </tr> 
    </thead> 
<?php 
    if (isset($_POST)) { 
    $step = $_REQUEST['step']; 
    $url = $_REQUEST['url']; 
    $pass_fail = $_REQUEST['passfail']; 
    $comment = $_REQUEST['comment']; 
    $countPass = 0; 
    $countFail = 0; 
    foreach ($step as $key => $row) { 
?> 
    <tbody> 
    <tr> 
     <td><?php echo $key + 1; ?></td> 
     <td><?php echo $step[$key]; ?></td> 
     <td><?php echo $url[$key]; ?></td> 
     <td style="color:<?php if ($pass_fail[$key] == 'Fail') { 
      echo 'color: red'; 
     } else { 
      echo 'limegreen'; 
     } ?>"><b> 
       <center><?php echo $pass_fail[$key]; ?></center> 
      </b></td> 
     <td><?php echo $comment[$key]; ?> 
     </td> 
    </tr> 
    </tbody> 
</table> 

Теперь, как вставить его в mysql ???

+2

Вы пытались написать заявления 'INSERT'? –

+0

, вы можете легко достичь этого, используя 'mysli :: bind_param()' и 'foreach()' -Loops – Lino

ответ

1

Так что в основном то, что вам нужно сделать, чтобы вставить его в свою базу данных, делает sql-запрос в PHP.

Позвольте мне показать вам пример кода:

//establish db connection 
$con=mysqli_connect("dbhost","username","dbpassword","dbname"); 

$sql = "INSERT INTO tablename (name_of_row1, 
           name_of_row2, 
           name_of_row3) 
         VALUES ('".$value1."', 
           '".$value2."', 
           '".$value3."')"; 

mysqli_query($con, $sql); 
mysqli_close($con); 

Таким образом, вы должны открыть соединение SQL, а затем вставить данные в таблицу вы хотите. Надеюсь, это достаточно ясно. Теперь, если PHP-файл вызывается, SQL-запрос выполняется.

+0

Пожалуйста, [остановите использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why -shouldnt-я-использование-MySQL-функции-в-PHP). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http://en.wikipedia.org/ wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) и подумайте над использованием PDO, [это действительно довольно легко] (http://jayblanchard.net/demystifying_php_pdo.html). –

+0

[Ваш скрипт находится под угрозой для SQL-инъекций.] (Http://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) Пожалуйста, попробуйте учить хорошие привычки в коде Примеры. –

+0

Я получаю эту ошибку. Примечание. Преобразование массива в строку в C: \ Users \ Jolene \ Desktop \ qa_testing_application \ testingpostdynamictable.php в строке 11 –

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