Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    Uno script usabile per la gestione di un database

    Apro una nuova discussione sul seguente tema:
    "Uno script usabile per la gestione di un database".

    La precedente discussione, dal titolo "S.O.S: servono nuovi thread su php&MySql", è stata chiusa dal moderatore probabilmente perchè ha superato la lunghezza massima predefinita (per inciso, sarei grato a chi mi fornisse indicazioni più precise in merito).
    L'ultimo post riguardava la correzione dello script db_management.php.
    Ho corretto questo script, e a me sembra che ora funziona, ma esso script ha alcuni difetti di impostazione e non è usabile, nel senso che non si capisce immediatamente la sua funzione.

    Per riprendere il filo del discorso, in questo post riporto tale script nella sua ultima versione, ed in un post successivo esporrò come intendo, assieme a voi, trasformarlo per renderlo più efficiente ed usabile.

    Ecco lo script db_management.php:

    Codice PHP:
    <?php 
    $con 
    mysql_connect("localhost","root","inaisz1357") or die('Could not connect: ' mysql_error()); 
    echo 
    "connesso!!
    "


    // select the database 
    mysql_select_db("rubrica"$con) or die("Error selecting database: " mysql_error()); 
    echo 
    "database selezionato!!
    "

    echo 
    "
    "


    //INSERT  record 
    echo " Inserimento del record nella TABELLA email.";echo "
    "
    ;   
    mysql_query("INSERT INTO email (Nome, Indirizzo, Telefono, Cellulare, Email) 
                VALUES ('alfredo', 'via arno 89', '78945844', '456123755', 'alfredo@libero.it')"

                or die(
    'Errore ' __FILE__ ':' __LINE__ ' [b]' mysql_error() . '[/b]
    '
    ); 
    echo 
    " Il record è stato inserito! ";
    echo 
    "
    "
    ;echo "
    "
    ;                  

    //Visualizza tutti i record con SELECT * FROM
    echo " Selezione di tutti i record della TABELLA email :";
    echo 
    "
    "

    $result mysql_query("SELECT * FROM email"); 
    while(
    $row mysql_fetch_array($result))

    echo 
    $row['Nome'] . " " $row['Indirizzo'] .$row['Telefono'] .$row['Cellulare'] .$row['Email']; 
    echo 
    "
    "

    }
    $num_righe mysql_num_rows($result);
    echo 
    "$num_righe Righe\n";
    echo 
    "
    \n "
    ;echo "
    \n "
    ;  

    //ORDER 
    echo " Lista dei record della TABELLA EMAIL ordinati per Nome:";
    $result mysql_query("SELECT * FROM email ORDER BY Nome"); 
    echo 
    "
    \n "

    while(
    $row mysql_fetch_array($result)) 

    echo 
    $row['Nome']; 
    echo 
    " " $row['Indirizzo']; 
    echo 
    " " $row['Telefono']; 
    echo 
    " " $row['Cellulare']; 
    echo 
    " " $row['Email']; 
    echo 
    "
    "

    }
    echo 
    "
    \n "


    //Estrazione e visualizzazione dei record, con clausola: WHERE condizioni. 
    $result mysql_query("SELECT * FROM email WHERE Nome='marco'"); 
    echo 
    " Lista dei record estratti dalla TABELLA email WHERE Nome='marco':";
    echo 
    "
    \n "

    while(
    $row mysql_fetch_array($result)) 

    echo 
    $row['Nome'] .$row['Indirizzo'] .$row['Telefono'] .$row['Cellulare'] .$row['Email']; 
    echo 
    "
    "


    echo 
    "
    \n "


    //DELETE
    echo "Cancella il/i record di cui viene inserito l'id "
    echo 
    "
    \n "
    ;
    $result mysql_query("DELETE FROM email WHERE id > '3' ");
    printf ("Records eliminati: %d\n"mysql_affected_rows());
    echo 
    "
    \n "
    ;
    echo 
    "
    \n "


    //UPDATE
    echo "Modifica  il record di cui viene inserito l'id ";
    echo 
    "
    \n "
    ;echo "
    \n "
    ;
    mysql_query("UPDATE email SET Indirizzo='Via San Modificato 59' WHERE id = '3'");
    printf ("Record aggiornati: %d\n"mysql_affected_rows());
    echo 
    "
    \n "



    //Visualizza tutti i record della TABELLA 'email' dopo DELETE e UPDATE
    echo " Selezione di tutti i record della TABELLA email :";
    echo 
    "
    \n "

    echo 
    "
    \n "

    $result mysql_query("SELECT * FROM email"); 
    while(
    $row mysql_fetch_array($result))

    echo 
    $row['Nome'] . " " $row['Indirizzo'] .$row['Telefono'] .$row['Cellulare'] .$row['Email']; 
    echo 
    "
    "



    echo 
    "
    \n "


    //Svuotamento dei record della tabella email
    //mysql_query("TRUNCATE TABLE email");
    echo "
    \n "


    echo 
    "FINE DELLA GESTIONE DELLE OPERAZIONI SUL DATABASE";
    mysql_close($con); 
    ?>
    Cicerone80

  2. #2

    Uno script usabile per la gestione di un database

    Come d'accordo, questo post è la continuazione di quello precedente, già piuttosto lungo.

    Ad un esame, anche superficiale, risulta che un primo grande difetto dello script consiste nel fatto che l'utente è obbligato a compiere tutte le operazioni in un ordine prefissato; però, ad onor del vero, questo script "zibaldone" è nato come una serie non programmata di script al solo scopo di vedere come si costruivano e se funzionavano
    La successione delle operazioni del suddetto script è la seguente:
    [list=1][*]Connessione al server[*]Selezione del database[*]Inserimento record[*]Visualizzazione di tutti i record inseriti[*]Ordinamento dei record in base ad una condizione prefissata[*]Estrazione e visualizzazione dei record in base ad una clausola WHERE prefissata[*]Cancellazione record[*]Modifica record[*]Svuotamento dei record della tabella (decommentando!)[/list=1]

    Invece, si vuole che lo script consenta all'utente, dopo la connessione al server e la selezione del database, di scegliere quale delle operazioni, comprese tra la terza e l'ottava incluse, eseguire per prima. L'utente deve poter scegliere le operazioni da menu, nell'ordine che preferisce. Naturalmente, si deve dare la possibilità all'utente anche di non effettuare nessuna operazione (ci sono mille motivi per cui si può decidere di chiudere).

    Dal prossimo post sono aperte le discussioni su come vogliamo impostare questo lavoro.
    Regolarmente, esporrò una mia ipotesi di lavoro, su cui discutere. Però, preferirei che qualcuno più esperto si faccia avanti per primo, ... e così si perderebbe meno tempo.

    Cicerone80

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.