如何使用显示的表格中的ID调出数据?

时间:2018-11-09 10:37:11

标签: php html mysql

我需要从数据库中调出其他数据并通过模式显示它,但我无法从html表中调出ID。

这是我的html表和php,用于发布一些数据:

<?php
        $connection = mysql_connect('localhost', 'root', ''); //The Blank string is the password
        mysql_select_db('ts_php');
        $query = "SELECT * FROM job_posted"; //You don't need a ; like you do in SQL
        $result = mysql_query($query);
        echo "<table class='table'>
                <thead>
                          <th>JOB</th>
                          <th>STATUS</th>
                          <th>APPLICATIONS</th>
                          <th>EDIT</th>
                          <th>DELETE</th>
                </thead>
            "; // start a table tag in the HTML

while($row = mysql_fetch_array($result)){   //Creates a loop to loop through results
    echo "<tr>
            <th>" . $row['job_title'] . "</th>
                <td>" . $row['status'] . "</td>
                <td>" . $row['applications'] . "</td>
                <td><a class='openModal' data-id='".$row['post_ID']."'>edit</a></td>
                <td><a href='#'>delete</a></td>                  
            </tr>";
    }

echo "</table>"; //Close the table in HTML

     ?>

这是我在模态主体中的php

<?php 
    (LINE 121:) $queryEdit = "SELECT * FROM job_posted WHERE post_ID = '$row['post_ID']' ";
    $resultEdit = mysql_query($queryEdit, $connection);
    while($row1 = mysql_fetch_array($resultEdit)){        
?>
<span>Name:</span> <?php echo $row1['job_title']; ?><br>
<span>loc:</span> <?php echo $row1['location']; ?><br>
<span>job type:</span> <?php echo $row1['job_type']; ?><br>
<span>description:</span> <?php echo $row1['job_desc']; ?><br>
<?php
    }
?>

这是执行错误 注意:第121行的C:\ xampp \ htdocs \ talent_space_php \ employer \ jobs_posted.php中的数组到字符串的转换

PS。我最近才知道mysql_ *将被贬值,因此我打算先完成此操作,然后再转换为MYSQLI或PDO。

2 个答案:

答案 0 :(得分:2)

最近我做了类似的事情。 我的解决方法是: 在生成行时,我向模态切换器(在我的情况下是按钮)添加了data属性。就像您添加了data-id。但是我做到了我需要的每一个价值。 我只是使用了jquery函数将数据添加到模态内部的输入字段中。

按钮表行生成:

<td><a href="#" class="editId" data-hidden="' . $product['id'] . '" data-name="' . $product['name'] .'" 
    data-short="' . $product['kuerzel'] . '"data-anr="' . $product['anumber'] . '" 
    data-comment="' . $product['comment'] . '" data-toggle="modal"
    data-target="#editProductModal"><i class="far fa-edit"></i></a></td>

我的模态:

<div class="modal-body">
   <input type="hidden" name="action2" value="edit">
   <div class="form-row">
       <div class="col-4">
          <div class="form-group">
             <input type="hidden" class="form-control" name="hidden" id="modal_hidden" value="">
          </div>
          <div class="form-group">
             <label for="select_p" class="col-form label">Produkt:</label>
             <input type="text" class="form-control" name="select" id="select_p" value="" required disabled>
          </div>
          <div class="form-group">
             <label for="new_products_add_name" class="col-form label">New Name:</label>
             <input type="text" class="form-control" name="new_name" id="new_products_add_name">
          </div>
          <div class="form-group">
             <label for="new_products_add_short" class="col-form label">New Short:</label>
             <input type="text" class="form-control" name="new_short" id="new_products_add_short">
          </div>
          <div class="form-group">
             <label for="new_products_add_number" class="col-form label">New ProductNr:</label>
             <input type="text" class="form-control" name="new_number" pattern="{3,11}" id="new_products_add_number">
          </div>
          <div class="form-group">
             <label for="new_products_add_comment" class="col-form label">New Comment:</label>
             <input type="text" class="form-control" name="new_comment" id="new_products_add_comment">
          </div>
       </div>
    </div>
</div>

功能:

<script>
    $(document).on("click",".editId",function() {
            var hidden_value = $(this).data('hidden');
            var name_value = $(this).data('name');
            var short_value = $(this).data('short');
            var anr_value = $(this).data('anr');
            var comment_value = $(this).data('comment');
            $('#modal_hidden').val(hidden_value);
            $('#select_p').val(name_value);
            $('#new_products_add_name').val(name_value);
            $('#new_products_add_short').val(short_value);
            $('#new_products_add_number').val(anr_value);
            $('#new_products_add_comment').val(comment_value);
        });
</script>

我希望这会有所帮助。这可能不是最干净的方法,但是它对我有用(并且我的表包含相当多的行)。

答案 1 :(得分:0)

首先,我建议您不要回显html值。

第二,我将使用pdo在互联网上有足够的示例。一些教程可以帮助您。

针对您的问题:

更改此:

$queryEdit = "SELECT * FROM job_posted WHERE post_ID = '$row['post_ID']' ";

进入其中之一:

$queryEdit = "SELECT * FROM job_posted WHERE post_ID = " + $row['post_ID'];
$queryEdit = "SELECT * FROM job_posted WHERE post_ID = {$row['post_ID']} ";