Newsgroup: it.comp.www.php
Titolo: Gestire un database

Ciao sono ancora io,
Ho risolto il problema di memorizzazione dei dati inviati (finalmente!!!!!)
(Vedi post: php non visualizza database )ora però sorge un nuovo
problema.....:-p
I prodotti si memorizzano ma se io chiudo tutto e poi riapro la pagina php e
acquisto nuovamente, si vedono i dati dell'operazione avvenuta in
precedenza...
Quindi, come posso fare per far si che ad ogni connessione di un utente si
visualizzino solo i dati che riguardano lui e non tutto quello che si
memorizza nel db?
Questo è lo script del carrello:
      <?php
  $db = mysql_connect();
// crea la tabella nel db catalogo(questo db contiene già una tabella che si
chiama lista dove sono memorizzati i prodotti che si possono segliere nella
pagina prima)
  $table = "CREATE TABLE listato (Codice CHAR(40), Articolo CHAR(80),
Prezzo_unitario int)";
  $ri = mysql_db_query( "catalogo", $table);
// inserisce i dati provenienti dal form della pagina prima nella tabella
listato
        $Codice = $_POST["Codice"];
        $Articolo = $_POST["Articolo"];
        $Prezzo_unitario = $_POST["Prezzo_unitario"];
  $queri = "INSERT INTO listato ( Codice, Articolo, Prezzo_unitario )
VALUES( '$Codice', '$Articolo', '$Prezzo_unitario' )";
  $rio = mysql_db_query( "catalogo", $queri);
//visualizza il contenuto della tabella
  $res = mysql_db_query("catalogo", "select * from listato");
  $num = mysql_num_rows($res);
        for ($i=0; $i<$num;$i++)
    {
    $Codicea = mysql_result($res,$i,"Codice");
    $Articoloa = mysql_result($res,$i,"Articolo");
    $Prezzo_unitarioa = mysql_result($res,$i,"Prezzo_unitario");
    echo "$Codicea";
    echo "$Articoloa";
    echo "$Prezzo_unitarioa ?";
       }
      mysql_close($db);
  ?>
Io avevo pensato una cosa tipo mettere un comando drop table subito dopo la
connessione a mysql, prima che avvenisse la crezione della tabella, ma così
facendo tornando alla pagina prodotti e riacquistando cancello tutto quello
che avevo comprato prima rendendo inutile la funzione dello script.
Qualcuno ha qualche suggerimento su come risolvere questo problemino?
Grazie in anticipo per l' aiuto,
Ciao Ste

 quello che si memorizza nel db?
A parte il fatto che creare la tabella ad ogni visualizzazione della
pagina e' folle.
Di problematiche del genere se ne e' parlato decine di volte,
dall'utilizzo di cookie persistenti, all'utilizzo dell'ID di sessione,
all'utilizzo del codice utente da inserire all'atto della creazione del
carrello, fino all'obbligo di login prima di aggiungere prodotti.
Cerca con google groups.
http://tinyurl.com/zlnj
-- 
I'am what I'am, I do what I can

"Setec Astronomy" <setec@_NO_NOSPAM_freemail.it> ha scritto nel messaggio
news:kvTDb.195162$e6.73...@twister2.libero.it...

Ciao,
ho capito come fare il codice utente da inserire all'atto della creazione
del carrello.
Ho pensato di fare un form con un campo testo nel quale l' utente inserisce
nome e cognome i quali vengono portati dietro fino alla pagina carrello. poi
può accedere al catalogo dove sceglie e poi visualizza i prodotti nel
carrello grazie ad una query selettiva che riporta solo i record dell'
utente e non di tutti.
Questo è il metodo più semplice che mi è venuto in mente anche se
sinceramente non mi piace molto.
Qualcuno ha qualche altro suggerimento?
Io ho provato a cercare dei post con google ma quello più utile che ho
trovato è stato quello che mi ha suggerito l'idea sopra.
Veramente io avrei preferito non fare questa specie di login ma avrei optato
per qualcosa che creasse dei dati utente univoci nel momento stesso della
generazione del carrello. Il problema è che non so come fare. Avevo pensato
ad una chiave in mysql con la funzione auto_increment ma poi ci ho
ripensato... e poi al login (ma che a dire al vero è più una
personalizzazione della pagina inquanto non ci sarà alcuna azione di
restrizione all'acceso delle pagine).
Spero che qualcuno possa aiutarmi.
Grazie in anticipo. Ste

 Il problema h che non so come fare. 
MD5 su un ID univoco.


 Si, non aprire un thread per ogni tua novita'.
Hai ragione ma quando mi sono accorto che ne stavo spedendo uno nuovo ormai
era troppo tardi.
Infatti se hai notato il thread inizia come la continuazione di un discorso
già iniziato da un'altra parte. Piccole sviste
Ciao e grazie per i consigli

 Scusa la domanda, forse stupida ma cos'h MD5 ?
http://www.php.net/md5


Ciao,
Il problema della memorizzione dati l'ho risolto. Ora però vorrei sapere se
c'è un modo per dire al db di cancellare i record(cioè questo lo so fare)
Ora mi spiego meglio.
Il problema è che se un utente si dovesse ricollegare dopo un' ora, un
giorno o un mese visualizzerebbe gli acquisti fatti prima perchè inseriti
nel db e se nessuno lo ripulisce quelli rimangono li.
Mentre io voglio che visualizzi solo quelli fatti al momento.
Alla fine ho usato il db con le tabelle. In una c'è il catalogo e nell'
altra dati utente(nome e cognome) e dati prodotto(codice,Articolo e
prezzo).Quest'ultima mi permette di visualizzare la scelta di ogni singolo
utente ma mi da il problema sopra citato.
Come posso risolverlo?
Grazie per l'aiuto.