Ben yöntemi son kullanıcıya okunabilir geribildirim verirken kullanmak için en iyisi olduğundan emin değilim. Ben bazı forumlarda okudum ama gerçekten herhangi akıllıca kazanılmış değil (ya da ben bunu anlamış değil) ettik
Ben ekleme / güncelleştirme başarısız olduğunda (bir öğe alread varsa kontrol gibi), özel geribildirim verirken bir başarıdır ve ne zaman, geribildirim vermek istiyorum.
On INSERT, UPDATE, DELETE, DROP etc., the query returns either TRUE or FALSE. Therefor my result property $this->query_result should always be either true or false.
Benim konular:
- Dynamically display feedback to user after form submit (submits to same page)
- $this->query_result is true if it returns a string
Ben (yanlış yapıyorum) ne yapıyorum görmek için kod ekledik
Bunlar benim DB sorgulamak / bağlamak için kullanabileceğiniz işlevleri şunlardır:
public function connect()
{
if (!($this->conn = mysql_connect($this->host, $this->username, $this->pwd))) {
die("Error connecting to DB by user = " . $this->username);
}
$this->db = mysql_select_db($this->dbname,$this->conn)
or die("Unable to connect to database " . $this->dbname);
}
private function query($sql)
{
$this->query_result = mysql_query($sql, $this->conn)or die("Unable to query local database <b>". mysql_error()."</b><br>$sql");
if (!$this->query_result){
die("database query failed.");
} else {
return $this->query_result;
}
}
İşte benim sorunum: Ben Data Access Layer (DAL) hakkında geri bildirim veriyorum, örneğin bkz Bu:
public function addNewPerson($formData)
{
$sql = "INSERT INTO my_table(`name`, `email`, `www`)";
$sql .= " VALUES('".
$formData['name']."','".
$formData['email']."','".
$formData['www']."','");
$this->query($sql);
return $this->query_result;
}
By returning a text string, the return result will always be true. From what I read, I should probably have a function which handles errors / feedback.
Bu şu anda benim şablona geri besleme ile ne yapıyorum:
if (isset($_POST['form_submit']))
{
if (isset($_POST['person_submit'])) {
$formData = $sl->getFormData();
$result = $myDB->addNewPerson($formData);
if ($result == true)
{
echo '<script type="text/javascript" language="JavaScript">
jQuery("#contentArea .messageWindow1").show(500);
jQuery("#contentArea :input").click(function(){ jQuery("#contentArea .messageWindow1").hide(500); });
</script>';
} else {
echo '<script type="text/javascript" language="JavaScript">
jQuery("#contentArea .messageWindow2").show(500);
jQuery("#contentArea :input").click(function(){ jQuery("#contentArea .messageWindow2").hide(500); });
</script>';
}
}
}
<div id="contentArea">
<div class="messageWindow1"> <span class="msg"><?php echo $labelResult ?></span></div>
<div class="messageWindow2"> <span class="msg"><?php echo $labelResult ?></span></div>
</div>