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

    visualizzare subito record inserito

    ciao a tutti,

    in una pagina php tramite una query sql inserisco correttamente nel mio database un record (ok)

    nella pagina dove ho piazzato gli script per l'inserimento del record c'è anche uno script che dovrebbe creare tante tabelle quanti record sono presenti nel database.

    problema:
    ogni volta che inserisco un record, non viene creata la tabella dell'ultimo inserito, il prodotto è inserito correttamente nel database ma non è visualizzato.
    ad esempio, nel mio database ci sono 5 prodotti, tramite un form decido di inserire il sesto, al submit accedo alla pagina che inserisce il sesto prodotto (ok) ma le tabelle che mi stampa lo script sono solo per i primi 5 (non mi fa vedere la sesta fino a quando non inserisco il settimo prodotto) e così via ne stampa sempre uno in meno.

    codice:
    $attuale="SELECT * FROM ordini WHERE id_ordine='$max_ord[0]' AND id_sessione='$sid'";
    $att=mysql_query($attuale,$conn);
    $num_att=mysql_num_rows($att);
    
    $aggcarr="INSERT INTO ordini (id_ordine, id_sessione, id_prodotto, nome_prodotto, quantita, costo_totale) VALUES ('$max_ord[0]','$id_sessione','$cod','$nome','$qta','$costo_totale')";
    $go=mysql_query($aggcarr,$conn);
    
    while($riga=mysql_fetch_array($att)){
    $cod=$riga["id_prodotto"];
    $nome=$riga["nome_prodotto"];
    $quantita=$riga["quantita"];
    $costo_totale=$riga["costo_totale"];
    
    echo"<form action=\"ordine.php\" method=\"get\">
    	<table width=\"600\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">
      <tr> 
        <td>$cod</td>
        <td>$nome</td>
        <td>$quantita</td>
        <td>$costo_totale</td>
      </tr>
      <tr>
      	<td colspan=\"3\"></td><td></td>	
      </tr>
      <tr>
      	<td colspan=\"4\"><input type=\"submit\" value=\"procedi con l'ordine\"></td>
    </table>
    </form>
    ";
    }


    spero che qualcuno mi posa venire i aiuto

    grazie
    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  2. #2
    Basta fare l'insert prima della select... Per quale ragione fai la SELECT prima? per verifica? per ricavare qualcosa?

    A vedere dallo script si direbbe di no. Ne controlli, ne utilizzi dati estratti.... quindo sposta le due righe dell'INSERT prima della SELECT e sei a posto cosi'.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    grazie pier.mac, come sempre i tuoi aiuti sono una garanzia, funziona perfettamente

    buona notte e grazie di cuore

    ::: Crepes Designer ::: http://www.mauriziobrevi.com

  4. #4
    Bene ragazzi ora tocca a me...


    Leggevo caro emerson che tu sei riuscito ad eseguire il passo in cui mi sono bloccato io, cioè nell'inserimento dei records.
    Potreste dare un occhiata a questo script?
    ----------------------------------------------------------------
    <html>
    <body>
    <?php

    //Stabilisce una connessione al database//
    $conn=mysql_connect('localhost','lorenzo','neonato 2000');
    if(!$conn)
    echo "Errore nella connessione: mysql_error()";
    echo "$conn";//provo a capire qual'è il contenuto della variabile//

    //Stabilisce una connessione al database "lista_utenti_registrati"//
    mysql_select_db('lista_utenti_registrati',$conn)
    or die("Errore nella selezione del database:");

    //se il valore num=0 allora non esiste nessuna tabella nel database//
    //altrimenti salta l'if, quindi l'if sarà eseguito al massimo una volta//
    $domanda="CREATE TABLE lista(id INT (5) UNSIGNED not null AUTO_INCREMENT,
    username VARCHAR (10) password VARCHAR (10) email VARCHAR(30),
    PRIMARY KEY (id))";
    echo "$domanda"; //provo a capire qual'è il contenuto della variabile//

    if(!$domanda)
    echo "Errore nella creazione di una nuova tabella:";
    //Controlla con la funzione trim se i campi sono vuoti//
    if(trim($user)=="" or trim($pass)=="")
    echo "mi dispiace devi inserire i campi<a href=http://localhost/index.html>
    indietro</a>

    ";

    //inserisce nuovi utenti//
    $query="INSERT INTO lista (username, password, email) VALUES ('$user', '$pass', '$email')";
    echo "$query"; //provo a capire qual'è il contenuto della variabile//


    if(mysql_query($query,$conn))
    echo "Sei un membro";
    else {
    echo"Qualcosa è andato storto";
    mysql_close($conn);
    }

    ?>
    </body>
    </html>
    -------------------------------------------------------------------
    Ho provato, per capire dov'era il problema, a stampare a video il contenuto delle variabili $conn, $domanda e $query.
    Per quanto riguarda $conn mi stampa un risultato booleano(e quindi la connessione è effettuata correttamente).
    Ciò non accade per le altre due che invece, stampate a video, mi interpretano ciò che gli viene assegnato come semplice testo e non come boolean.
    Tanto è vero che l'inserzione non avviene nel database e mi stampa a video:
    Qualcosa è andato storto.
    Aiutatemi grazie....

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.