• User

    Perdonami, ma ho dei limiti nel PHP.
    Cosa intendi per stampare $id ?
    Capisco che si intenda un comando print ma in che modo devo scriverlo?


  • ModSenior

    Devi semplicemente fare :
    [php]
    echo $id;
    [/php]

    Dove c'è la query.


  • User

    Ok ho aggiunto.
    La risposta è quasi simile alla precedente

    7Modificati: 0 records

    dove 7 sta per il numero di id che ho tentato di modificare ma naturalmnte 0 records sta per il numero dei records che ha modificato (cioè 0)


  • ModSenior

    La sintassi della query è esatta, controlla che nella tabella ci sia un record avente come id 7.


  • User

    Si c'è ...


  • ModSenior

    Ti dirò che mi sembra impossibile.
    Allora dopo la query aggiunti:
    [php]
    echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));
    [/php]
    Che numero stampa questa volta?


  • User

    71Modificati: 0 records

    se tolgo echo $id; la risposta è

    1Modificati: 0 records


  • ModSenior

    Allora, la cosa è strana, modifica questo:
    [php]
    $query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
    $dbResult = mysql_query($query, $db);
    [/php]
    In questo:
    [php]
    $query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
    $dbResult = mysql_query($query, $db) or die(mysql_error());
    [/php]
    Vedi se da errore.
    L'unica cosa che mi viene in mente è che puoi avere i magic_quotes impostati a off nel php.ini, e in uno dei campi mandi un ' modificando cosi la query, anche se non sono molto convinto che il problema può essere questo.

    Evita di chiamare i campi con caratteri accentati ed anche le variabili. Al posto di città usa citta, può dare effetti indesiderati.


  • User

    Modificato come da tuoi suggerimenti ma la risposta è sempre
    1Modificati: 0 records

    Vuoi sapere una cosa carina?
    Se agisco direttamente in myPHPadmin a modifico uno dei records, vedo la modifica nella tabella nella pagina PHP nel mio browsers.

    Quando poi tento di modificarla tramite questa "simpatica" pagina di modifica il risultato è che i records vengono cancellati...

    Può esserti utile?


  • ModSenior

    La cosa strana è che c'è il record con quell'id, infatti il mysql_num_rows che abbiamo fatto lo conferma, la query non dà errore ma non modifica nulla.
    L'unica cosa che penserei in questo caso, è aver il nome di qualche campo che dià problemi.
    Stampa la query con:
    [php]
    echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id';
    [/php]
    E vedi lanciandola dal phpmyadmin che fà.

    Proverei a togliere anche dalla query la modifica del campo città, magari quella à da fastidio.

    Oltre questo francamente non sò più che dirti, perchè non trovo un altra spiegazione logica.


  • User

    Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in /home/.........../............/............../................/modifica.php on line 93

    😞 Questo è ciò che ottengo ... naturalmente ho sostituito l'indirizzo completo con dei puntini per motivi di privacy ....

    ho rimesso tutto come prima e ho cancellato i parametri del campo "città" e naturalmente ottengo la solita risposta

    1Modificati: 0 records

    Waaaaaaa!!!! 😢


  • ModSenior

    Si errore mio, dovevi fare:
    [php]
    echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";
    [/php]


  • User

    update rubrica set promotore='', nome_azienda='', settore='', città='', indirizzo='', nome_contatto='', telefono='', email='', sede_estero='', azioni='', progressione='', risultato_finale='', note='' where id='7'1Errore:Query was emptyQuery was empty

    😞 😞 😞


  • ModSenior

    Query was empty?
    Puoi postare il codice completo, non vorrei che abbiamo fatto un pò di confusione con questi aggiungi qua e là.
    La query stampata se la lanci dal phpmyadmin dice record modificati 0?


  • User

    Ecco il codice completo

    [php]<?
    include ("config.inc.php");
    include ("top_foot.inc.php");
    //intestazione
    top();
    ?>
    <html><head>
    <title>Modifica di un record</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    -->
    </style>
    </head>
    <body>
    <?php
    $host = 'localhost' ;
    $user = 'user' ;
    $password = 'password' ;
    $db_name = 'database';
    $confirm=$_REQUEST['confirm'];
    $id=$_REQUEST['id'];
    $db = mysql_connect($host, $user, $password)
    or die ("Impossibile connettersi al server $host");
    mysql_select_db($db_name, $db)
    or die ("Impossibile connettersi al database $db_name");
    if (!$confirm)
    {
    $query = "select * from rubrica where id=$id";
    $dbResult = mysql_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" maxlenght="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
    {
    $promotore=$_REQUEST['promotore'];
    $nome_azienda=$_REQUEST['nome_azienda'];
    $settore=$_REQUEST['settore'];
    $città=$_REQUEST['città'];
    $indirizzo=$_REQUEST['indirizzo'];
    $nome_contatto=$_REQUEST['nome_contatto'];
    $telefono=$_REQUEST['telefono'];
    $email=$_REQUEST['email'];
    $sede_estero=$_REQUEST['sede_estero'];
    $azioni=$_REQUEST['azioni'];
    $progressione=$_REQUEST['progressione'];
    $risultato_finale=$_REQUEST['risultato_finale'];
    $note=$_REQUEST['note'];

    echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";

    echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));

    if(mysql_query($query)== true)
    {
    echo "Modificati: ",mysql_affected_rows(), " records";
    }
    else
    {
    echo "Errore:" . mysql_error();
    }
    $dbResult = mysql_query($query, $db) or die(mysql_error());
    $AffectedRows = mysql_affected_rows($db);

    if ($AffectedRows!=1)
    {
    print("<h3>Il record è stato aggiornato</h3>");
    print("<a href="query.php"><img src="http://www.giorgiotave.it/forum/images/vedi.jpg" border="0"></a><br><br><br>");
    print("<a href="logout.php"><img src="http://www.giorgiotave.it/forum/images/logout.jpg" border="0"></a>");
    }
    mysql_close($db);
    }
    ?>
    </body>
    </html>
    [/php]

    e scusa la mia beata ignoranza 🙂 ma come si fa a lanciare da PHPMyAdmin? 😊


  • ModSenior

    Apri il phpmyadmin, selezioni il database da sinistra, al centro in alto trovi SQL, li incolli quella query e fai esegui.

    EDIT:
    Non ho controllato tutto ciò che c'è prima, visto che la query la stampa si spera corretta, se hai provato a mettere ovunque i campi vuoti.
    Ti sei perso una variabile durante le modifiche fai cosi:
    [php]
    <?
    include ("config.inc.php");
    include ("top_foot.inc.php");
    //intestazione
    top();
    ?>
    <html><head>
    <title>Modifica di un record</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
    <!--
    body,td,th {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 12px;
    }
    -->
    </style>
    </head>
    <body>
    <?php
    $host = 'localhost' ;
    $user = 'user' ;
    $password = 'password' ;
    $db_name = 'database';
    $confirm=$_REQUEST['confirm'];
    $id=$_REQUEST['id'];
    $db = mysql_connect($host, $user, $password)
    or die ("Impossibile connettersi al server $host");
    mysql_select_db($db_name, $db)
    or die ("Impossibile connettersi al database $db_name");
    if (!$confirm)
    {
    $query = "select * from rubrica where id=$id";
    $dbResult = mysql_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" maxlenght="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
    {
    $promotore=$_REQUEST['promotore'];
    $nome_azienda=$_REQUEST['nome_azienda'];
    $settore=$_REQUEST['settore'];
    $città=$_REQUEST['città'];
    $indirizzo=$_REQUEST['indirizzo'];
    $nome_contatto=$_REQUEST['nome_contatto'];
    $telefono=$_REQUEST['telefono'];
    $email=$_REQUEST['email'];
    $sede_estero=$_REQUEST['sede_estero'];
    $azioni=$_REQUEST['azioni'];
    $progressione=$_REQUEST['progressione'];
    $risultato_finale=$_REQUEST['risultato_finale'];
    $note=$_REQUEST['note'];

    echo "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";

    echo mysql_num_rows(mysql_query("SELECT id FROM rubrica where id='$id'"));
    $query = "update rubrica set promotore='$promotore', nome_azienda='$nome_azienda', settore='$settore', città='$città', indirizzo='$indirizzo', nome_contatto='$nome_contatto', telefono='$telefono', email='$email', sede_estero='$sede_estero', azioni='$azioni', progressione='$progressione', risultato_finale='$risultato_finale', note='$note' where id='$id'";

    if(mysql_query($query)== true)
    {
    echo "Modificati: ",mysql_affected_rows(), " records";
    }
    else
    {
    echo "Errore:" . mysql_error();
    }
    $dbResult = mysql_query($query, $db) or die(mysql_error());
    $AffectedRows = mysql_affected_rows($db);

    if ($AffectedRows!=1)
    {
    print("<h3>Il record è stato aggiornato</h3>");
    print("<a href="query.php"><img src="http://www.giorgiotave.it/forum/images/vedi.jpg" border="0"></a><br><br><br>");
    print("<a href="logout.php"><img src="http://www.giorgiotave.it/forum/images/logout.jpg" border="0"></a>");
    }
    mysql_close($db);
    }
    ?>
    </body>
    </html>
    [/php]


  • User

    update rubrica set promotore='', nome_azienda='', settore='', città='', indirizzo='', nome_contatto='', telefono='', email='', sede_estero='', azioni='', progressione='', risultato_finale='', note='' where id='7'1Modificati: 0 records

    Io non ce la faccio più ... e tu credo anche 😞 sto seriamente meditando di picchiare la testa su uno spigolo ...


  • ModSenior

    Anche lanciando dal phpmyadmin non modifica nulla?
    Prova a lanciare questa query dal phpmyadmin:
    [php]
    update rubrica set promotore='' where id='7'
    [/php]
    E vedi se cosi modifica.


  • User

    Righe interessate: 0 (La query ha impiegato 0.0002 sec)


  • ModSenior

    :bho:
    Lanciando dal phpmyadmin:
    [php]
    SELECT * FROM rubrica where id='7'
    [/php]
    Prima lo abbiamo fatto da php e trovava il record con id 7, ma se non modifica l'unica cosa è che non c'è un record con id 7.