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

    Modificare dei dati del database

    Salve Ragazzi avrei una piccola difficoltà in php cioè io devo attraverso una pagina modificare dei file presenti nel database mysql e cioè

    Ho un raccolta di punti e un database costruito con i campi

    Ncard
    Punti
    Nome
    Cognome

    Molto semplice, poi richiamo questi dati in una pagina che me li stampa a video con una tabella in più per un form dove io inserisco i punti da aggiungere alla card che poi manda un il post ad una pagina (che devo ancora realizzare) dove viene aggiunto o tolto al valore dei punti e poi salvato al posto di quello vecchio.

    Ora però ho un problema e cioè se io faccio un form, come faccio a farci passare insieme il valore della card che sarebbe la mia chiave primaria (ho un ciclo while che stampa ogni valore della card quindi per prenderli non c'è problema)

    E poi nella pagina di controllo come faccio a fare l'update? devo fare la query classica

    UPDATE `customers_card` SET `Punti` = $miavariabile WHERE `customers_card`.`Ncard` =0;

    grazie mille per l'attenzione

  2. #2
    Possibile che nessuno sappia aiutarmi... vi prego please

  3. #3
    Codice PHP:
    print ("Numero card: $ncard
    "
    );
    print (
    "Punti: $punti
    "
    );
    print (
    "Intestatario: \"$cognnome\" \"$nome\"

    "
    );

    print (
    "<form name=mod_punti action=modifica.php target=_self method=post>");
    print (
    "Punti da aggiungere/togliere: <input type=text name='mod_points' value=$mod_points>
    "
    );
    print (
    "<input type=submit name=submit value=\"Cambia punteggio\">");
    $punti += $mod_points;
    print (
    "<input type=hidden name=punti_aggiornati value=$punti>");
    print (
    "<input type=hidden name=ncard value=$ncard>");
    print (
    "</form>"); 
    e nell'altra pagina

    Codice PHP:
    $punteggio=$_POST['punti_aggiornati'];
    $ncard=$_POST['ncard'];

    $query"UPDATE tabella SET punti= ".$punteggio." WHERE ncard= ".$ncard."";
    if(!
    $res mysql_db_query($db_name$query$db_link))
    print (
    "non funziona la $query"); 

  4. #4
    Ciao Grazie mille della risposta... però ho qualche problemino, prima di tutto il tuo codice giusto o sbagliato che sia è un pochino sbagliato per me nel senso che io metto dei dati nella tabella, e secondo da come hai messo te, la stampa delle variabili della tabella è diversa dalla mia (non è per lamentarmi anzi grazie mille che ti sei sbattuto al posto mio ^^) quindi ho pensato di mettere il tutto in questo modo sperando che funzionasse tutto:
    Codice PHP:
    $query1 tep_db_query("SELECT * FROM customers_card ORDER BY Ncard" );
                  while (
    $ris1 tep_db_fetch_array($query1))
                  {
                              echo 
    '<tr><td>',$ris1['Ncard'],'</td><td>',$ris1['Nome'],' ',$ris1['Cognome'],'</td><td>',$ris1['Punti'],
                  
    '</td><td><form name="mod_punti" action="modifica.php" target="_self" method="post">
                  <input type="text" name="mod_points" value="'
    ,$mod_points,'">
                  <input type="submit" name="submit" value="Cambia punteggio">'
    ,$punti += $mod_points,'
                  <input type="hidden" name="punti_aggiornati" value="'
    ,$punti,'">
                  <input type="hidden" name="ncard" value="'
    ,$ncard,'">
                  </form></td></tr>'
    ;
                              } 
    Però non ho ben capito i form cosa fanno, nel senso che nel tag form, io indico che deve inviare i dati alla pagina modifica.php,
    il primo form è un text dove io metto il valore dei nuovi punti che voglio aggiungere, assegnadoli alla variabil $mod_points. A questo punto che il submit faccio partire la somma dei punti con quelli che avevo giusto? quindi dovrei cambiare la tua variabile $punti con la mia $ris1['Punti'] no? poi gli hidden non so cosa vogliono significare, ma credo che sono quelli che mandano i valori della carta e dei nuovi punti giusto?

    Anche perchè mi da errore nella query nel senso che mi da come numero punti=0 e come numero card un valore non definito, nullo. Se ho sbagliato qualche cosa per piacere dimmelo che ci sto sclerando ^^

    Cmq grazie ancora per l'impegnoa

  5. #5
    Up...please

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    Codice PHP:
     <?php session_start();

    $mod_points=$_POST['mod_points'];   //punti da sommare

    $punti=$_POST['punti'];             //vecchi punti

    $ncard_a=$_POST['ncard_a'];         //recordID



    require_once('Connections/NOME FILE CONNESSIONE.php');             //NOME FILE CONNESSIONE

    mysql_select_db($database_NOME TUO DATABASE$NOME TUA TABELLA);   //SOSTITUISCI NOME TUO DATABASE 



    if($_POST['Submit']) {

    $totale=$punti+$mod_points;

    echo 
    $totale;

    $query"UPDATE customers_card SET punti='$totale' WHERE ncard='$ncard_a'"

      
    mysql_select_db($database_NOME TUO DATABASE$NOME TUA TABELLA);

      
    $Result1 mysql_query($query$NOME TUA TABELLA) or die(mysql_error());



    }



    $query1="SELECT * FROM customers_card ORDER BY Ncard";

            
    $res=mysql_query($query1);

            while(
    $ris1=mysql_fetch_row($res))

    {

                  
    $aa=$ris1['0'];      //ncard

                  
    $bb=$ris1['1'];     //punti

                  
    $cc=$ris1['2'];     //nome

                  
    $dd=$ris1['3'];     //cognome

    echo "<form id=\"mod_punti\" name=\"mod_punti\" method=\"post\" action=\"\">

      <table width=\"442\" border=\"1\">

        <tr>

          <td width=\"154\">
    $aa</td>

          <td width=\"71\">
    $cc</td>

          <td width=\"118\">
    $dd</td>

          <td width=\"71\">
    $bb</td>

        </tr>

        <tr>

          <td colspan=\"4\">

          <input name=\"mod_points\" type=\"text\" value=\"\" />

          <input type=\"submit\" name=\"Submit\" value=\"Cambia punteggio\" />

          <input name=\"punti\" type=\"hidden\" id=\"punti\" value=\"
    $bb\" />

          <input name=\"ncard_a\" type=\"hidden\" id=\"ncard_a\" value=\"
    $aa\"/></td>

        </tr>

      </table>

      </form>"
    ;

      }

    ?>
    RICORDATI DI SOSTITUIRE NOME TUO DATABASE e NOME TUA TABELLA

  7. #7
    Ciao, scusa se sono sempre qua, sarò scemo io eh! però non va cioè, non mi esegue la query di update (non lo hai specificato ma per il form, non richiamo come nell'esempio precedente una nuova pagina ma richiamo lo stesso)

    Perchè richiamando la pagina, mi da il totale giusto, ma non mi da ne il numero card (che non è stampato quindi è giusto) ma l'errore è su questa riga
    $Result1 = mysql_query($query, 'customers_card') or die(mysql_error());
    Se ti derve la query completa eccola

    $query= "UPDATE customers_card SET punti='$totale' WHERE ncard='$ncard_a'";

    $Result1 = mysql_query($query, 'customers_card') or die(mysql_error());

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    Il fatto che lo abbia fatto tutto in una pagina non cambia niente.
    se hai copiato tutto il codice che ti ho postato e sostituito il nome del database e tabella deve funzionare

    Fai questa prova subito dopo
    Codice PHP:
    $query"UPDATE customers_card SET punti='$totale' WHERE ncard='$ncard_a'";
      
    mysql_select_db($database_NOME TUO DATABASE$NOME TUA TABELLA);
      
    $Result1 mysql_query($query$NOME TUA TABELLA) or die(mysql_error()); 
    aggiungi

    Codice PHP:
    echo $query
    e vedi cosa ti da

    Se poi lo vuoi fare su due pagine


    pagina_a




    Codice PHP:
    $query1="SELECT * FROM customers_card ORDER BY Ncard";

            
    $res=mysql_query($query1);

            while(
    $ris1=mysql_fetch_row($res))

    {

                  
    $aa=$ris1['0'];      //ncard

                  
    $bb=$ris1['1'];     //punti

                  
    $cc=$ris1['2'];     //nome

                  
    $dd=$ris1['3'];     //cognome

    echo "<form id=\"mod_punti\" name=\"mod_punti\" method=\"post\" action=\"pagina_b\">

      <table width=\"442\" border=\"1\">

        <tr>

          <td width=\"154\">
    $aa</td>

          <td width=\"71\">
    $cc</td>

          <td width=\"118\">
    $dd</td>

          <td width=\"71\">
    $bb</td>

        </tr>

        <tr>

          <td colspan=\"4\">

          <input name=\"mod_points\" type=\"text\" value=\"\" />

          <input type=\"submit\" name=\"Submit\" value=\"Cambia punteggio\" />

          <input name=\"punti\" type=\"hidden\" id=\"punti\" value=\"
    $bb\" />

          <input name=\"ncard_a\" type=\"hidden\" id=\"ncard_a\" value=\"
    $aa\"/></td>

        </tr>

      </table>

      </form>"
    ;

      } 



    pagina_b


    Codice PHP:
    session_start();
    $mod_points=$_POST['mod_points'];   //punti da sommare
    $punti=$_POST['punti'];             //vecchi punti
    $ncard_a=$_POST['ncard_a'];         //recordID

    require_once('Connections/NOME FILE CONNESSIONE.php');             //NOME FILE CONNESSIONE

    mysql_select_db($database_NOME TUO DATABASE$NOME TUA TABELLA);   //SOSTITUISCI NOME TUO DATABASE

    $totale=$punti+$mod_points;

    $query"UPDATE customers_card SET punti='$totale' WHERE ncard='$ncard_a'";
      
    mysql_select_db($database_NOME TUO DATABASE$NOME TUA TABELLA);
      
    $Result1 mysql_query($query$NOME TUA TABELLA) or die(mysql_error());
    if(
    $Result1)    { header("Location: pagina_a.php");} 

  9. #9
    Mi sa che l'errore sta proprio nella mysql_connect_db perchè aggiungendo mi da l'errore

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in "pathfile" on line 13

    Ora io non sono un espertone di PHP, però la connessione io la effettuo con un file che io richiamo ad inizio pagina (devo vedere come funziona siccome io uso OsCommerce sul sito, e il file è proprio del programma), quindi in teoria non dovrebbero esserci problemi, però aggiungendo i dati del database cioè nome db e tabella (io li aggiungo così es: 'nomedb','nometabella' dove al posto di nomedb e nometabella io inserisco i veri nomi)

    Però mi da errori, quello precedente che mi aveva postato Sir, funzionava come collegamento e tutto solo che non mi passava alcun dato

  10. #10
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    il nome del file che utilizzi a inizio pagina lo devi mettere dove ti ho detto io

    Codice PHP:
    require_once('Connections/NOME FILE CONNESSIONE.php'); 
    o meglio

    Codice PHP:
    require_once('PERCORSO DELLA CARTELLA CHE CONTIENE IL FILE DELLA CONNESSIONE/NOME FILE CONNESSIONE.php'); 
    io ho messo Connections perchè il file di solito lo metto nella cartella connections.

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.