Visualizzazione risultati 1 fino 2 di 2

Discussione: Leggere valore mysql

  1. #1
    attenzion non è connesso Utente AlterBlog
    Data registrazione
    15-01-2017
    Messaggi
    25

    Predefinito Leggere valore mysql

    Ciao

    E' possibile fare un codice molto piu corto per leggere vari valori salvati in mysql

    Grazie

    Codice PHP:
    <?php

    // connessione al database
    include('connect-db1.php');


    // Recupero dati ultimo valore nelle news
    $result = mysql_query("SELECT * FROM Storico_attivazioni_generali WHERE data ='05-2014'");
    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results);
    mysql_query("set names 'utf8'");
    if (
    $total_pages == '0') $renderForm = 0 ;
    else
    $renderForm = mysql_result($result, $i, 'HV')
    ?>
    Codice PHP:
    <?php

    // connessione al database
    include('connect-db1.php');


    // Recupero dati ultimo valore nelle news
    $result = mysql_query("SELECT * FROM Storico_attivazioni_dipendenti WHERE Dipendente = 'Manuel' and data ='06-2014'");
    $total_results = mysql_num_rows($result);
    $total_pages = ceil($total_results);
    mysql_query("set names 'utf8'");
    if (
    $total_pages == '0') $renderForm1 = 0 ;
    else
    $renderForm1 = mysql_result($result, $i, 'HV')
    ?>
    Prosegue sempre cosi

  2. #2
    mzanella non è connesso AlterGuru
    Data registrazione
    29-12-2015
    Messaggi
    1,954

    Predefinito

    Non usare le funzioni mysql_*: sono deprecate. Usa mysqli o PDO.

    In ogni caso dovresti controllare il valore restituito da mysql_query in modo da identificare eventuali errori.

    Accorciare il codice non lo renderà migliore, però puoi certamente rimuovere le istruzioni inutili come
    Codice PHP:
    $total_pages = ceil($total_results);
    in quanto $total_result è di tipo intero (poiché restituito da una chiamata a mysql_num_rows), e ceil applicata ad un numero intero restituisce il numero stesso.

    Non mi è per nulla chiaro perché chiamare mysql_query("set names 'utf8'"); dopo aver eseguito l'interrogazione (non mi è nemmeno chiaro perché chiamarlo in effetti...).

    Stai chiamando mysql_result passandole un parametro $i che non è definito da nessuna parte. Probabilmente intendevi $i = 0.

    Se il numero di pagine viene usato solo per capire se l'insieme di risultati è non vuoto, si può fare di meglio usando mysql_fetch_assoc, il quale restituisce un vettore associativo con i campi della prossima riga, oppure false se non ci sono più righe.

    Se ci tieni particolarmente alla brevità, puoi sostituire l'if-then-else con l'operatore ternario.

    Applicando tutte le migliorie, ottieni:
    Codice PHP:
    // Connessione al database
    // Rende disponibile una variabile $link rappresentante la connessione MySQLi
    include('connect-db1.php');


    // Recupero dati
    $query = "SELECT * FROM Storico_attivazioni_generali WHERE data ='05-2014'";
    $result = mysqli_query($link, $query) or die(mysqli_error($link));

    $record = mysqli_fetch_assoc($result);
    $render_form = ($record !== false) ? $record['HV'] : 0;
    Ultima modifica di mzanella : 09-07-2018 alle ore 17.26.58

    I suggerimenti che do più spesso:


Regole di scrittura

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