2016-03-15 41 views
1

問:PHP,展出形式

如何在這樣一種方式,它始終是唯一的每個提供名稱顯示形式。 我不想將表單重定向到新頁面。

<?php 
$sqltable = mysql_query("SELECT * from TABLE"); 
?> 

<form action="" method="post" onsubmit="window.location.reload()"> 
//output truncatted 
<table> 

<?php 
while ($row = mysql_fetch_array($sqltable)) 
     { 
     echo "<tr> "; 
     echo "<td>" . $row[offername] . "</td>"; 
     echo "<td>" . $row[points] . "</td>"; 
     echo "<td><input type='submit' value='Purchase' name='offername'</td>"; 
     } 
     echo "</tr> "; 
?> 

</table> 
</form> 

offername= offer1, offer2 , offer3, offer4, offerN 
points = 100 , 200 , 10  , 50 , xxx 

期望的輸出。

點擊與offer1時提交按鈕,是應該更名爲offer1和其他offernames也一樣如此。或者,表格應提交給相應的offername。

+0

如果你不想重定向,你必須使用javasript做你想做什麼。 – Mattia

+0

@Javed:不要使用無關標籤發送垃圾郵件。我現在刪除它們 –

+0

哪個irerelavant標籤我用? ,請註明,這樣我可以刪除它們 – Javed

回答

0

試試這個代碼

<?php 
$sqltable = mysql_query("SELECT * from TABLE"); 

//offername= offer1, offer2 , offer3, offer4, offerN 
//points = 100 , 200 , 10  , 50 , xxx 

if(isset($_POST['Purchase']) && $_POST['Purchase'] == 'Purchase'){ 
    if(isset($_POST['offername'])) 
     echo 'Submitted offer name is '.$_POST['offername'][0]; 
    else 
     echo 'No offers selected'; 
} 
?> 
<form action="" method="post" onsubmit="window.location.reload()"> 

<table> 
<?php 
while ($row = mysql_fetch_array($sqltable)) 
{ 
echo "<tr> "; 
echo "<td>" . $row['offername'] . "</td>"; 
echo "<td>" . $row['points'] . "</td>"; 
echo "<td><input type='radio' name='offername[]' value='".$row['offername']."'></td>"; 
echo "</tr> "; 
} 
echo "<tr><td colspan='3'><input type='submit' value='Purchase' name='Purchase'></td></tr>"; 
?> 
</table> 
</form> 
+0

完美!正是我在找什麼 – Javed

0

這將工作創建一個輸入元件作爲陣列。

<?php 
$sqltable = mysql_query("SELECT * from TABLE"); 
?> 

<form action="" method="post" onsubmit="window.location.reload()"> 
//output truncatted 
<table> 

<?php 
while ($row = mysql_fetch_array($sqltable)) 
     { 
     echo "<tr> "; 
     echo "<td>" . $row[offername] . "</td>"; 
     echo "<td>" . $row[points] . "</td>"; 
     echo "<td><input type='submit' value='Purchase' name='offername[]'></td>"; 
     } 
     echo "</tr> "; 
?> 

</table> 
</form> 

//offername= offer1, offer2 , offer3, offer4, offerN 
//points = 100 , 200 , 10  , 50 , xxx 

if(isset($_POST['offername'])){ 
    $offernameArr=$_POST['offername']; 
    foreach($offernameArr as $key => $offername){ 
     //your code goes here 
    } 
} 
+0

看起來不錯,我怎麼知道哪些offername被點擊,並針對其offername運行的代碼。 – Javed

+0

我已經測試過它,在foreach中,echo「Value:$ offername,Key:$ key」; ,它總是給我「價值:購買,密鑰:0」,似乎沒有工作 – Javed

0
//form.php  


<?php 
    $sqltable = mysql_query("SELECT * from TABLE"); 
if($_GET['offername']){ 
$offer = $_GET['offername']; 
// now you have desired offer name in $offer you can fetch data from db with given offername in where clause and use here 
} 
    ?> 

    <table> 

    <?php 
    while ($row = mysql_fetch_array($sqltable)) 
      { 
      echo "<tr> "; 
      echo "<td>" . $row['offername'] . "</td>"; 
      echo "<td>" . $row['points'] . "</td>"; 
      echo "<td><a href='form.php?offername=".$row['offername']."'><input type='submit' value='".$row['offername']."' name='submit'></a></td>"; 
      } 
      echo "</tr> "; 
    ?> 

    </table>