PHP Güncelleme masa boş alanları ekler

2 Cevap php

GÜNCELLEME: Ben tüm eserlerini, birisi bu açıklayabilir misiniz header.php dosyasında bu etiketi kurtuldum zaman ben onu indirdim.

<script src="#" type="text/javascript"></script>

Merhaba benim php kodu ile oldukça can sıkıcı sorunu yaşıyorum. Ancak veri tabanındaki alanları gönderdikten sonra boş olur bunu zaman ben, bir formdan, bir php veritabanını güncellemek için çalışıyorum. Lütfen Yardım! Burada eylem görebilirsiniz http://andcreate.com/shoelace/admin/edit1.php bunları düzenlemek için sağdaki listelerinde tıklayın ve ne olduğunu görün.

<?php
include("header.php");

echo "<h2>Edit Posts</h2>";

echo "<div id='editNav'>";
echo "<p>Choose Post to Edit</p>";




//////////GET ALL RECORDS AND BUILD A NAV SYSTEM FROM THEM////////
$results = mysql_query("SELECT * FROM shoeData ");



while($row = mysql_fetch_array($results)){




 $id = $row['id'];
 $name = $row['name'];
 $about = $row['about'];

 echo "$date <a href=\"" . $_SERVER['PHP_SELF'] . "?id=$id" . "\">" . substr($name, 0, 40) . " </a> <br/> ";


 }

$thisID = $_GET['id'];

if(!isset($thisID)){
 $thisID = 22;

}




//////////FINISH ALL RECORDS AND BUILD A NAV SYSTEM FROM THEM////////

echo "</div>";



///////IF USER SUBMITS CHANGES UPDATE THE DATABASE//////////
//has user pressed the button
$update = $_GET['update'];

if($update == "yes") {

 $name = $_POST['name'];

 $about =  $_POST['about'];

 $company =  $_POST['company'];

 $buy =  $_POST['buy'];



 //update data for this record
 $sql = "UPDATE shoeData SET 
 name = \"$name\",
 about = \"$about\",
 company = \"$company\",
 buy = \"$buy\"
 WHERE id= $thisID";
 $thisUpdate = mysql_query($sql) or die(mysql_error());


}




///////END IF USER SUBMITS CHANGES UPDATE THE DATABASE//////////




/////////// HERE WE GET THE INFO FOR ONE RECORD ONLY//////// 
$results = mysql_query("SELECT * FROM shoeData WHERE id=$thisID");



while($row = mysql_fetch_array($results)){


 $name = $row['name'];

 $about = $row['about'];

 $company = $row['company'];

 $buy = $row['buy'];

}
//////////////FINISH GETTING INFO FOR ONE RECORD ONLY/////////////



?>

<form name="formS" method="post" action="<?php echo $_SERVER['PHP_SELF']."?id=$thisID&update=yes";?>">

Name
<p>
<input type="text" name="name" id="name" value="<?php echo $name;?>" />
</p>
About
<p>
<input type="text" name="about" id="about" value="<?php echo $about;?>" />
</p>
Company
<p>
<input type="text" name="company" id="company" value="<?php echo $company;?>" />
</p>
Name
<p>
<input type="text" name="buy" id="buy" value="<?php echo $buy;?>" />
</p>



<p>
<input type="submit" name="submit" id="submit"  />
</p>




</form>
<p><a class="delete" href="delete.php?id=<?php echo $thisID;?>">Delete this post</a></p>

<?php
include("footer.php");
?>

2 Cevap

Sen $update = $_GET['update']; var, ama bundan hemen sonra, $_POST kullanıyorsunuz. Belirli bir istek GET ya da POST değil - hem böylece her $_GET['update'] ayarlandığında "evet", böylece güncelleştirme var be herhangi POST ayarlamak vars gidiş değil, oldukları boş kuruyor tüm değerleri ile yapılacaktır.

Şansını aslında ya $_GET veya $_POST hem yerlerde kullanmak içindir - Kullanmak istediğiniz gibi güncellemeler geçiyor beri, ama boş, geliyor {[(0) }] (form gönderme / güncellemeleri için, muhtemelen gerçekten yerine POST kullanarak olmalıdır rağmen).

Bu saçma görünebilir, ama sen $_GET ve $_POST değişkenleri karıştırıyorsun? Sen döngü girmek için olmadığını kontrol birini kullanın ve başka bir dize doldurmak için.

Ayrıca, bir kenara reşit olarak, pasajın sonuna doğru sizin SELECT deyimi gibi muhtemelen sadece hatırlatarak gidiyoruz, LIMIT 1 bunu sonuna ekleyerek optimize edilebilir bir id başına girdi, hayır?