Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84

    Nuovo elemento database...

    Ciao a tutti,
    ho un piccolo problema con l'inserimento di un nuovo elemento su un database MYSQL...
    In pratica ho il mio database, e ho creato una pagina php dove ho inserito un form per aggiornare gli elementi del database.

    Il problema è che se l'elemento del database è già presente non ho nessun problema e dal form che ho creato aggiorno tutto tranquillamente.Se invece nel database l'id non è ancora stato creato (ad esempio se nel database gli id sono 50 e voglio creare dal form il 51) dal form non mi fa aggiornare nulla ossia non mi crea il 51 esimo id con i dati che inserisco nel form.

    Come mai?? E' un problema di impostazione del database????

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    La query?
    No

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    La query?
    la query cosa?

  4. #4
    Utente di HTML.it
    Registrato dal
    Jun 2012
    Messaggi
    106
    se posti la query che hai fatto forse è meglio. Comunque è una cosa piuttosto banale, se l'id è presente fai l'update altrimenti l'insert

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84
    Quote Originariamente inviata da miky_2 Visualizza il messaggio
    se posti la query che hai fatto forse è meglio. Comunque è una cosa piuttosto banale, se l'id è presente fai l'update altrimenti l'insert
    Si ok, c'è L'update ma se metto l'INSERT al posto dell'update non è che mi cancella il numero id per sostituirlo con un altro numero id???? A me serve che l'id rimanga sempre quello....

    Cmq. la query che utilizzo è:
    $note = $_POST['note'];
    $result = mysql_query ( " UPDATE tabellaschede SET note = '$note' WHERE idscheda=$numeroscheda " );

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84
    Quote Originariamente inviata da miky_2 Visualizza il messaggio
    se posti la query che hai fatto forse è meglio. Comunque è una cosa piuttosto banale, se l'id è presente fai l'update altrimenti l'insert
    Si ok, c'è l' UPDATE ma se metto l'INSERT al posto dell'update non è che mi cancella il numero id per sostituirlo con un altro numero id???? A me serve che l'id rimanga sempre quello....

    Cmq. la query che utilizzo è:
    $note = $_POST['note'];
    $result = mysql_query ( " UPDATE tabellaschede SET note = '$note' WHERE idscheda=$numeroscheda " );

  7. #7
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Codice PHP:
    $note $_POST['note'];

    $res mysql_query "SELECT COUNT(*) AS number FROM tabellaschede WHERE idscheda=$numeroscheda " ); // Questa query conta le righe nella tabella con idscheda=$numeroscheda

    $number mysql_fetch_array ($res); // Trasformo il risultato della precedente query in un array che contiene nel campo ["number"] il numero di righe trovate

    if ($number["number"] > 0) { // Se sono state trovate righe scrivo la query per modificarle
      
    $query " UPDATE tabellaschede SET note = '$note' WHERE idscheda=$numeroscheda ";
    }
    else { 
    // Altrimenti scrivo la query per aggiungerne una nuova
      
    $query " INSERT INTO tabellaschede (note, idscheda) VALUES ('$note', $numeroscheda) "// Se il campo ischeda è AUTO_INCREMENT modifica la query in " INSERT INTO tabellaschede (note) VALUES ('$note') "
    }

    $result mysql_query $query ); // Eseguo la query 
    Tutto chiaro?
    No

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84
    Quote Originariamente inviata da tampertools Visualizza il messaggio
    Codice PHP:
    $note $_POST['note'];

    $res mysql_query "SELECT COUNT(*) AS number FROM tabellaschede WHERE idscheda=$numeroscheda " ); // Questa query conta le righe nella tabella con idscheda=$numeroscheda

    $number mysql_fetch_array ($res); // Trasformo il risultato della precedente query in un array che contiene nel campo ["number"] il numero di righe trovate

    if ($number["number"] > 0) { // Se sono state trovate righe scrivo la query per modificarle
      
    $query " UPDATE tabellaschede SET note = '$note' WHERE idscheda=$numeroscheda ";
    }
    else { 
    // Altrimenti scrivo la query per aggiungerne una nuova
      
    $query " INSERT INTO tabellaschede (note, idscheda) VALUES ('$note', $numeroscheda) "// Se il campo ischeda è AUTO_INCREMENT modifica la query in " INSERT INTO tabellaschede (note) VALUES ('$note') "
    }

    $result mysql_query $query ); // Eseguo la query 
    Tutto chiaro?
    ma scusa, nelle query che hai scritto se il mio database contiene 50 elementi e dal mio form aggiorno (quindi creo) l'elemento 70... mica mi aggiunge l'id 70 ? (se ho capito bene mi dovrebbe aggiungere l'id 51... no?

    cmq. grazie per le risposte...
    Ultima modifica di pollat; 11-04-2014 a 19:05

  9. #9
    Utente di HTML.it
    Registrato dal
    Oct 2013
    Messaggi
    84
    Ok, mi rispondo da solo...

    no, non è così ti aggiunge il 71....

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2014
    residenza
    Voltati
    Messaggi
    913
    Mmmm... non ho capito niente di quello che hai chiesto

    Gli id non devono essere in successione? (1, 2, 3, 4, ...)
    No

Tag per questa discussione

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.