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

    modifica dati in una tabella

    Ho questo script per la modifica dei dati di una tabella ma all'invio non passa le modifiche al db mi aiutate a capire perchè?

    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "UPDATE $nometabella SET ristoro= '".$_GET['$ristoro_mod'].", categoria= '".$_GET['$categoria_mod'].", nome= '".$_GET['$nome_mod'].", indirizzo= '".$_GET['$indirizzo_mod'].", tel= '".$_GET['$tel_mod'].", fax= '".$_GET['$fax_mod']." WHERE id= '".$_GET['$id']."'";

    $esegui = mysql_query($query, $connect);

    if(@mysql_query($query, $connect)){
    echo ("Hai modificato ".$_GET['$nome'].",
    che adesso si chiama ".$_GET['$nome_mod']."

    e il suo indirizzo è

    [b]".$_GET['$indirizzo_mod']."[b]

    ");
    echo ("<A href=\"tabella.php\">Torna alla gestione</A>");
    } else {
    echo ("Non hai modificato nulla.".mysql_error());
    }

    ?>

  2. #2
    posta l'errore, non è che invii il form con post o ci sono caratteri speciali tipo \ " / nel testo passato?

  3. #3
    ciao i dati della modifica arrivano da questo script non riesco a capire dove può essere l'errore, grazie per l'aiuto

    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "SELECT * FROM $nometabella WHERE id = '".$_GET['modifica_id']."'";

    $esegui = mysql_query($query, $connect);

    while ($result = mysql_fetch_array($esegui))
    {
    echo "<FORM action=\"modifica.php\" method=post>
    Ristoro

    <INPUT TYPE=\"TEXT\" name=\"ristoro_mod\" value=\"$result[ristoro]\">


    Categoria

    <INPUT TYPE=\"TEXT\" name=\"categoria_mod\" value=\"$result[categoria]\">


    Nome

    <TEXTAREA name=\"nome_mod\" rows=\"8\" cols=\"40\">$result[nome]</TEXTAREA>


    Nome

    <TEXTAREA name=\"indirizzo_mod\" rows=\"8\" cols=\"40\">$result[indirizzo]</TEXTAREA>


    Telefono

    <INPUT TYPE=\"TEXT\" name=\"tel_mod\" value=\"$result[tel]\">


    Fax

    <INPUT TYPE=\"TEXT\" name=\"fax_mod\" value=\"$result[fax]\">



    <INPUT TYPE=\"HIDDEN\" name=\"id\" value=\"$result[id]\">
    <INPUT TYPE=\"SUBMIT\"><INPUT TYPE=\"RESET\"></FORM>";
    }

    ?>

  4. #4
    non ho letto bene il codice ma è lampante il tuo invio del form con method=post, mentr erichiami i dati col $_GET, sostituisci tutti i $_GET con $_REQUEST che va bene sia con get che con post
    cia

  5. #5
    ho provato come dici
    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "UPDATE $nometabella SET ristoro= '".$_REQUEST ['ristoro_mod'].", categoria= '".$_REQUEST ['categoria_mod'].", nome= '".$_REQUEST ['nome_mod'].", indirizzo= '".$_REQUEST ['indirizzo_mod'].", tel= '".$_REQUEST ['tel_mod'].", fax= '".$_REQUEST ['fax_mod']." WHERE id= '".$_REQUEST ['$id']."'";

    $esegui = mysql_query($query, $connect);

    if(@mysql_query($query, $connect)){
    echo ("Hai modificato ".$_REQUEST ['nome'].",
    che adesso si chiama ".$_REQUEST ['nome_mod']."

    e il suo indirizzo è

    [b]".$_REQUEST ['indirizzo_mod']."[b]

    ");
    echo ("<A href=\"tabella.php\">Torna alla gestione</A>");
    } else {
    echo ("Non hai modificato nulla.".mysql_error());
    } ?>

    ma mi da questo risultato
    Non hai modificato nulla.You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'nome categoria, nome= 'nome modifica, indirizzo' at line 1

  6. #6
    mi potete indicare uno script per la modifica dei dati presenti nel db
    grazie

  7. #7
    devi chiudere le virgolette

  8. #8
    si grazie mancava una virgoletta x chiudere lo script
    ora il sirultato è che ho modificato il campo ma nel db non succede nulla mantiene sempre il vecchio testo, come mai?
    file 1
    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "SELECT * FROM orario WHERE id = '".$_GET['modifica_id']."'";

    $esegui = mysql_query($query, $connect);

    while ($result = mysql_fetch_array($esegui))
    {
    echo "<FORM action=\"modifica.php\" method=\"POST\">

    Nome

    <TEXTAREA name=\"orario_mod\" rows=\"8\" cols=\"40\">$result[orario]</TEXTAREA>


    <INPUT TYPE=\"HIDDEN\" name=\"id\" value=\"$result[id]\">
    <INPUT TYPE=\"SUBMIT\"><INPUT TYPE=\"RESET\"></FORM>";
    }

    ?>
    file modifica
    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "UPDATE orario SET orario= '".$_POST['orario_mod']."' WHERE id= '".$_POST['$id']."'";

    $esegui = mysql_query($query, $connect);

    if(@mysql_query($query, $connect)){
    echo ("Hai modificato l'orario ".$_POST['orario'].",
    che adesso si chiama ".$_POST['orario_mod']."

    [b]

    ");
    echo ("<A href=\"orari.php\">Torna alla gestione dell'orario</A>");
    } else {
    echo ("Non hai modificato l'orario.".mysql_error());
    }

    ?>

  9. #9
    ho provato a cambiare post con get ma nel database non succede nulla, qualcuno mi può aiutare per capire come mai?
    di seguito i due script:

    file1

    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "SELECT * FROM orario WHERE id = '".$_GET['modifica_id']."'";

    $esegui = mysql_query($query, $connect);

    while ($result = mysql_fetch_array($esegui))
    {
    echo "<FORM action=\"modifica2orari.php\" method=\"GET\">

    Nome

    <TEXTAREA name=\"orario_mod\" rows=\"8\" cols=\"40\">$result[orario]</TEXTAREA>


    <INPUT TYPE=\"HIDDEN\" name=\"id\" value=\"$result[id]\">
    <INPUT TYPE=\"SUBMIT\"><INPUT TYPE=\"RESET\"></FORM>";
    }

    ?>

    file 2

    <?

    include ("connect.inc.php");

    $connect = mysql_connect($host, $user, $passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query = "UPDATE orario SET orario= '".$_GET['orario_mod']."' WHERE id= '".$_GET['$id']."'";

    $esegui = mysql_query($query, $connect);

    if(@mysql_query($query, $connect)){
    echo ("Hai modificato l'orario ".$_GET['orario'].",
    che adesso si chiama ".$_GET['orario_mod']."

    [b]

    ");
    echo ("<A href=\"orari.php\">Torna alla gestione dell'orario</A>");
    } else {
    echo ("Non hai modificato l'orario.".mysql_error());
    }

    ?>

  10. #10
    Il tuo problema è questo crei tanti form quanti ne sono i dati presenti nell'array però alla fine crei un array ma a te interessa inviare una sola variabile alla volta, quindi assegna un nome al form tanti quanti ne sono gli elementi presenti nell'array:

    modifica il codice nel seguente modo, penso che tu debba selezionare un solo orario alla volta.

    Codice PHP:
    <?

    include ("connect.inc.php");

    $connect mysql_connect($host$user$passwd) or die ("Non connesso");
    mysql_select_db($dbname);
    $query "SELECT * FROM orario WHERE id = '".$_GET['modifica_id']."'";

    $esegui mysql_query($query$connect);

    $i=0;
    while (
    $result mysql_fetch_array($esegui))
    {? >
    <
    FORM action="modifica2orari.php" name="modOrario<? echo $i; ?>" method="GET">
        

    Orario<TEXTAREA name="orario_mod" rows="8" cols="40"><? echo $result['orario']; ? ></TEXTAREA></p>
        <
    INPUT TYPE="HIDDEN" name="id" value="<? echo $result['id']; ?>">
         <
    INPUT TYPE="SUBMIT"><INPUT TYPE="RESET">

    </
    FORM>
    <? 
    $i++;
    } ? >
    E' tutto.
    Roberto Dungino

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.