Kermit
Kermit

Reputation: 69

MYSQL SELECT CASE with variables

Hi I don't know ho to use SELECT CASE with variables to check if variable $name is empty - if empty should be ommited or $name='empty'. I don't know how to write this. Any idea? My code:

    $name = $_POST['training_name'];
    $training_company = trim($_POST['training_company']);
    $training_type = trim($_POST['training_type']);
    $training_date = trim($_POST['training_date']);
    $training_date_expiring = trim($_POST['training_date_expiring']);
    $training_score = trim($_POST['training_score']);
    $training_place = trim($_POST['training_place']);
    $training_trainer = trim($_POST['training_trainer']);

    $score = mysqli_query($con,"SELECT * FROM kursanci WHERE imie_i_nazwisko LIKE '%$name%' OR firma='$training_company' OR rodzaj_szkolenia='$training_type' OR data_ukonczenia_szkolenia='$training_date' OR data_waznosci_szkolenia='$training_date_expiring' OR rezultat_szkolenia='$training_score' OR miejsce_szkolenia='$training_place' OR instruktor_prowadzacy='$training_trainer' ");

Upvotes: 0

Views: 214

Answers (2)

Farhang Negari
Farhang Negari

Reputation: 229

change code:

//$name = $_POST['training_name'];

$name = isset($_POST['training_name']) ?$_POST['training_name'] : 'empty';
$name = empty($name)? 'empty' : $name ;

Upvotes: 1

Akhter Al Amin
Akhter Al Amin

Reputation: 962

you may use select case like below:

SELECT
        id,
        action_heading,
        CASE
            WHEN action_type = 'Income' THEN action_amount
            ELSE NULL
        END AS income_amt,
        CASE
            WHEN action_type = 'Expense' THEN action_amount
            ELSE NULL
        END AS expense_amt

    FROM tbl_transaction;

Upvotes: 1

Related Questions