【问题标题】:Modify a value on a PHP/mysql table and update the table on the server修改 PHP/mysql 表上的值并更新服务器上的表
【发布时间】:2014-05-28 22:18:22
【问题描述】:

我有一张包含足球比赛和预测的表格。

| ID | home_team | home_result | away_team | away_result | date&time | location

我可以在 php 上显示表格,但如何使用此表格更新服务器上的“主场结果”和“客场结果”?比赛开始后如何禁用此字段?

此代码工作正常,但我无法修改本地和远离此的结果。我想做类似this:

**更新代码工作

 <html> 
 <head></head> 
 <body> 
 </form> 
 <form action="pruebalista.php" method="post" name="groups" >  
 <select name="value">  
    <option value="All">All</option> 
    <option value="A">A</option>  
    <option value="B">B</option>  
    <option value="C">C</option>  
     <option value="D">D</option>  
    <option value="E">E</option>  
    <option value="F">F</option>  
     <option value="G">G</option>  
    <option value="H">H</option>  
       </select>  
 <br />  
 <input type='submit' value = 'Filter'>  
 </form> 



<?php  
//connect to database, checking, etc  
$con=mysqli_connect("localhost","admin","password","world_cup");

// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}

// process form when posted 
if(isset($_POST['value'])) { 
if($_POST['value'] == 'All') { 

   $query = "SELECT * FROM matches";   
}   
else {   

    $value=$_POST['value'];
    $query = "SELECT * FROM matches WHERE Group='$value'";   
    }
 } else {   
    // query to get all records   
     $query = "SELECT * FROM partidos ORDER BY Group";   
 }


$sql = mysqli_query($con,$query); 
$count=mysqli_num_rows($sql); 
?>

<form action="update.PHP" method="post" name="update" >   

<?php

echo "<table border='3'>
<tr>
<th>ID</th>
<th>Grupo</th>
<th>Local</th>
<th>Resultado_local</th>
<th>Visitante</th>
<th>Resultado_visitante</th>
<th>Hora</th>
<th>Sede</th>
</tr>";


while ($row = mysqli_fetch_array($sql)){      
         ?>
        <input name="id[]" type="hidden" value="<?php echo $row['ID']; ?>">
        <?php            
        echo "<tr>";
        echo "<td valign=middle align=center width=auto>" . $row['ID'] . "</td>";
        echo "<td valign=middle align=center width=auto>" . $row['Group'] . "</td>";
        echo "<td valign=middle align=center width=auto>" . $row['home'] . "</td>";
        if ($row['Disabled'] === '1'){
        echo "<td valign=middle align=center width=auto> <input type='text' name='home_res[]' disabled value='". $row['Resultado_local'] . "'/></td>";
       echo "<td valign=middle align=center width=auto> <input type='text'  name='away_res[]' disabled value='". $row['Resultado_visitante'] . "'/></td>";</td>";

        }
        else{
        echo "<td valign=middle align=center width=auto> <input type='text' name='home_res[]' value='". $row['Resultado_local'] . "'/></td>";
        echo "<td valign=middle align=center width=auto> <input type='text'  name='away_res[]' value='". $row['Resultado_visitante'] . "'/></td>";</td>";

        }

        echo "<td valign=middle align=center width=auto>" . $row['Visitante'] . "</td>";

        echo "<td valign=middle align=center width=auto>" . $row['Time'] . "</td>";
        echo "<td valign=middle align=center width=auto>" . $row['city'] . "</td>";
        echo "</tr>";
} 
mysqli_close($con);  

echo "</table>";
?> 
<input type='submit' value ='update'>  
</form>

</body> 
</html>

最后我决定使用update.php。这是代码:

 <?php

 include 'pruebalista.php';

 // Connect to server and select database. 

//connect to database, checking, etc  
$con=mysqli_connect("192.168.36.251","kpsadmin","Bicentenario","mundial");

// Check connection
if (mysqli_connect_errno())
{
 echo "Failed to connect to MySQL: " . mysqli_connect_error();
 }

// find out how many records there are to update 
//$size = count($_POST['away_res']); 
 $size = count($_POST['home_res']); 

// start a loop in order to update each record 
$i = 0; 
while ($i < $size) { 
// define each variable 
$home = $_POST['home_res'][$i]; 
$away= $_POST['away_res'][$i]; 
$id = $_POST['id'][$i]; 


 // do the update and print out some info just to provide some visual feedback 
 $query = "UPDATE $tabla SET `Home_result`='$home', `Away_result`='$away' WHERE   `ID`='$id'"; 
 mysqli_query($con , $query) or die ("Error in query: $query"); 

 ++$i; 

 } 
 header("location: pruebalista.php");
 mysqli_close($con);
 ?> 

【问题讨论】:

  • 请做一点研究,这是php的基础……如果你还不知道,我给你答案。
  • 可能是我没有解释清楚我的英文不是很好,我想直接更新表格,更改主页上出现的表格上的数据。
  • 花点时间学习如何编程,因为你似乎有点迷茫。如果您的应用程序连接到数据库,您只需执行 SQL 请求 UPDATE。为此,PHP 具有执行 SQL 的功能。例如: $sql = '更新 matable set champ1 = champ1 + 1 where id = 33'; mysql_query($sql);

标签: php mysql forms html-table updates


【解决方案1】:

花一些时间学习如何编程,因为你似乎有点迷茫。如果您的应用程序连接到数据库,您只需执行 SQL 请求 UPDATE。

为此,PHP 具有执行 SQL 的功能。

例如:

$host = "localhost";
$user = "root";
$passwd = "";
$database = "test";

// server connection
$link = mysql_connect($host, $user,$passwd);
if (!$link) {
  die('Error');
}

// database connection
$db_selected = mysql_select_db($database, $link);
if (!$db_selected) {
  die ('Error');
}

$sql = 'Update matable set champ1 = champ1 + 1 where id = 33';
mysql_query($sql);

如果您有更准确的问题,也许我可以帮助您。

编辑: 好的,所以它有点复杂。 在你之前开始添加其他表格。添加:

echo "<td valign=middle align=center width=auto>
<input type='text' name='home_res' value='". $row['home_result'] . "'/></td>";

同样考虑客场结果。 添加输入以提交表单(如我们的屏幕截图中所示) 现在,您可以使用 $_POST['home_res'] 为例从该表单中检索数据。 发出 UPDATE sql 请求并使用新数据执行。

在您可以像这样禁用 HTML 输入的文本之后:

<input type="text" name="lname" disabled>

当时间过去时,制作一些 Javascript 来从您的输入中删除禁用。

它会工作找到!

【讨论】:

  • 谢谢 ottoPsy,我更新了我的问题,希望你能理解我的问题。再次感谢。
  • 没问题,我现在在上班,下午晚些时候给你答复。
  • 谢谢,输入文本的一部分有效,但我无法更新表格。如果您可以检查,我更新了我的代码...
  • 你确定你已经更新了你所有的代码吗?你的文本输入在哪里?
  • 抱歉我没有更改那部分代码,现在更新
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-09
  • 1970-01-01
  • 2015-10-24
  • 1970-01-01
相关资源
最近更新 更多