Przerabiam pewien system newsletter na własne potrzeby i spotkałem się z problemem, a miaonowicie:
1. Chcę, aby dynamicznie było można zmieniać wartość rekordu w bazie danych tzn.
- klikam sobie w liście przycisk "T" i automatycznie zmienia mi jego wartość na "N", gdy będzie "N" to zmieni na "T"
- w skrypcie jaki przerabiam była właśnie taka możliwość (wykorzystałem ją do statusów: Nie aktywny - F, Aktywny - A, Rezygnacja - R)
- wszystko działa podczas subskrybcji dodawana jest wartość do bazy danych (wartość domyślna - T), jednak gdy przerabiam skrypt to nie chce mnie wypuścić do zmieniania tej wartości
Pozwolę sobie dodać kawałki kodu za to odpowiedzialne i to co sam napisałem, a nie działa

if($todo=='change_status'){ if($status=='F'){$status='A';} else if($status=='A'){$status='R';} else if($status=='R'){$status='F';} $sql=$dbo->prepare("update nl_email set status='$status' where email_id=$email_id"); if($sql->execute()){ $todo_return='status_updated'; $db_status='success'; $message='Status Updated'; } else{ $message=$sql->errorInfo();} } else if($todo=='change_status1'){ if($status1=='T'){$status1='N'} else{$status1='T'} $sql1=$dbo->prepare("update nl_email set status1='$status1' where email_id=$email_id"); if($sql1->execute()){ $todo_return='status_updated1'; $db_status='success'; $message='Status Updated'; } else{ $message=$sql1->errorInfo();} }
Powyższy kod nie działa - dla zmiany statusów (F/A/R), ale jeśli usunę else if to wtedy zmiana statusów będzie działała. - próbowałem na różne sposoby to rozwikłać i nie dawało rady - jak próbowałem wypluć alertem w .js wartość zmiennej $status1 - było napisane "undefined" -> próbowałem zaś ją na sztywno osadzić w powyższym kodzie, nadal wywalało komunikat "undefined"
if(myObject.data.todo_return =='status_updated') {document.getElementById("msg").style.background='#ffff00'; var status=myObject.data.status; document.getElementById("msg").innerHTML=myObject.data.message; document.getElementById(email_id).innerHTML=str; } else{document.getElementById("msg").style.display='none';}
if(myObject.data.todo_return =='status_updated1') {document.getElementById("msg").style.background='#ffff00'; var status1=myObject.data.status1; document.getElementById("msg").innerHTML=myObject.data.message; document.getElementById(email_id).innerHTML=str; } else{document.getElementById("msg").style.display='none';}
Macie jakiś pomysł?