如何使用显示表中的id调用数据?

mi7gmzs6  于 2021-06-18  发布在  Mysql
关注(0)|答案(2)|浏览(221)

我需要从数据库中调用其他数据并通过modal显示它,但是我不能从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
    }
?>

下面是执行错误提示:在c:\xampp\htdocs\talent\u space\u php\employer\jobs\u posted.php的第121行中进行数组到字符串的转换
另外,我最近刚知道mysql镡*会贬值,所以我计划先完成这个,然后再转换成mysqli或pdo。

bbmckpt7

bbmckpt71#

我最近也做了类似的事情。我的工作方式是这样的:在生成行时,我添加了 data 属性(在我的例子中是一个按钮)。就像你说的 data-id . 然而,我这样做的每一个价值观,我需要。我只是使用jquery函数将数据添加到modal中的输入字段中。
按钮表行生成:

<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>

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

gojuced7

gojuced72#

首先,我建议您不要呼应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']} ";

相关问题