简体   繁体   English

如何从mysql中选择不同的行并在单个页面中更新它们

[英]how to select different rows from mysql and update them in a single page

I want to select some rows from sql database . 我想从sql数据库中选择一些行。 first user should insert two variable that I can select this rows . 第一个用户应该插入两个变量,我可以选择此行。 then in this page there is table that will update this rows but the problem is when I choose this columns without inputs I'm able to update the database but when I want to use input variables it shows the table but it cannot update it . 然后在此页面中有一个可以更新该行的表,但是问题是当我选择没有输入的列时我能够更新数据库,但是当我想使用输入变量时它显示了表格但无法更新它。 where did I make a mistake ? 我在哪里弄错了?

selecting databse columns without using inputs : 在不使用输入的情况下选择数据库列:

<?php
include 'mytool.php';
        // username and password sent from form
    $myusername=$_SESSION["mys"];

    $host="localhost"; // Host name
    $username='username'; // Mysql username
    $password='password'; // Mysql password
    $db_name="db"; // Database name
    $tbl_name="test"; // Table name

    // Connect to server and select database.

     $link=mysql_connect($host,$username,$password)or die("cannot connect");
    $selected=mysql_select_db($db_name,$link)or die("cannot select DB");
    $sql="SELECT * FROM $tbl_name where classnum='106' and level='i4' ";

    $result=mysql_query($sql,$link);

    $count=mysql_num_rows($result);     

?>

input variables : 输入变量:

<form id="searchform" method="post" dir="rtl" action=""> 
                    level :<input name="level"  type="text" id="level" />
                    classnumber :<input name="classnum"  type="text" id="classnum" />

                           <input style="margin-top:10px; margin-left:120px; font-size: 14px;  padding: 5px 14px;" type="submit" value="search" name="enter"   />

                </form>

                <?php   
                    if(isset($_POST['enter'])){         
                    $sql="SELECT * FROM $tbl_name where classnum='106' and level='i4' ";

                    $result=mysql_query($sql,$link);

                    $count=mysql_num_rows($result);
                    }
                ?>

update table code after code above : 在上面的代码之后更新表代码:

 <form name="form1" action="" method="POST">
                                <center>
                                    <div>
                                        <div align="center" width = 615>
                                            <table class="stats" cellspacing="0" width="615" border="1">
                                                <tr>
                                                    <th width="20" scope="col" >Id</th>
                                                    <th width="60" scope="col">Name</th>
                                                    <th width="60" scope="col">Last Name</th>
                                                    <th width="42" scope="col">Midterm</th> 
                                                    <th width="54" scope="col">Class mark</th>
                                                    <th width="42" scope="col">Final Quiz</th>
                                                    <th width="54" scope="col">State</th>
                                                    <th width="54" scope="col">Details</th>

                                                </tr>
                                                <?php
                                                while($rows=mysql_fetch_array($result)){
                                                    $id[]=$rows['id']; 
                                                 ?>
                                                <tr>
                                                    <td align="center">
                                                    <input name="id[]" type="text" id="id" value="<? echo $rows['id']; ?>" >
                                                    </td>
                                                    <td align="center"><input type="text" name="name[]" id="name" value= "<? echo $rows['name']; ?>"  /></td>
                                                    <td align="center"><input type="text" name="lastname[]" id="lastname" value= "<? echo $rows['lastname']; ?>"  /></td> 
                                                    <td align="center"><input type="text" name="midmark[]" id="midmark" /></td>
                                                    <td align="center"><input type="text" name="classmark[]" id="classmark" /></td>
                                                    <td align="center"><input type="text" name="finalmark[]" id="finalmark" /></td>
                                                    <td align="center"><input type="text" name="state[]" id="state" /></td>
                                                    <td align="center"><input type="text" name="details[]" id="details"  /></td>

                                                </tr>
                                                <?php
                                                 }
                                                 ?>
                                            </table>
                                        </div>

                                <input type="submit" value="ثبت" name="Submit"   />
                                </form>

                                <?php
                                // Check if button name "Submit" is active, do this 
                                if(isset($_POST['Submit']))
                                {
                                     for($i=0;$i<$count;$i++)
                                     {
                                    $sql1=mysql_query(" UPDATE `".$tbl_name."` SET midmark='".$_REQUEST['midmark'][$i]."' , classmark='".$_REQUEST['classmark'][$i]."' , finalmark='".$_REQUEST['finalmark'][$i]."' , state='".$_REQUEST['state'][$i]."' , details='".$_REQUEST['details'][$i]."'  WHERE id='".$_REQUEST['id'][$i]."' ");
                                    $result1=mysql_query($sql1);
                                    }
                                }

                                    if($result1){
                                    header("location:results.php");
                                    }
                                    mysql_close();
                                ?>

compare these lines. 比较这些行。

if(isset($_POST['Submit']))
           {
                for($i=0;$i<$count;$i++)
                 {
                    **$sql1=mysql_query(" UPDATE `".$tbl_name."` SET midmark='".$_REQUEST['midmark'][$i]."' , classmark='".$_REQUEST['classmark'][$i]."' , finalmark='".$_REQUEST['finalmark'][$i]."' , state='".$_REQUEST['state'][$i]."' , details='".$_REQUEST['details'][$i]."'  WHERE id='".$_REQUEST['id'][$i]."' ");
                    $result1=mysql_query($sql1);**
                 }
           }

with these one. 与这些之一。

$sql1=" UPDATE `".$tbl_name."` SET midmark='".$_REQUEST['midmark'][$i]."' , classmark='".$_REQUEST['classmark'][$i]."' , finalmark='".$_REQUEST['finalmark'][$i]."' , state='".$_REQUEST['state'][$i]."' , details='".$_REQUEST['details'][$i]."'  WHERE id='".$_REQUEST['id'][$i]."' ";
$result1=mysql_query($sql1);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从laravel中的两个表中选择行并将其作为单个列表返回 - How to select rows from two tables in laravel and return them as a single list 如何通过一次查询从 mysql 获取 select 多行并在 php 中使用它们 - How to select multiple rows from mysql with one query and use them in php 带有来自不同数据库的嵌套 SELECT 的 MYSQL UPDATE - MYSQL UPDATE with nested SELECT from different databases 如何使用单个查询更新mysql中的单列和多行 - how to update single column and multiple rows in mysql using single query 如何选择行并更新它们而不会出现并发问题? - How to select rows and update them without concurrency issues? 如何选择一些具有特定值的行并在mysql中对它们进行排序 - How to select some rows with specific values and sort them in mysql 如何从 mysql 数据库中选择随机行(比如 100 中的 10)并用数字串联显示它们 - How do I select random rows (say 10 from 100) from mysql database and display them with a number in series 一条更新语句来更新多行mysql - Single update statement to update multiple rows mysql 如何从具有稍微不同的列的两个表中选择行? 我该如何抵消呢? - How can I select rows from two tables that have slightly different columns? How can I offset them? 在计数时更新 mysql 行 - Update mysql rows while counting them
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM