2016-04-07 19 views
1

Sorum şu: Tablodaki tek bir kaydı seçerek ve seçilen veriyi tam veri ile başka bir sayfada bularak belirli bir kaydın güncellenmesiyle ilgili. İhtiyacım olan tüm girdi alanları ile başka bir dosya oluşturmak zorunda kalacağımı biliyorum, ama sorum şu, oraya nasıl ulaşıp seçtiğim veri bilgisini gönderiyorum, o zaman bu bilgiyi nasıl ekleyebilirim ve kayıtlara izin veriyorum güncellenecek?Belirli dosya kayıtlarını diğer dosyalara nasıl gönderilir

ı bir tablo şöyle "Ürünler" çağrısında diyelim: Ben yanındaki "Düzenle" düğmesi tıklarsanız

ID Name Amount 

1 Shoes $10 Edit 

2 Hats $5 Edit 

beni tanır ben farklı bir sayfaya gitmek istiyorum "Ayakkabı" hangi seçilen kayıt için tüm bilgileri düzenlemek için

<form method="POST"> 
    <input name="first" placeholder="First Name"> 
    <input name="last" placeholder="Last Name"> 
    <input name="product" placeholder="Product"> 
    <button name="add" type="submit">Add</button> 
</form> 
</div> 
<hr> 
<table> 
<thead> 
    <tr> 
     <th>ID</th> 
     <th>Name</th> 
     <th>Amount</th> 
     <th></th> 
    </tr> 
</thead> 
<tbody> 
    <?php 
     $stmt = $dbc->query("SELECT * FROM users"); 
     $stmt->setFetchMode(PDO::FETCH_ASSOC); 

     while($row = $stmt->fetch()) { 
     ?> 
    <form method="POST"> 
     <tr> 
     <td><?php echo $row['id'];?></td> 
     <td><?php echo $row['name'];?></td> 
     <td><?php echo $row['amount'];?></td> 
     <td><button name="edit" type="submit">Edit</button></td> 
     </tr> 
    </form> 
    <?php } ?> 
</tbody> 
+0

Gizli dosyalandırarak verileri gönderebilirsiniz! Saty

+0

gibi bilgiler Bir sonraki sayfaya gönderemez misiniz? –

+0

Bunu nasıl yapacağımı bilmiyorum, bu yüzden soruyorum. – Becky

cevap

3

Sen other_page.php sonra

$name=$_POST['name']; 
$id=$_POST['id']; 
$amount=$_POST['amount']; 
+1

evet bu yol dostum –

+0

@Saty Bunu yapabilir miyim? '... Daha sonra bilgiyi nasıl edinebilir ve kullanabilirim? diğer dosyada? – Becky

+0

Cevabımda bak, form etiketinde bir ekleme eylemi. 'Edit_page.php' olarak bir dosya adı oluşturmanız ve bu sayfanın içinde, yazdırma verilerinizi kontrol etmek için print_r ($ _ POST) 'ı kullanmanız gerekiyor – Saty

1
<form method="POST" action="other_page.php"> 
     <tr> 
      <input type="hidden" name="id" value="<?php echo $row['id'] ?>" /> 
      <input type="hidden" name="name" value="<?php echo $row['name'] ?>" /> 
      <input type="hidden" name="amount" value="<?php echo $row['amount'] ?>" /> 

      <td><?php echo $row['id'];?></td> 
      <td><?php echo $row['name'];?></td> 
      <td><?php echo $row['amount'];?></td> 
      <td><button name="edit" type="submit">Edit</button></td> 
     </tr> 
</form> 

Ve

<form method="POST" action="edit_page.php">// add action here 
     <tr> 
      <td><?php echo $row['id'];?></td> 
      <td><?php echo $row['name'];?></td> 
      <td><?php echo $row['amount'];?></td> 
      <input name="name" type="hidden" value="<?php echo $row['name'];?>"> 
      <input name="id" type="hidden" value="<?php echo $row['id'];?>"> 
      <input name="amount" type="hidden" value="<?php echo $row['amount'];?>"> 
      <td><button name="edit" type="submit">Edit</button></td> 
     </tr> 
    </form> 

Ve edit_page.php kullanımda gizli alanını kullanarak bir sonraki sayfaya form verilerini gönderebilir:

<?php 

    $stmt = $dbc->query("SELECT * FROM products WHERE `id`=".$_POST['id'].";"); 
    $stmt->setFetchMode(PDO::FETCH_ASSOC); 
    ?> 


    <form method="POST" action="<?php echo htmlspecialchars($_SERVER['PHP_SELF']) ?>"> 
     <input type="text" name="id" value="<?php echo $row['id'] ?>" /> 
     <input type="text" name="name" value="<?php echo $row['name'] ?>" /> 
     <input type="text" name="amount" value="<?php echo $row['amount'] ?>" /> 
     <button name="update" type="submit">Edit</button> 
    </form> 

    <?php 
    if (isset($_POST['update'])){ // if the update button is clicked 
     // write your update query here, with $id = $_POST['id'] and so on... 
    } 
+0

Teşekkür ederim! Sorgu sayfası için bu hatayı alıyorum. Parse hatası: sözdizimi hatası, beklenmedik '' (T_ENCAPSED_AND_WHITESPACE), tanımlayıcı bekliyor (T_STRING) o r variable (T_VARIABLE) veya sayı (T_NUM_STRING' – Becky

+0

Sorguyu düzenledim. Şimdi deneyebilir misin? – D14n4

İlgili konular