将HTML数据或查询结果插入新表

时间:2012-08-16 20:00:31

标签: php mysql

我可能有两个问题。第一个问题,我认为我知道答案,但我会问它反正只是因为我错过了一些明显的东西。

  1. 您可以将HTML行中的数据插入到db表中吗?见下文:

    <tr><td>Colby (Big Cheese)</td>
              <td>1A</td>
              <td>
              <select width=200>
              <option>Key Movement</option>
              <option>Movement -1</option>
              <option>Movement -2</option>
              <option>Movement -3</option>
              <option>Movement -4</option>
        </select></td>
        <td>Sets/Reps/Seconds</td>
        <td>Rest</td>
        <td>00</td>
        </tr><tr><td>Mike (Big Mac)</td>
              <td>1A</td>
              <td>
              <select width=200>
              <option>Key Movement</option>
              <option>Movement -1</option>
              <option>Movement -2</option>
              <option>Movement -3</option>
              <option>Movement -4</option>
        </select></td>
        <td>Sets/Reps/Seconds</td>
        <td>Rest</td>
        <td>00</td>
        </tr>
    
  2. 我希望每个表行的数据都写入db中的一行。如果答案是否定的,我将转到我的第二个问题。

    这是我输出此HTML的EDITED数组。

        $count;
    if(empty($workout_class) === false)
    {   
    foreach($workout_class as $wc){
    if ($wc['pagenum'] !== $pagenum) continue 1;
    
        echo '<tr>
            <td name="first_name'.$count.'">'. ($wc['first_name']).' 
            <span name="nickname'.$count.'">('. ($wc['nickname']).')</span>
            </td>
                  <td name="order'.$count.'">'. ($wc['order']). '</td>
                  <td>
                  <select name="movement'.$count.'" width=200>
                  <option>'. ($wc['mv_00']). '</option>
                  <option>'. ($wc['mv_01']). '</option>
                  <option>'. ($wc['mv_02']). '</option>
                  <option>'. ($wc['mv_03']). '</option>
                  <option>'. ($wc['mv_04']). '</option>
            </select></td>
            <td name="rep_set_sec'.$count.'">'. ($wc['rep_set_sec']). '</td>
            <td name="rest'.$count.'">'. ($wc['rest']). '</td>
            <td>00</td>
            </tr>';
            $count++;
    
       } // foreach($data_array
    

    我有几个问题。 $_POST未从“名称”值中获取任何数据。它也只循环通过第一行并停止。任何想法。

2 个答案:

答案 0 :(得分:0)

您需要使用服务器端(PHP,ASP,JSP)语言通过表单(GET,POST)或JQuery / Ajax来执行此操作。您已经有了选择输入,因此一旦设置了数据库和服务器端语言,它就会非常容易实现。

<?php
$km1 = $_POST['key_move1'];
$km2 = $_POST['key_move2'];
/*
Your mysql code to enter $km1 and $km2 into the database
*/
echo $km1 . " -- " . $km2 . " <-  ...  Thos are your values that would pass to database";
?>

<form action="#" method="post">
<table>
<tr><td>Colby (Big Cheese)</td>
      <td>1A</td>
      <td>
      <select name="key_move1" width=200>
      <option>Key Movement</option>
      <option>Movement -1</option>
      <option>Movement -2</option>
      <option>Movement -3</option>
      <option>Movement -4</option>
</select></td>
<td>Sets/Reps/Seconds</td>
<td>Rest</td>
<td>00</td>
</tr><tr><td>Mike (Big Mac)</td>
      <td>1A</td>
      <td>
      <select name="key_move2" width=200>
      <option>Key Movement</option>
      <option>Movement -1</option>
      <option>Movement -2</option>
      <option>Movement -3</option>
      <option>Movement -4</option>
</select></td>
<td>Sets/Reps/Seconds</td>
<td>Rest</td>
<td>00</td>
</tr>
</table>
<input type="submit" value="Go!">

php loop:

$count = 0;
foreach($workout_class as $wc){
if ($wc['pagenum'] !== $pagenum) continue 1;

echo '<tr><td>'. ($wc['first_name']).' ('. ($wc['nickname']).')</td>
          <td>'. ($wc['order']). '</td>
          <td>
          <select name="key_move' . $count . '" width=200>
          <option>'. ($wc['mv_00']). '</option>
          <option>'. ($wc['mv_01']). '</option>
          <option>'. ($wc['mv_02']). '</option>
          <option>'. ($wc['mv_03']). '</option>
          <option>'. ($wc['mv_04']). '</option>
    </select></td>
    <td>'. ($wc['rep_set_sec']). '</td>
    <td>'. ($wc['rest']). '</td>
    <td>00</td>
    </tr>';
$count++
}

答案 1 :(得分:0)

与Zak提到的一样,您需要将此表放在表单中并提交,然后处理服务器端(PHP)...或让JavaScript获取值并通过AJAX提交到服务器端脚本。无论哪种方式,您都必须拥有一个脚本服务器端来获取这些值,构建查询并生成数据库条目。

作为旁注,您可能希望为每个HTML组件创建id元素,以便您可以轻松地从POST检索这些值,如此...

<select id="colby" name="colby" width=200>