Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1

    Consiglio su applicazione PHP

    Salve a tutti,

    avrei bisogno di un consiglio sulla realizzazione di uno script PHP per la gestione di un mercatino di libri usati.
    Vi spiego la mia idea:

    Un fornitore porta un certo numero di libri, questi libri vanno inseriti in un database sql memorizzando tutte le informazioni...ovviamente anche il fornitore va memorizzato.
    Di conseguenza io ho previsto le seguenti tabelle:

    LIBRI
    -isbn
    autore
    titolo
    materia
    casa_editrice
    anno
    prezzo

    FORNITORI
    -id_fornitore
    nome
    cognome
    telefono
    email
    indirizzo

    LIBRI_FORNITORE
    -id_libri_fornitore
    isbn
    id_fornitore
    data

    La mia idea sarebbe questa: con un form iniziale recupero le informazioni sul fornitore e le inserisco nella tabella:
    ecco il codice
    Codice PHP:
    <?

        
    include("../funzioni/configurazione.php");


    $nome=$_POST['nome'];
    $cognome=$_POST['cognome'];    
    $telefono=$_POST['telefono'];
    $email=$_POST['email'];
    $indirizzo=$_POST['indirizzo'];


    if(
    $nome == TRUE && $cognome == TRUE && $telefono == TRUE)
    {
    $sql=mysql_query("INSERT INTO fornitori (id_fornitore, nome, cognome, telefono, email, indirizzo) VALUES ('', '$nome', '$cognome', '$telefono', '$email', '$indirizzo' )");

    echo 
    'Fornitore inserito con successo';

    }
    else
    {
    echo 
    'I campi Nome, Cognome e Telefono sono obbligatori';
    }


    ?>
    Successivamente ho la necessità di recuperare l'id_fornitore (per ogni inserimento) affinchè venga inserito nella tabella LIBRI_FORNITORE in modo che ogni fornitore abbia il suo elenco libri...
    Qualche idea su come implementare il passaggio di questa variabile ad un nuovo form per l'inserimento dei libri?
    Cioè...il flusso dovrebbe essere questo:
    Inserisco informazioni fornitore -> Recupero id_fornitore -> Inserisco tutti i libri appartenenti a dato fornitore -> Memorizzo le info dei libri nella tabella -> Ho la possibilità di visualizzare i libri di ogni fornitore

    Qualche ideuzza su come fare?

    Grazie mille!!

  2. #2
    Secondo me sarebbe più corretto separare le due cose. La pagina che hai creato ti permette di inserire i fornitori, poi puoi creare una pagina che ti permette di visualizzare i vari fornitori e selezionandone uno in particolare ti permette di inserire i suoi libri. In questo modo, dopo aver selezionato il fornitore desiderato sei anche in possesso del suo id per poter effettuare le insert dei libri.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    Originariamente inviato da satifal
    Secondo me sarebbe più corretto separare le due cose. La pagina che hai creato ti permette di inserire i fornitori, poi puoi creare una pagina che ti permette di visualizzare i vari fornitori e selezionandone uno in particolare ti permette di inserire i suoi libri. In questo modo, dopo aver selezionato il fornitore desiderato sei anche in possesso del suo id per poter effettuare le insert dei libri.
    Quindi...ad esempio:
    Faccio l'inserimento, vengo reindirizzato alla pagina con l'elenco dei fornitori, a fianco ad ognuno metto un pulsantino che preleva l'id_fornitore, lo passa ad una pagina di inserimento libri e che lo preleva e lo inserisce nella tabella LIBRI_FORNITORI insieme a tutte le info sui libri che vanno nella tabella LIBRI.

    Effettivamente potrebbe essere un'idea!

    Grazie mille!

  4. #4
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    puoi usare questa, subito dopo l'esecuzione della query di insert
    mysql_insert_id
    (leggi bene le note che trovi nella pagina)
    poi il valore che ottieni lo usi nel form successivo

    oppure fare come dice satifal, separare le due cose

  5. #5
    La funzione mysql_insert_id ti restituisce l'ID dell'ultima insert effettuata, ma in ogni caso avrai bisogno di una pagina che ti visualizza l'elenco dei fornitori, altrimenti potrai inserire i libri associati ad un particolare fornitore solamente in fase di inserimento del fornitore stesso e non in momenti successivi (es: il fornitore porta altri libri ecc.)
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ovviamente
    Però immagina di semplificare il flusso per l'utente: inserisce un nuovo fornitore e poi gli chiedi se vuole inserire dei prodotti per questo. Ha già tutto pronto senza doverlo cercare in un elenco che potenzialmente potrebbe diventare lunghissimo. Soprattutto se parliamo di inserimenti massivi

  7. #7
    Sisi sono d'accordo su questo, la possibilità, in seguito all'inserimento di un fornitore, di inserire subito i suoi libri.
    Ma la funzione di ricerca/visualizzazione dei fornitori è una cosa che sarà comunque necessario implementare per aggiungere nuovi libri. Quello dell'elenco era solo un esempio, oltre a quello si può implementare anche una ricerca mirata in base al nome o altre caratteristiche.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    ah beh, la ricerca dei fornitori la deve comunque implementare, fosse anche solo a fini "statistici"
    poi, metodi per favorire l'usabilità del software se ne trovano quanti ne servono, sta a lui prendere la decisione su come vincolare l'uso dell'applicazione dal punto di vista dell'utente

  9. #9
    Ecco ho capito...però ho un piccolo problema.
    Ecco il codice dell'elenco dei fornitori con i pulsanti "Visualizza" e "Modifica" che portano rispettivamente a delle pagine che prendono le informazioni.

    Codice PHP:
    echo '
    Lista fornitori
     


     

    '
    ;


     
    $sql "SELECT * FROM fornitori"//effettuo la select sulla tabella clienti
    $res mysql_query($sql$db);

     
    echo 
    '
    <table border="0" cellpadding="10" cellspacing="0">
    <tr>
    <td>[b]ID[/b]</td>
    <td>[b]Nome[/b]</td>
    <td>[b]Cognome[/b]</td>
    <td>[b]Indirizzo[/b]</td>
    <td>[b]Email[/b]</td>
    <td>[b]Telefono[/b]</td>
    <td>[b] [/b]</td>
    <td>[b] [/b]</td>



    </tr>
     
        '
    ;
     
    while (
    $row mysql_fetch_array($res))  //ho un array che contiene i dati prelevati dalla tabella del database
    {
        echo 
    '
    <tr>
    <td>' 
    $row['id_fornitore'] . '</td>
    <td>' 
    $row['nome'] . '</td>
    <td>' 
    $row['cognome'] . '</td>
    <td>' 
    $row['indirizzo'] . '</td>
    <td>' 
    $row['email'] . '</td>
    <td>' 
    $row['telefono'] . '</td>
    <td> [url="modifica.php?code='
    .$row['id_fornitore'].'"]MODIFICA[/url]</td>
    <td> [url="visualizza.php?code='
    .$row['id_fornitore'].'"]VISUALIZZA[/url]</td>
    </tr>




     
            '
    ;        
            
    }
     
    echo 
    '</table>
     
    '


    E questa la pagina visualizza.php

    Codice PHP:
    <?
    include("../funzioni/configurazione.php");
        
    ?>
    <?

    $code
    =$_GET['code'];
    ?>
    <?
    $sql
    =mysql_query("select * from fornitori where id_fornitore ='$code'");  // effettuo una select sulla tabella pagine con id corrispondente all'id della pagina desiderata e che mi viene passato tramite GET dalla pagina precedente…che anch'essa carica dinamicamente il titolo attraverso una select sul database
    while ($riga mysql_fetch_array($sql)) { 
    ?>




    <body bgcolor="#3b1049">
    <title><?=$riga['id_fornitore']?></title>





    <table width="90%" border="0px" align="center">
    <td align="justify" width="70%" >


    <?=$riga['nome']?></p>


    <?=$riga['cognome']?>
    Quando accedo a questa pagina singola non riesco a vedere i risultati...
    Non riesco a capire il perchè...qualche idea?!

  10. #10
    Originariamente inviato da guinness86
    Ecco ho capito...però ho un piccolo problema.
    Ecco il codice dell'elenco dei fornitori con i pulsanti "Visualizza" e "Modifica" che portano rispettivamente a delle pagine che prendono le informazioni.

    Codice PHP:
    echo '
    Lista fornitori
     


     

    '
    ;


     
    $sql "SELECT * FROM fornitori"//effettuo la select sulla tabella clienti
    $res mysql_query($sql$db);

     
    echo 
    '
    <table border="0" cellpadding="10" cellspacing="0">
    <tr>
    <td>[b]ID[/b]</td>
    <td>[b]Nome[/b]</td>
    <td>[b]Cognome[/b]</td>
    <td>[b]Indirizzo[/b]</td>
    <td>[b]Email[/b]</td>
    <td>[b]Telefono[/b]</td>
    <td>[b] [/b]</td>
    <td>[b] [/b]</td>



    </tr>
     
        '
    ;
     
    while (
    $row mysql_fetch_array($res))  //ho un array che contiene i dati prelevati dalla tabella del database
    {
        echo 
    '
    <tr>
    <td>' 
    $row['id_fornitore'] . '</td>
    <td>' 
    $row['nome'] . '</td>
    <td>' 
    $row['cognome'] . '</td>
    <td>' 
    $row['indirizzo'] . '</td>
    <td>' 
    $row['email'] . '</td>
    <td>' 
    $row['telefono'] . '</td>
    <td> [url="modifica.php?code='
    .$row['id_fornitore'].'"]MODIFICA[/url]</td>
    <td> [url="visualizza.php?code='
    .$row['id_fornitore'].'"]VISUALIZZA[/url]</td>
    </tr>




     
            '
    ;        
            
    }
     
    echo 
    '</table>
     
    '


    E questa la pagina visualizza.php

    Codice PHP:
    <?
    include("../funzioni/configurazione.php");
        
    ?>
    <?

    $code
    =$_GET['code'];
    ?>
    <?
    $sql
    =mysql_query("select * from fornitori where id_fornitore ='$code'");  // effettuo una select sulla tabella pagine con id corrispondente all'id della pagina desiderata e che mi viene passato tramite GET dalla pagina precedente…che anch'essa carica dinamicamente il titolo attraverso una select sul database
    while ($riga mysql_fetch_array($sql)) { 
    ?>




    <body bgcolor="#3b1049">
    <title><?=$riga['id_fornitore']?></title>





    <table width="90%" border="0px" align="center">
    <td align="justify" width="70%" >


    <?=$riga['nome']?></p>


    <?=$riga['cognome']?>
    Quando accedo a questa pagina singola non riesco a vedere i risultati...
    Non riesco a capire il perchè...qualche idea?!

    Come non detto!
    Avevo dimenticato di chiudere il while!

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.