Visualizzazione risultati 1 fino 4 di 4

Discussione: Contare lunghezza dei caratteri di un campo text

  1. #1
    provact non è connesso Utente giovane
    Data registrazione
    23-12-2009
    Messaggi
    40

    Predefinito Contare lunghezza dei caratteri di un campo text

    Data una tabella formata in questo modo:

    Codice PHP:
    CREATE TABLE `chat` (
    `
    id` bigint NOT NULL,
    `
    stanza` int NOT NULL DEFAULT '0',
    `
    ora` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
    `
    testo` text
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb3;
    vorrei estrapolare gli ultimi 5 risultati e vedere se per ogni risultato di testo si raggiungono almeno 100 caratteri.
    Se tutti e 5 i risultati superano i 100 caratteri -> result true || al contrario -> false

    Come mi consigliate di agire?

    Codice PHP:
    SELECT * FROM chat WHERE stanza = $_SESSION['stanza'] AND CHAR_LENGTH(testo) >= 100;
    ?
    Ultima modifica di provact : 04-02-2023 alle ore 11.35.21

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Invece di SELECT * puoi usare SELECT COUNT(*), che restituirà il numero di messaggi più lunghi di 100 caratteri.

    Per ordinare righe puoi usare ORDER BY `ora` DESC (descending, per avere i risultati più recenti in cima), e per ridurre il numero a 5 esiste LIMIT <numero>.

    Vedi Counting rows, Sorting rows, ed in generale Retrieving data.

  3. #3
    provact non è connesso Utente giovane
    Data registrazione
    23-12-2009
    Messaggi
    40

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    Invece di SELECT * puoi usare SELECT COUNT(*), che restituirà il numero di messaggi più lunghi di 100 caratteri.

    Per ordinare righe puoi usare ORDER BY `ora` DESC (descending, per avere i risultati più recenti in cima), e per ridurre il numero a 5 esiste LIMIT <numero>.

    Vedi Counting rows, Sorting rows, ed in generale Retrieving data.

    Tutto chiaro, quindi mi consigli:

    Codice PHP:
    SELECT COUNT(*) FROM chat
    WHERE stanza
    = $_SESSION['stanza'] AND CHAR_LENGTH(testo) >= 100
    ORDER BY ora DESC
    LIMIT 5
    ;
    Più che altro come regolo l'if -> true / false?

    Codice PHP:
    if true {
    echo
    'ok';
    } else {
    echo
    'no';
    }
    Ultima modifica di provact : 04-02-2023 alle ore 12.58.54

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    La query ti restituisce il numero di risultati che superano i cento caratteri. Vedi tu cosa vuoi fare di quel numero.

Regole di scrittura

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