【问题标题】:Is there a way to get value of variable of each row of mysql_fetch_array using button有没有办法使用按钮获取 mysql_fetch_array 每一行的变量值
【发布时间】:2014-10-06 13:38:15
【问题描述】:

我最近一直在搜索,但无法找到有关循环问题的解决方案...
我目前正在一个页面上工作,该页面将显示来自数据库的交易并让您使用按钮付款。

我制作了一个表格,并使用 while($row = mysql_fetch_array($query)) 在每一行的最后一列放置了一个按钮。
我使用了 isset ,每次单击按钮时,某些会话将存储对应于行的值...但问题是无论我单击的按钮是在第一行、第二行还是第三行,我得到的值都来了从最后一行开始。

有没有办法获取每行变量的值?以下是代码:

    $qry1=mysql_query("SELECT * FROM request WHERE client_id ='".$_SESSION['client_id']."'");
                $check = mysql_num_rows($qry1);
 if ($check == 0) {  echo "There are no recent transactions to display.";  }
else{


                $table = "<table align= 'center' border='1' bordercolor='#ccc' cellpadding='20'>";
                $table .= "<tr><th>REQUEST #</th><th>DATE</th><th>TIME</th><th>EVENT</th><th>PRICE</th><th>STATUS</th><th></th></tr>";

                while($row = mysql_fetch_array($query)){
                                print_r($row);
                $rid = $row['request_id'];
                $reid = $row['event_id'];
                $raid = $row['addons_id'];
                $reprice = $row['request_price'];
                $redate = $row['event_date'];
                $retime = $row['event_time'];
                $restatus = $row['event_status'];


                if($reid==1 || $reid==2 || $reid==3){
                $debut="Standard Debut";

                }
                else { $debut="Kids Party";
                }

            $table .= "<tr><td align = center># ".$rid."</td><td>".$redate."</td><td>".$retime."</td><td align= center>".$debut."</td><td align=center>P".$reprice.".00</td><td align=center>".$restatus."</td>";
                if($restatus=='PENDING')
                {
                $table .= "<td align=center>";
                $table .= "<form method='post'>";

                $table .= "<input type='submit' name='btnSubmit' id='btnSubmit' value='Pay' tabindex='0' />        
                </form>
                </td>";
                include "../pages/my_reqsubmit.php";
                }
                else
                {
                    $table .= "<td align=center>--</td>";
                }   

     $table .= "</tr>";



     }

            $table .= "</table>";                   




                echo $table;

my_reqsubmit.php 的代码:

    if(isset($_POST["btnSubmit"]))
 {
 include("../pages/config.php");    
 $URL= "../request/view.php";
 $_SESSION['RequestUser']="asd";
 $_SESSION['dtRequest'] = $redate;  
 $_SESSION['tmRequest'] = $retime;
 $_SESSION['etype'] = $debut;
 $_SESSION['addons_id'] = $raid;


if($reid==1){
$_SESSION['epack']= "Package A";
}
else if($reid==2){
$_SESSION['epack']= "Package B";
}
else if($reid==3){
$_SESSION['epack']= "Package C";
}
else if($reid==4){
$_SESSION['epack']= "Package A";
}
else if($reid==5){
$_SESSION['epack']= "Package B";
}
else if($reid==6){
$_SESSION['epack']= "Package C";
}


                $qrry2 = mysql_query("SELECT * FROM addons WHERE addons_id =$raid");
                while($row = mysql_fetch_array($qrry2)){
$_SESSION['pservice'] = $row['addons_ps'];
$_SESSION['pbooth'] = $row['addons_pb'];
$_SESSION['mbar'] = $row['addons_mb'];  
$_SESSION['phprice'] = 3500;
$_SESSION['pbprice'] = 5000;
$_SESSION['mbprice'] = 11000;
}
    $qrry3 = mysql_query("SELECT * FROM event WHERE event_id =$reid");
    while($row = mysql_fetch_array($qrry3)){
$_SESSION['eprice'] = $row['event_price'];
            }

$_SESSION['price'] = $reprice;

header ("Location: $URL"); 
   }
       ?>

请帮帮我...我真的很感激!

【问题讨论】:

  • 请don't use mysql_* functions。 它们不再被维护并且是officially deprecated。看到red box?改为了解prepared statements,并使用PDO 或MySQLi。 This article 将帮助您决定哪个。
  • 我们的按钮似乎没有发布任何对其所在行的引用。您的后端应该如何知道要更改哪个事务?
  • @ToBe 你是对的!对不起,我完全是一个编程初学者,你能推荐任何我可以使用的方法吗?
  • 在表单中添加一个隐藏变量并使用它。 echo "&lt;input type='hidden' name='rowid' value='".$myRowId."'&gt;";
  • @ToBe 谢谢你成功了!我将每个变量都设为隐藏输入。

标签: php arrays


【解决方案1】:

您需要在按钮中包含 SOMETHING 以将该行的按钮与匹配的数据库记录相关联。我将改用&lt;a&gt; 标签,但按钮使用完全相同的概念:

<a href="viewrecord.php?id=1">Click here for record #1</a>
                           ^---the ID of the record that this button/link would use
<a href="viewrecord.php?id=2">Click here for record #2</a>
<a href="viewrecord.php?id=3">Click here for record #3</a>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多