Visualizzazione risultati 1 fino 7 di 7

Discussione: [MYSQL] Valore booleano se è presente un record in una tabella

  1. #1
    Guest

    Predefinito [MYSQL] Valore booleano se è presente un record in una tabella

    Allora, ho un problema e non riesco a creare una condizione nello script php che faccia questo: vorrei che la query restituisca un valore true o false nel caso sia presente un record in una LEFT JOIN in modo da mostrare o meno un qualcosa nello script php.
    Se eseguo questa query:
    Codice:
    SELECT b.*, f.*, username, user_colour
    FROM bands b
    	LEFT JOIN users
    		ON (b.band_add = user_id)
    	LEFT JOIN bands_fans f
    		ON (fan_id = 2) AND (fan_band = b.band_id)
    ORDER by band_name ASC
    Mi restituisce quello che voglio, in questo modo dove non è presente il record ovviamente i campi saranno NULL. Il tutto sta in un while() che mostra i risultati.

    Ora, ho provato a fare questa condizione:
    Codice PHP:
    $is = (!empty($row['fan_id'])) ? true : false;

    // oppure questa:

    $is = (isset($row['fan_id'])) ? true : false;
    Ma restituisce sempre false. Avete idea di come potrei fare questo assegnando magari un alias?

  2. #2
    Guest

    Predefinito

    Sei sicuro che la query funzioni correttamente? Prova a printare i risulati, almeno capisci se il problema è nella query o nello script php

  3. #3
    Guest

    Predefinito

    Tutto funziona correttamente, l'unico problema sta in quello che ho descritto prima.

  4. #4
    Guest

    Predefinito

    prova con
    Codice PHP:
    if($row['fan_id']!=NULL)$is=true; else $is=false;

  5. #5
    Guest

    Predefinito

    Che codice Usa l'operatore ternario direttamente come ho fatto io al posto di scrivere quella "cosa" no? Scusa se sembro aggressivo, ma sono pignolo e molto ordinato quando lavoro

    Comunque era un problema di template engine e ho risolto, in ogni caso vorrei sapere se con MySQL è possibile che mi venga restituito true flase false nel caso i campi non siano vuoti.

  6. #6
    Guest

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Che codice Usa l'operatore ternario direttamente come ho fatto io al posto di scrivere quella "cosa" no? Scusa se sembro aggressivo, ma sono pignolo e molto ordinato quando lavoro
    Non so come mai ma l'operatore ternario mi sta molto antipatico, cos'ha che non va "if"
    Il mio suggerimento comunque era quello di mettere "NULL".
    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    Comunque era un problema di template engine e ho risolto, in ogni caso vorrei sapere se con MySQL è possibile che mi venga restituito true flase false nel caso i campi non siano vuoti.
    Purtroppo no, anche a me farebbe molto comodo.

  7. #7
    Guest

    Predefinito

    L'operatore ternario è utile in questi casi e rende il codice molto più leggibile ed ordinato:
    Codice PHP:
    if($row['fan_id']!=NULL)$is=true; else $is=false;

    // io scriverei:

    $is = ($row['fan_id'] != NULL) ? true : false;
    Comunque grazie, terrò la condizione nello script.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •