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:
  1. "müşteriler" tablosu, müşteri bilgilerini saklar (ad, soyad, telefon numarası, e-posta, adres).
  2. "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.
Yukarıda oluşturulan veritabanına servis kaydı girmek için html form:

<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