Problema per una query di aggiornamento record php

ho trovato un errore
modifica
PHP:
$sql = "SELECT * FROM articoli WHERE id=$_GET[riga_id]";
con
PHP:
$sql = "SELECT * FROM articoli WHERE id=" . $_GET['riga_id'];

nella pagina intermedia
 
prova a fare solo la modifica che ti ho appena scritto
 
Effeelle ho simulato il tuo codice

e funge tutto alla perfezione, quindi credoc he l'unica cosa sia il nome dei campi. Sei sicuro che siano scirtti corretttamente? è importante distinguere maiuscole e minuscole.

inoltre nell'ultimo codice postato c'è un errore in step 2

PHP:
  echo "Titolo<br> 
 =\"Titolo\" type=\"text\"  size=\"50\" value=\"$titolo\"><br>";
  echo "Testo<br> 
 =\"Testo\" type=\"text\" size=\"100\" value=\"$testo\"><br>";
 
 
  echo "Data:<br>
  =\"Data\" type=\"text\"  size=\"10\" value=\"$data\"><br>";

   echo "=\"hidden\" name=\"id\" value=\"$id\">";

     echo "<br>";
     echo "=SUBMIT VALUE=\"Modifica il record\">

manca l'input ma probabilemnte è un errore di copia incolla
 
un altra prova che volevo farti fare è stampare l'array che ti restituisce la query del modifica-step2.php
aggiungi un var_dump($riga) e posta
PHP:
while ($riga = mysql_fetch_array($risultati_mysql)) {
        var_dump($riga);
        $id = $riga["id"];
        $titolo = $riga["titolo"];
        $testo = $riga["testo"];
        $data = $riga["data"];
    }
sempre che non risolvi controllando i nomi dei campi
 
con questa modifica la parte intermedia funziona ancora perfettamente il problema sarà nell'ultimo file step3 hai trovato qualcosa altro? cmq è la query che non va e poi praticamente nell'ultimo file dopo la selezione del database ho questo codice
PHP:
$id      =  $_POST["id"];
che prima era cosi
PHP:
$id      =  $_POST["id"]; 
$titolo     =  $_POST["titolo"]; 
$testo      =  $_POST["testo"]; 
$data      =  $_POST["data"];
ma mi dava errore in queste linee
 
Monital
come ho postato il codice io funziona ma la query che è scritta funziona perchè ce la modifica diretta e nn da form io invece vorrei utilizzare il form del primo file dove nel secondo file leggo il contenuto del record e nel terzo applicherei la modifica non credo perchè sto lavorando in locale
 
hai trovato qualcosa altro?
forse

sistema gli apici anche sulla query dello step 3

PHP:
$query = "UPDATE miatabella SET titolo='" . $_POST['titolo'] . "', testo='" . $_POST['testo'] . "', numero='" . $_POST['numero'] . "' WHERE id='" . $_POST['id'] ."'";
 
Ho inserito la query che mi hai postato ma mi elimina i valori del record mi cancella tutto mi lascia solo l'id mannaggia
 
Questa è la query che mi da phpmyadmin per l'update del record
PHP:
UPDATE `articoli` SET `id`=[value-1],`titolo`=[value-2],`testo`=[value-3],`data`=[value-4] WHERE 1
solo che non riesco a formularla in base al mio script
 
prova questo e posta

un altra prova che volevo farti fare è stampare l'array che ti restituisce la query del modifica-step2.php
aggiungi un var_dump($riga) e posta
PHP:
while ($riga = mysql_fetch_array($risultati_mysql)) {
        var_dump($riga);
        $id = $riga["id"];
        $titolo = $riga["titolo"];
        $testo = $riga["testo"];
        $data = $riga["data"];
}
 
effe la query come l'hai impostata te funziona (l'ho testata) ed anche come te l'ha postata ciric, come ti ha detto ciric stesso il problema viene dai dati che nona rrivano a step3.

