Burada garip bir sorun biraz ...
Ben çalışmıyor bir güncelleştirme sorgusu var ve ben bana yaşam için neden çalışmak değil!
Benim tablo iki üç alan vardır - 'id' (int, otomatik artış), 'tarih' (tarih), ve (ondalık) 'amountraised'. Ben hesaplar bağış geliştiriyorum app parçası bir hayır kitap sergisi ile yapılan her hafta toplam. 'Tarih' alanı olarak başka bir yerde ben hesaplamalarda tarihleri kullanıyorum sitede bir tarih sütun türünü kullanır.
Başka bir yerde sistem içinde ben sadece iyi çalışan diğer güncelleştirme sorguları var, ama (bu bir sorun de kayıt güncelleme gibi ben aynı zamanda tarih biçimini manipüle etmeye çalışıyorum olduğunu sanıyorum I can böylece İngiliz gg-aa-yyyy biçiminde tarihleri girin ve ardından MySQL dostu yyyy-aa-gg biçime geri dönüştürmek için PHP kullanabilirsiniz.
Bu garip bit. Sitede onay sayfasına göre, sorgu tamam tükendi ve güncelleme yapılmış, ama ben veritabanını kontrol ettiğimde, hiçbir şey değişmedi. Yani sorgunun çıktı ben alıyorum ne olduğunu görmek için web sayfasına sonuç yankılanan denedim ne olduğunu kontrol edebilir. Beklenen değerler sayfada orada göstermek, ama ben veritabanını kontrol ettiğimde yine, hiçbir şey güncelleştirilmiş.
Bu tarih dönüştürme fonksiyonu ile benim güncelleme şeklidir:
function dateconvert($date,$func) {
if ($func == 1){ //insert conversion
list($day, $month, $year) = split('[/.-]', $date);
$date = "$year-$month-$day";
return $date;
}
if ($func == 2){ //output conversion
list($year, $month, $day) = split('[-.]', $date);
$date = "$day/$month/$year";
return $date;
}
} // end function
require_once('/home/thebooks/admins/connect.php');
$id = $_GET['id'];
$dateinput = $_GET['dateinput'];
$query = "SELECT * FROM fundraisingtotal WHERE id='$id'";
$result = mysql_query($query);
$row = mysql_fetch_array($result);
extract($row);
$date = $row['date']; //your mysql date
$realdate = dateconvert($date,2); // convert date to British date
$amountraised = stripslashes($amountraised); //amount raised
mysql_close();?>
<div id="title">Update Fundraising Total</div>
<form id="updatetotals" action="updated.php" method="post">
<div class="row"><label for="dateinput" class="col1">Date </label><span class="col2"><input id="dateinput" name="dateinput" type="text" size="25" value="<?php echo $realdate ?>" maxlength="10" /></span></div>
<div class="row"><label for="amountraised" class="col1">Fundraising Total </label><span class="col2"><input id="amountraised" name="amountraised" type="text" size="25" value="<?php echo $amountraised ?>" maxlength="7" /></span></div>
<div class="submit"><input type="submit" name="submitted" value="Update" /><input type="reset" name="reset" value="Clear the form" /></div>
<input type="hidden" name="id" value="<?php echo $id ?>" />
</form>
... Ve bu form işleme / sorgu sayfası:
require_once('/home/thebooks/admins/connect.php');
$dateinput = $_POST['dateinput'];
// Date conversion from: http://www.phpbuilder.com/annotate/message.php3?id=1031006
// using type 1
$convdate = $_POST['dateinput']; // get the data from the form
$convdate = dateconvert($convdate, 1); // Would convert to e.g. 2005-12-19 which is the format stored by mysql
function dateconvert($convdate,$func) {
if ($func == 1){ //insert conversion
list($day, $month, $year) = split('[/.-]', $convdate);
$date = "$year-$month-$day";
return $date;
}
if ($func == 2){ //output conversion
list($year, $month, $day) = split('[-.]', $convdate);
$date = "$day/$month/$year";
return $date;
}
}
$date = "$convdate";
$amountraised = $_POST['amountraised'];
$update = "UPDATE fundraisingtotal SET date = '$date', amountraised = '$amountraised' WHERE id='$id' ";
$result = mysql_query($update);
$realdate = dateconvert($date,2); // convert date to British date
if ($result) {
echo "<p class=\"dbpara\">Thank you. Your update to the record was successful.</p>";
echo "<p class=\"dbpara\">The record has been amended to a date of <b>$realdate</b> and amount of <b>$amountraised</b>.</p>";
}
else {
echo "<p>Nothing has been changed.</p>";
}
mysql_close();
Garip bir şey onay metni "rekor ... vs tadil edilmiştir" olduğunu görüntüler tam beklendiği gibi, ama ben veritabanını kontrol ederken, kayıt tüm güncellenmiş değil.
Şimdi için odun göremiyorum ben ben tarih biçimleri ile karıştırmasını ile eksik ya da yanlış sırada bir şey var bir şey olmalı eminim, ama ben bu kadar çok farklı varyasyonları denedim ağaçlar. Ben burada yanlış ne yapıyorum Herkes herhangi bir fikir?