PHP从HTML表中获取数据以更新MySQL数据库

时间:2012-08-30 07:56:39

标签: php mysql html-table

我有一点问题,我需要的是从这个HTML表中读取数据,问题是我不知道我会有多少表行,因为我从MySQL中选择了数据,所以我真正想要的在select之后,要在HTML表格中添加一些特定的数据:

<td><input type="text" size="5px"></td>

和按钮单击以从所有新表行输入中读取数据。

<table style="display:inline">
<tr>
<td></td>
<th>Home team</th>
<td></td>
<td></td>
<td></td>
<th>Away team</th>
</tr>

<?php
$i=0;
while ($i < $num) {
$Tim1=mysql_result($result,$i,"HomeTeamID");    
$Tim1Name=mysql_result($result,$i,"HomeTeam");
$Tim2=mysql_result($result,$i,"AwayTeamID");
$Tim2Name=mysql_result($result,$i,"AwayTeam");      
$rez=mysql_result($result,$i,"MatchID");        

?>
<tr>
<td class="ID" id="<?php echo $rez;?>"><input value="<?php echo $rez;?>" 
 name="<?php echo $rez;?>" type="hidden" style="display: none">
</td>
<td><label style="padding-right:10px" ><?php echo($Tim1Name); ?></label></td>

<td><input type="text" size="5px"></td>

<td><label>:</label></td>

<td><input type="text" size="5px"></td>

<td><label style="padding-left:10px"><?php echo($Tim2Name); ?></label></td>
</tr>

        <?php
        $i++;
    }   
    ?>
 <tr align="right" style="padding-top:5px">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td><input type="submit" value="Insert" name="Insert"></td>
 </tr>
 </table>   

如果你不理解我的问题,请问你想要什么,我会回答。

2 个答案:

答案 0 :(得分:0)

尝试使用以下

首先在你的头部

中添加一个jquery库

然后构建一个像这样的函数

$(document).ready(function(){

$('.insert').click(function({

$('.testValues').each(function(){
var Values=$(this).attr('title');


$(this).val(Values);
$(this).attr('title','');
});
});

});

并将您的HTML更改为影响上述代码,如下所示

<table style="display:inline">
<tr>
<td></td>
<th>Home team</th>
<td></td>
<td></td>
<td></td>
<th>Away team</th>
</tr>

<?php
$i=0;
while ($i < $num) {
$Tim1=mysql_result($result,$i,"HomeTeamID");    
$Tim1Name=mysql_result($result,$i,"HomeTeam");
$Tim2=mysql_result($result,$i,"AwayTeamID");
$Tim2Name=mysql_result($result,$i,"AwayTeam");      
$rez=mysql_result($result,$i,"MatchID");        

?>
<tr>
<td class="ID" id="<?php echo $rez;?>"><input value="<?php echo $rez;?>" 
 name="<?php echo $rez;?>" type="hidden" style="display: none">
</td>
<td><label style="padding-right:10px" ><?php echo($Tim1Name); ?></label></td>

<td><input type="text" size="5px" class="testvalues" title="<?php echo($Tim1); ?>"></td>

<td><label>:</label></td>

<td><input type="text" size="5px" class="testvalues" title="<?php echo($Tim2); ?>"></td>

<td><label style="padding-left:10px"><?php echo($Tim2Name); ?></label></td>
</tr>

        <?php
        $i++;
    }   
    ?>
 <tr align="right" style="padding-top:5px">
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td></td>
 <td><input type="button" value="Insert" name="Insert" class="insert"></td>
 </tr>
 </table>   

由于我没有调试代码,所以请检查错误控制台放置该代码并且不要忘记添加jquery库

答案 1 :(得分:0)

您可以使用JQuery循环遍历表并提取值。我无法理解从表中再次读取数据的目的是什么..但请尝试下面的代码:

假设你的桌子有一个id,

<table id='teams_table'>

然后使用此JQuery脚本循环遍历表行;

var cells = 6; //number of collumns
var cell_text = '';

$('tr',$('#teams_table')).each(function(){
  for(var i = 0 ; i < cells ; i++){
    cell_text = $(this).find('td').eq(i).text();
    //do what ever you want with cell_text
  }
});

如果您需要更多帮助,请更详细地描述您的方案。

希望这有帮助! : - )