Visualizzazione dei risultati da 1 a 6 su 6

Discussione: update ricorsivo

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    14

    update ricorsivo

    salve a tutti, ho un problema con uno script:

    ho dei dati in un db mysql, utilizzo la funzione fetch array per vederli come tabella, applico però un text form per ogni riga per aggiungere dei commenti, come faccio a salvare questi commenti con l'update??

    vi allego il codice:

    Codice PHP:
    <?php
    require_once("includes/config.php");
    require_once (
    "Excel/reader.php");
    include(
    "includes/common.php");

    // Connect to MySQL database
    $db mysql_connect($db_host$db_user$db_password)
              or die (
    "Impossibile connettersi al server!");
    mysql_select_db($db_database$db)
              or die (
    "Impossibile connettersi al database!");
                    
            echo 
    "

    <table width=\"100%\">"
    ;
            echo 
    "<tr><th id=\"year-container\">Nome</th><th id=\"year-container\">Cognome</th><th id=\"year-container\">Telefono</th><th id=\"year-container\">Note Telefonata</th></tr>";
            
            
    // Show the events for the day
            
    $sql mysql_query("SELECT * FROM ".$_POST['listname'].""$db);
            
            if (
    mysql_num_rows($sql) > 0) {
                while (
    $e mysql_fetch_array($sql)) {
              echo 
    "<tr><td class=\"day-currentMonth-weekday\">$e[nome]</td><td class=\"day-currentMonth-weekday\">$e[cognome]</td><td class=\"day-currentMonth-weekday\">$e[telefono]</td><td class=\"day-currentMonth-weekday\" width=\"80\"><input name=\"text\" type=\"text\" value=\"$e[note]\" size=\"80\"/></td></tr>";
              }
            } else {
              echo 
    "

    Nessun Record Trovato</p>\n"
    ;
            }
            
            echo 
    "</table>";          

            
    // Close the database
            
    mysql_close($db);
        
          
          
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    14
    un aiutino dai ragazzi please

  3. #3
    gli <input type="text"> devi chiamarli in un modo unico e che permetta di sapere a che riga di DB si riferiscono e se dai dei nomi tipo "commento[23]".
    Usa la primary key della tabella SQL o un campo che sia UNIQUE per facilitarti la vita.

    Poi è abbastanza semplice, fai un loop attraverso tutto i campi commento che saranno un array con qualcosa tipo:
    Codice PHP:
    foreach($_POST['commento'] as $id => $text){
    if(!empty(
    $text)){
    // UPDATE
    }


  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    14
    ok grazie proverò col tuo consiglio, pensavo ci fosse qualche funzione pronta in php,
    scusa una cosa, ma allora la tabella la devo trasformare in una specie di form per salvare i dati o non è necessario?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    14
    allora modifica fatta al codice:

    Codice PHP:
     echo "<form action=\"salva_lista.php\" method=\"post\">";       
            echo 
    "

    <table width=\"100%\">"
    ;
            echo 
    "<tr><th id=\"year-container\">Nome</th><th id=\"year-container\">Cognome</th><th id=\"year-container\">Telefono</th><th id=\"year-container\">Note Telefonata</th></tr>";
            
            
    // Show the events for the day
            
    $sql mysql_query("SELECT * FROM ".$_POST['listname'].""$db);
            
            if (
    mysql_num_rows($sql) > 0) {
            
    $id=1;
                while (
    $e mysql_fetch_array($sql)) {
              echo 
    "<tr><td class=\"day-currentMonth-weekday\">$e[nome]</td><td class=\"day-currentMonth-weekday\">$e[cognome]</td><td class=\"day-currentMonth-weekday\">$e[telefono]</td><td class=\"day-currentMonth-weekday\" width=\"80\"><input name=\"note[$id]\" type=\"text\" value=\"$e[note]\" size=\"80\"/></td></tr>";
              
    $id++;
              }
            } else {
              echo 
    "

    Nessun Record Trovato</p>\n"
    ;
            }
            
    // Close the database
            
    mysql_close($db);
            echo
    "<input type=\"submit\" value=\"Salva la lista\" />";
            echo 
    "</table>";   
            echo 
    "</form>"
    ho modificato la classe creando un form e imposto il nome di ogni input con note[$id] che prende valori crescenti; pertanto i valori sono note[1] note[2] note[3] etc
    cliccando poi su salva la lista si passa ad un ulteriore file:

    Codice PHP:
    $db mysql_connect($db_host$db_user$db_password)
              or die (
    "Impossibile connettersi al server!");
    mysql_select_db($db_database$db)
              or die (
    "Impossibile connettersi al database!");
            
    foreach(
    $_POST['note'] as $id => $text){
    if(!empty(
    $text)){
        
    mysql_query('UPDATE `test` SET `note` = '.$text.' WHERE `id` = '.$id.';'$db)
            or die (
    "Attenzione, impossibile inserire ii record("mysql_error().")");
     }
    }
    mysql_close($db); 
    qui però mi da problemi non so come leggere note[1] note[2] note[3], così mi da un errore:
    Attenzione, impossibile inserire ii record(Unknown column 'test' in 'field list')

    inoltre il pulsante "salva la lista" mi compare prima della tabella dei valori come mai?

    un aiutino please.

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2007
    Messaggi
    14
    beh risolto in maniera un pò grezza ma risolto, grazie cmq

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.