Esecuzione di una Update di singoli record

Alessandro Violante

Nuovo Utente
27 Set 2013
2
0
0
Buona sera, il mio problema riguarda l'utilizzo di una query UPDATE allo scopo di modificare i nomi di alcuni record. Non riesco bene a capire cosa devo fare.

Questo è il mio codice

PHP:
	function show_pagina($db,$sql,$q) {
	
		$pagina = htmlentities($_GET['modifica_pagina']);
		echo $pagina;
	
		try {
			$sql = $db->prepare("SELECT * FROM pagine");
			$sql->execute();
			$result = $sql->fetchAll(PDO::FETCH_ASSOC);
			$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);	
			
			echo 'Elenco pagine';
			echo '<ul>';
			foreach ($result as $value) {
				echo "<a href='{$value['slug']}'><li>{$value['nome_pagina']}</li></a>";
				echo "<label for 'modifica_pagina'>";
				echo "<form name='form' method='get' action=''>";
				echo "<input type='text' name='modifica_pagina'>";
				echo "<input type='submit' name='edit_pages' value='Modifica pagina'>";
				echo "</form>";
			}
				echo '</ul>';
				 
			} catch (PDOException $e) {
				echo 'Selezione fallita'.$e->getMessage();
			}
		
		try {	
		
			if (isset($_POST['edit_pages'])) {
			
				$sql = "UPDATE pagine SET nome_pagina = :modifica_pagina, slug = :modifica_pagina WHERE modifica_pagina = '".$modifica_pagina."'";
				$q = $db->prepare($sql);
				$q->execute(array(':modifica_pagina'=>$_POST['modifica_pagina'],':slug'=>$_POST['modifica_pagina']));
				$db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);
			}
				
			} catch(PDOException $e) {
				echo 'Modifica fallita'.$e->getMessage();
			}		
	}

Quello che non capisco è: voglio che la mia variabile get sia, a seconda delle caselle, il nuovo nome delle pagine. Detto questo la clausola WHERE che cosa deve dire? Laddove cosa? Io voglio dire qualcosa tipo "laddove $modifica_pagina è uguale al nuovo nome_pagina". Come si fa?

Grazie!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, a me sembra corretto a parte che la variabile $modifica_pagina non esiste perche all'inizio la chiami $pagina
dovrebbe quindi idventare
PHP:
WHERE modifica_pagina = '".$pagina."'";
 

Alessandro Violante

Nuovo Utente
27 Set 2013
2
0
0
ciao critic, sì è vero avevo scritto male il codice ma comunque il problema non è quello perchè in questo modo l'update non fa nulla. sembra che la condizione if nome pagina = variabile get modifica pagina per la query non significhi niente

qualche suggerimento?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
$modifica_pagina non è definita
PHP:
$sql = "UPDATE pagine SET nome_pagina = :modifica_pagina, slug = :modifica_pagina WHERE modifica_pagina = '" . $modifica_pagina . "'";
prova cosi
PHP:
$sql = "UPDATE pagine SET nome_pagina = :modifica_pagina, slug = :modifica_pagina WHERE modifica_pagina = '" . $_POST['modifica_pagina'] . "'";
 
Discussioni simili
Autore Titolo Forum Risposte Data
max1850 Tempo di esecuzione di una query Classic ASP 2
G Bloccare l'esecuzione di una funzione Javascript 2
U Link a pagina ed esecuzione file PHP 0
otto9due Impedire esecuzione diretta dei file PHP 7
G AVVISO QUERY IN ESECUZIONE PHP 1
Y verificare condizione dopo esecuzione della funzione Programmazione 0
Beppe2 Ritardare esecuzione script Javascript 2
J [Javascript] Inserire un caricamento con animazione prima dell'esecuzione di un'azione Javascript 1
T [PHP] Esecuzione di telnetd.exe PHP 4
N [Javascript] For-loop su thead: tempo di esecuzione variabile Javascript 1
A [Javascript] errore Js in esecuzione codice da animate Javascript 2
A [Oracle] Errore esecuzione job Oracle 0
C [PHP] Esecuzione comando contenuto in stringa PHP 2
Monital [PHP] Eliminare la Barra di caricamento file alla fine dell'esecuzione PHP 11
S Sql Server 2008 Express - Tempi esecuzione queries Database 1
N esecuzione contemporanea di file php PHP 2
1 Problema riscontrato nell'esecuzione da programma istallato Programmazione 0
Max 1 Cartella Esecuzione Automatica Windows e Software 4
blips Ordine di esecuzione query PHP 3
francesco7 [Problema] esecuzione script Upload file in php PHP 0
S Esecuzione di un file JAR Programmazione 0
Monital Pagina bianca e ritardo nell'esecuzione dello script PHP 1
M esecuzione comando shell da applicazione php su client PHP 5
M Perchè alla fine di un ciclo while si interrompe l'esecuzione? PHP 1
A problema con esecuzione stream da remoto PHP 0
A Accesso e recupero informazioni su db mysql e 2 tabelle. Php lento nell'esecuzione. PHP 4
S [Vb.net] Problema esecuzione programma esterno - Process .NET Framework 1
H [Mysql] Errore esecuzione MySQL 4
A Funzioni copy e permessi esecuzione PHP 5
V Esecuzione contemporanea di Excel Visual Basic 0
catellostefano Errore esecuzione query MySQL PHP 4
F Esecuzione automatica di un form Javascript 0
A Testo in fase di esecuzione Ajax 2
JellyBelly Aiuto su implementazione esecuzione asincrona invio email Ajax 1
L Caricare in successione swf (garantendo tutta l'esecuzione)! Flash 1
L [PHP] Esecuzione script ad intervalli prestabiliti Programmazione 1
I Script per esecuzione ciclica di vari video flash Javascript 3
I Esecuzione ciclica di vari video flash Flash 4
G Comando per far partire l'esecuzione di script se c'è settato un coocky. Javascript 2
O Esecuzione di un'animazione per n-volte Flash 0
A Esecuzione Pagine ASP.NET sul browser ASP.NET 1
K Esecuzione di Script PHP alla JavaScript PHP 1
V Prima esecuzione Classic ASP 4
jan267 Esecuzione automatica con Win2000 Prof. Hardware 1
M pulsante per aprire una maschera che contiene controllo schede MS Access 0
M Leggere in un report il valore di una casella combinata di una maschera Database 0
D Miglior modo per estrarre le occorrenze di un elemento in un set di più file xml e quindi scrivere il risultato in una tabella Excel o magari in JSON XML 0
S [VB.NET]: Coordinate immagini dentro una PictureBox Visual Basic 0
I stampare una stringa echo PHP 2
MarcoGrazia Riprendere una sessione interrotta PHP 0

Discussioni simili