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

    MySql modifica di un record

    Ciao a tutti,
    ho creato un database in MySql oltre allo script per visualizzarlo in una pagina html ho preparato uno script per la mofica dei record. Se viene passato il valore US, dovrebbe essere creato dinamicamente il form di modifica dei dati, ogni campo di testo è già preimpostato con il valore di quel campo in quel record. L’utente può quindi modificare le informazioni di dettaglio dei singoli campi o lasciarle invariate.Alla pressione del campo “Conferma” tutti questi dati vanno ad aggiornare l'archivio.
    Lo script in questione però non mi dà il risultato aspettato e non capisco dove possa essere l'errore.
    Riporto lo script:

    Codice PHP:
    <?php

    $db_host 
    "localhost";
    $db_user "root";
    $db_password "";
    $db_name "archeologia";
    $password "";

    $confirm=$REQUEST['confirm'];
    $id=$_REQUEST['US'];
        
    $db mysql_connect($db_host$db_user$db_password)
            or die (
    "Errore nella connessione. ");
            
    mysql_select_db($db_name$db)
            or die (
    "Errore nella selezione del database. ");
    if(!
    $confirm)
        {
          
    $query="select * from `archivio mursia` where 'US'=$US";
          
    $dbResultmysql_query($query$db);
          
    $AffectedRows=mysql_affected_rows($db);
          if (
    $AffectedRows==0)
            {
               print(
    "<h3>Non esistono record con i criteri selezionati</h3>");
            }
          else
            {
               
    mysql_data_seek($dbResult,0);
               
    $row=mysql_fetch_row($dbResult);

               print(
    "<table>");
               print(
    "<form method=\"post\"action=\"{$_SERVER['PHP_SELF']}\">");

           foreach (
    $row as $k => $v)
              {
                   
    $myfield =mysql_fetch_field($dbResult$k);
                   print (
    "<tr><td>$myfield->name</td>");
                   print (
    "<td><input type=\"text\" value=\"".$v."\" name=\" " $myfield->name "\" size=\"100\" maxlength=\"100\"></td></tr>");
              }

             print(
    "<tr><td colspan=\"2\"><input type=\"submit\" value=\"Conferma modifiche\">
             </td></tr>"
    );
             print(
    "<input type=\"hidden\" name=\"confirm\" value=\"1\">");
             print(
    "</form>");
             print(
    "</table>");
             
    mysql_free_result($dbResult);
             
    mysql_close($db);
            }
        }
       else
       {

        
    $US$_REQUEST['US'];
        
    $GIS=$_REQUEST['GIS'];
        
    $LOCALITA=$_REQUEST['LOCALITA'];
        
    $CRITERI=$_REQUEST['CRITERI'];
      
        
    $query"update  `archivio mursia` set
                 US=\"
    $US\","."
                 GIS=\"
    $GIS\","."
                 LOCALITA=\"
    $LOCALITA\","."
                 `CRITERI DI DISTINZIONE`=\"
    $CRITERI\","."
                  "
    where 'US'=$US";
                  
    $dbResult= mysql_query($query$db)or die(mysql_error());
                  
    $AffectedRows=mysql_affected_rows($db);
                  if (
    $AffectedRows!=0)
                    {
                     print("
    <h3>Il record è stato aggiornato</h3>");
                     print("
    <h3><a href=\"visualizza database evoluto.php\">Torna all'archivio</a></h3>");
                    }

           
    mysql_close($db);
        }

    ?>

  2. #2
    a me sa che è sbagliata la variabile $query, provala così:

    Codice PHP:
    $query"update  `archivio mursia` set
                 US=\"
    $US\","."
                 GIS=\"
    $GIS\","."
                 LOCALITA=\"
    $LOCALITA\",
                 `CRITERI DI DISTINZIONE`=\"
    $CRITERI\",
                  where 'US'=
    $US"

  3. #3
    provato ma ancora non funziona...
    mi stampa a video tutto il codice che ho scritto da "Non esistono record con i criteri selezionati" in poi...

  4. #4
    nella parte con

    Codice PHP:
    if(!$confirm)
        {
          
    $query="select * from `archivio mursia` where 'US'=$US";
          
    $dbResultmysql_query($query$db);
          
    $AffectedRows=mysql_affected_rows($db);
          if (
    $AffectedRows==0
    tu usi mysql_affected_rows che mostra i record che sono stati "influenzati" da una precedente operazione INSERT o UPDATE (http://it.php.net/manual/en/function...ected-rows.php) , se vuoi sapere quanti record vengono estratti dalla SELECT fai cos'

    Codice PHP:
    if(!$confirm)
        {
          
    $query="select * from `archivio mursia` where 'US'=$US";
          
    $dbResultmysql_query($query$db);
          
    $num_rows mysql_num_rows($dbResult);
          if (
    $num_rows==0

  5. #5
    ancora niente, mi visualizza la pagina di prima.. sembra quasi ci sia un'errore di ortografia..

  6. #6
    non hoi capito bene..cosa ti viene visualizzato?

  7. #7
    una pagina html con parte del codice che ho scritto ma tutto di seguito senza andare a capo codice a partire da "Non esistono record con i criteri selezionati" in poi. Un'altra volta mi era capitata una cosa simile, se non ricordo male era un errore di ortografia, ma non riesco a trovarlo...

  8. #8
    ho fatto un debug del tuo script con XDebug ma vuoi saperne una bella? non c'è manco un errore con le correzioni che ti ho dato!!!

  9. #9
    Anche io ho fatto il debug ma niente...usi DVS php editor, ma niente..

  10. #10
    Utente di HTML.it
    Registrato dal
    Mar 2007
    Messaggi
    143
    Originariamente inviato da kiara3306
    Anche io ho fatto il debug ma niente...usi DVS php editor, ma niente..
    mysql_affected_rows ?????

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.