lookout adlı üyeden alıntı:
mesajı görüntüle

-- Müşteri Bilgileri Tablosu Oluşturuluyor
CREATE TABLE müşteriler (
müşteri_id INT AUTO_INCREMENT PRIMARY KEY,
adı VARCHAR(50) NOT NULL,
soyadı VARCHAR(50) NOT NULL,
telefon_numarası VARCHAR(15) NOT NULL,
email VARCHAR(100),
adres TEXT
);
-- Teknik Servis Kayıtları Tablosu Oluşturuluyor
CREATE TABLE teknik_servis_kayıtları (
kayıt_id INT AUTO_INCREMENT PRIMARY KEY,
müşteri_id INT,
cihaz_marka VARCHAR(50) NOT NULL,
cihaz_model VARCHAR(50) NOT NULL,
arıza_detayı TEXT,
tamir_durumu VARCHAR(20) NOT NULL,
tarih TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (müşteri_id) REFERENCES müşteriler(müşteri_id)
);
Yukarıdaki SQL kodu, iki tablo oluşturur:
- "müşteriler" tablosu, müşteri bilgilerini saklar (ad, soyad, telefon numarası, e-posta, adres).
- "teknik_servis_kayıtları" tablosu, teknik servis kayıtlarını saklar (cihaz marka, cihaz model, arıza detayı, tamir durumu, tarih) ve müşteri bilgilerine müşteri_id ile bağlanır.
<form id="servisKayitForm"> <label for="ad">Adı:</label> <input type="text" id="ad" name="ad" required> <label for="soyad">Soyadı:</label> <input type="text" id="soyad" name="soyad" required> <label for="telefon">Telefon Numarası:</label> <input type="text" id="telefon" name="telefon" required> <label for="email">E-Posta:</label> <input type="email" id="email" name="email"> <label for="cihazMarka">Cihaz Marka:</label> <input type="text" id="cihazMarka" name="cihazMarka" required> <label for="cihazModel">Cihaz Model:</label> <input type="text" id="cihazModel" name="cihazModel" required> <label for="arizaDetayi">Arıza Detayı:</label> <textarea id="arizaDetayi" name="arizaDetayi" rows="4" required></textarea> <label for="tamirDurumu">Tamir Durumu:</label> <input type="text" id="tamirDurumu" name="tamirDurumu" required> <button type="submit">Kaydet</button> </form>
$(document).ready(function() {
$("#servisKayitForm").submit(function(event) {
event.preventDefault();
var formData = $(this).serialize();
$.ajax({
type: "POST",
url: "/ajax.php", // AJAX işlemlerini gerçekleştireceğiniz dosyanın yolu
data: formData,
success: function(response) {
// Başarılı yanıtı işleyin (örneğin, bir teşekkür mesajı gösterin)
},
error: function(xhr, textStatus, error) {
// Hata durumlarını işleyin
}
});
});
});Müşterilerin servis sorgulaması için gerekli html form<form id="servisSorgulamaForm">
<label for="telefon">Telefon Numarası:</label>
<input type="text" id="telefon" name="telefon" required>
<button type="submit">Sorgula</button>
</form>
<div id="sonuc"></div>$(document).ready(function() {
$("#servisSorgulamaForm").submit(function(event) {
event.preventDefault();
var telefon = $("#telefon").val();
$.ajax({
type: "POST",
url: "/ajax.php", // Sorgu işlemlerini gerçekleştireceğiniz dosyanın yolu
data: { telefon: telefon },
success: function(response) {
$("#sonuc").html(response);
},
error: function(xhr, textStatus, error) {
// Hata durumlarını işleyin
}
});
});
});ajax.php dosyası:// Veritabanı bağlantısı
try {
$db = new PDO("mysql:host=veritabani_sunucu_adresi;dbname=veritabani_adi", "kullanici_adi", "sifre");
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die("Veritabanı bağlantısı başarısız: " . $e->getMessage());
}
// Yeni kayıt ekleme
if (isset($_POST["ad"]) && isset($_POST["soyad"]) && isset($_POST["telefon"]) && isset($_POST["cihaz_marka"]) && isset($_POST["cihaz_model"]) && isset($_POST["ariza_detayi"]) && isset($_POST["tamir_durumu"])) {
$ad = $_POST["ad"];
$soyad = $_POST["soyad"];
$telefon = $_POST["telefon"];
$email = isset($_POST["email"]) ? $_POST["email"] : null;
$cihaz_marka = $_POST["cihaz_marka"];
$cihaz_model = $_POST["cihaz_model"];
$ariza_detayi = $_POST["ariza_detayi"];
$tamir_durumu = $_POST["tamir_durumu"];
try {
$insertQuery = "INSERT INTO teknik_servis_kayit (ad, soyad, telefon, email, cihaz_marka, cihaz_model, ariza_detayi, tamir_durumu)
VALUES (:ad, :soyad, :telefon, :email, :cihaz_marka, :cihaz_model, :ariza_detayi, :tamir_durumu)";
$stmt = $db->prepare($insertQuery);
$stmt->bindParam(':ad', $ad);
$stmt->bindParam(':soyad', $soyad);
$stmt->bindParam(':telefon', $telefon);
$stmt->bindParam(':email', $email);
$stmt->bindParam(':cihaz_marka', $cihaz_marka);
$stmt->bindParam(':cihaz_model', $cihaz_model);
$stmt->bindParam(':ariza_detayi', $ariza_detayi);
$stmt->bindParam(':tamir_durumu', $tamir_durumu);
$stmt->execute();
echo "Kayıt başarıyla eklendi!";
} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
}
// Kayıt sorgulama
if (isset($_POST["telefon"])) {
$sorgula_telefon = $_POST["telefon"];
try {
$query = "SELECT * FROM teknik_servis_kayit WHERE telefon = :telefon";
$stmt = $db->prepare($query);
$stmt->bindParam(':telefon', $sorgula_telefon);
$stmt->execute();
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if ($result) {
echo "Ad: " . $result["ad"] . "<br>";
echo "Soyad: " . $result["soyad"] . "<br>";
echo "Cihaz Marka: " . $result["cihaz_marka"] . "<br>";
echo "Cihaz Model: " . $result["cihaz_model"] . "<br>";
echo "Arıza Detayı: " . $result["ariza_detayi"] . "<br>";
echo "Tamir Durumu: " . $result["tamir_durumu"] . "<br>";
} else {
echo "Belirtilen telefon numarasına ait kayıt bulunamadı.";
}
} catch (PDOException $e) {
echo "Hata: " . $e->getMessage();
}
}Test edilmemiştir, deneyip çıkan hatayı yazarsanız yardımcı olabilirim.
Süpersiniz çok çok teşekkür ederim. Hem sorumun yanıtını aldım, hemde istediğim uygulamayı yapabileceğim