Ben CRUD kullanıcı ayrıntıları için bir uygulama yazıyorum. Ben kullanıcı tabloya bir sorgu ile sayfa başlaması - ve sayfanın çeşitli form öğeleri doldurmak için (ve çiftleri kontrol etmek için) verileri kullanın. Tüm form gönderimler aynı sayfaya göndermek.
Beklendiği gibi, ekleme, silme ve değiştirme kayıtları çalışır - ama vurucu bir değişiklik sunulduktan sonra sayfadaki veri displayed buna göre güncelleme olmamasıdır - Ben ilgili değişiklikleri görmek için sayfayı tekrar zorunda .
try{
$user_sql = "SELECT user_ID, user_firstname,user_surname,user_email,user_type FROM users";
$user_stmt = $db->prepare($user_sql);
$user_stmt->execute();
$user_data = $user_stmt->fetchAll(PDO::FETCH_NAMED);
$i++;
}catch(PDOException $e){
echo "Error: cannot retrieve user data from the data base";
}
/*
* DELETE USER
*/
if(isset($_POST['deleteUser'])){
$_SESSION['deleteUser']=true;
}
if(isset($_POST['submitDeleteUserConfirm'])){
//process query
if($_POST['deleteUserConfirm']=='yes'){
$deleteRange=implode(',',$_POST['deleteUser']);
$deleteSql = 'DELETE FROM users WHERE ID_users IN (' . $deleteRange . ')';
try{$q = $db->prepare($deleteSql);
$q->execute();
}
catch(PDOException $e){
echo '<p>System Error: '. $e->getMessage() .'</p>';
}
}
//once confirmation has been processed:
//remove session trigger to hide confirmation form
if(isset($_SESSION['deleteUser'])){
unset($_SESSION['deleteUser']);
}
}
if(isset($_SESSION['deleteUser'])){
?>
<fieldset class="radiobox">
<legend>Confirm</legend>
<div>
<label for="deleteUserYes">Yes</label>
<input type="radio" class="radio" name="deleteUserConfirm" id="deleteUserYes" value="yes">
</div>
<div>
<label for="deleteUserNo">No</label>
<input type="radio" class="radio" name="deleteUserConfirm" id="deleteUserNo" value="no" checked>
</div>
<input type="submit" name="submitDeleteUserConfirm" value="Confirm">
</fieldset>
<?php
}
//small function to output all the elements of an array as checkboxes
$delStudentRollOpts = array(
'key'=>'users',
'sticky'=>true,
'data'=>array(
'values'=>$user_data,# USES DATA FROM START OF SCRIPT - NOT UPDATING ON PAGE REFRESH/FORM SUBMISSION
'name'=>array('user_firstname','user_surname')
),
'element_name'=>'delStudRoll_'.$n,
'types'=>array('checkbox'=>array('title'=>' ',
'name'=>'deleteUser',
'index'=>'ID_users'
))
);
echo $GA_form->generateRoll($delStudentRollOpts);
echo '<input type="submit" class="submit" name="submitDeleteUser_'.$n.'" value="Delete">';
echo '</fieldset>';
echo '</form>';
Bu çok devam eden bir çalışma olduğunu, bu yüzden üstlenmeden çok ihtiyacı ...
Kullanıcının bakış açısından:
1: Yeni veri girmek
2: formu göndermek
3: MySQL konsolundan db kontrol - eklenen yeni veri
4: gösterilir hiçbir yeni veri
5: ziyaret sayfa - tekrar yeni veriler (canlandırıcı yeniden göndermek yinelenen değerleri çalışırken bir hata tetikler) görüntülenir
Herkes herhangi bir fikir oluyor ne? Şu anda ben bir başlık ile sayfaya geri yönlendirme fikri ile oynuyor ki ...