Domanda stupida ma sai com'è a volte sono proprio le sciocchezze, in step2 le caselle di testo riportano i dati esatti?


mentre scrivevo i ho trovato l'errore:

PHP:
  echo "Titolo<br> 
 <input name=\"Titolo\" type=\"text\"  size=\"50\" value=\"$titolo\"><br>";
  echo "Testo<br> 
 <input name=\"Testo\" type=\"text\" size=\"100\" value=\"$testo\"><br>";
 
 
  echo "Data:<br>
  <input name=\"Data\" type=\"text\"  size=\"10\" value=\"$data\"><br>";

se noti in name hai usato il maisucolo iniziale

Titolo, Testo, Data

ma le variabili le hai chiamate

PHP:
$_POST[titolo], $_POST['testo'] $_POST['data']

prova a chiamarle

PHP:
$_POST['Titolo'], $_POST['Testo'] $_POST['Data']

e vedi che andrà
 
Bravo Monital bel colpo d'occhio :fonzie:
 
Che sollievo grazie mille ragazzi a tutte e due era una stupidagine ho controllato lo script 100 volte ma non mi sono accorto mai delle variabili con l'iniziale grande che ha trovato Monital grazie mille davvero... adesso mi pongo un altra domanda se io vorrei utilizzare nel primo file degli input radio per selezionare il record apposto del link dove clicco in questo caso nell'id come trasformo il listato
 
Bravo Monital bel colpo d'occhio :fonzie:


Ho avuto ottimi maestri qui dentro che al confronto sono una pippa :beer:


prova così

PHP:
echo "<table width=\"50%\" border=\"0\"> 
  <br><br>
  <form method=\"GET\" action=\"step2.php\">
  <tbody>";
  
  echo "<tr><th>&nbsp;</th><th>Titolo</th></tr>";


  while ($riga=mysql_fetch_array($risultati_mysql))
{ 
$id=$riga["id"]; 
$titolo=$riga["titolo"]; 
  echo "<TR>";
echo "<td><input type='radio' name='id' value='$id'></td>";


echo "<TD>$titolo</TD>";
}
echo "</TR>";
  }

poi in step 2

modifica la query così
PHP:
  $sql="SELECT * FROM mmiatabellae WHERE id=$_REQUEST['id']"; 
  $risultati_mysql=mysql_query($sql);
 
I radio non inviano in automatico
devi inserire anche il pulsante del submit

posto anche il mio
PHP:
echo "<form method='get' action='modifica_step2.php'>";
    while ($riga = mysql_fetch_array($risultati_mysql)) {
        $id = $riga["id"];
        $titolo = $riga["titolo"];
        echo "<tr><td><input type='radio' name='riga_id' value='$id'/></td>  
                  <td>$titolo</td> 
              </tr>";
    }
    echo "<tr><th>&nbsp;</th><th><input type='submit' value='Invia'/></th></tr>";
    echo "</form>";

ricordati comunque un problema una discussione
 
Vi ringrazio e anche questo funziona perfettamente o solo altri due piccoli problemini che saranno stupidagini ma mi sto imparando da pochi mesi php.
Praticamente se applico una modifica al testo o al titolo non mi legge ' l'apostrofo tutti gli altri caratteri si ma l'apostrofo me lo converte in testo strano, e poi su modifica step 2 dove creo il form che mi legge le variabili titolo testo e data o 3 campi input di tipo testo ho provato a mettere in uno una textarea perchè se il testo della variabile testo è lungo è difficoltoso leggerlo su un rigo il problema è che non vedo il testo precendente cioè la textarea mi appare vuota se scrivo al suo interno e applico la modifica essa si applica io ho utilizzato questo: s
PHP:
<textarea name=\"Testo\" rows=\"9\" cols=\"70\" value=\"".$testo."\"></textarea> ";
icuramente cè qualcosa di sbagliato
 

Discussioni simili