Uygulama gönderme birden fazla cevap var nasıl?

4 Cevap php

Bu basit bir soru.

PHP ve MySQL ile, ben bir hata raporlama uygulaması oluşturmak çalışıyorum.

Şu anda, kullanıcı hataları gönderebilir ve hataların bir listesini teknisyen / yöneticisine tasvir edilir.

Birçok teknisyen veya yöneticiler rapora cevap böylece Bunu nasıl yapabilirim (thread?)

Kodlama mysql masa düzeni ve PHP hem de As?

Geçerli MySQL tablo, düzeni vardır:

id          (Bug ID)
by          (person reporting it)
title       (Report Title)
content     (Contents of Report)
datetime    (Date/Time of report)
application (Application/page where problems happens)
priority    (Priority)
assigned    (Assigned To)
status      (Status of report/bug)

Yani henüz yanıt kolon, ama nasıl ben PHP ve MySQLi ile birden fazla post / tepkileri elde edebilirim?

Teşekkürler

4 Cevap

Ne genellikle yapmak size yanıtları için ayrı bir tablo oluşturmaktır. Bu tablodaki tek bir alan var ilk tablo bu "noktaları". Bu gibi görünebilir:

TABLE responses
id         (Unique id)
bug_id     ("Pointer" to which bug this response "belongs to")
body       (Contents of response)

Bu şekilde size hemen hemen bir "mülkiyet" veya "ilişki" oluşturduk, böylece tüm bir geri hata işaret çok tepkiler var ve olabilir. Bu yukarıdaki gibi bir ilişki aramak adettendir "için bir çok" biz dışarı bakarak, böcek tablodaki gibi davran eğer. (Ve biz bir "çok bir" geri hata tabloya bakıp, yanıtlar tabloda konum.)

(Pseudo code): Eğer bir hata ait tüm yanıtları almak istediğiniz zaman sonra, PHP, böyle bir şey yapmak

$bug = SELECT * FROM bugs WHERE id = $some_id
$resps = SELECT * FROM responses WHERE bug_id = $bug['id'] ORDER BY created_at

Voila! Şimdi oluşturma tarih tarafından sipariş hata ve yanıtların hepsi var. Yeni yanıtları eklediğinizde, elbette uygun değer bug_id ayarlamanız gerekir.

Şerefe!

Bu çok-bir ilişki olacaktır. Sen var ya:

yanıtı masa

id (response id)
bugid (bug id)
columns related to the response

veya

yanıtı masa

id (response id)
columns related to the response

ile

bugyanıtı masa

responseid (response id)
bugid (bug id)
columns related to the bug-response relationship

İkinci tasarım da (bu durumda gerekli olması muhtemel) çok-çok ilişkisi işleyebilir ve aynı zamanda gereksinimlerine bağlı olarak diğer bazı yararları vardır nerede.

Sen yanıtları ile başka bir tablo yapmak. Düzeni ile örneğin

id (Response Id), 
responseTo (id of the Bug this is a response to),
by (person responding),
content (Contents of Response)

ResponeTo önemli bir alan adıdır. Sonra sadece yanıtı, = currentBugId tepki tablosundan seçmek bir hata tüm yanıtı görüntülemek istediğinizde.

Ben (http://eventum.mysql.org/wiki/index.php/Main_Page) yerine kendi bina Eventum kontrol önerebilir? Eventum PHP / MySQL oldukça güçlü powered hata izleme yazılımı, ve kendi bina çok daha kolaydır. Ben bir ben kurmayı düşündüğü, ancak hızlı bir şekilde iyi hata izci ekstra çalışma çağlar alacaktı olan tüm kullanışlı özellikler ekleyerek gerçekleştirdi.