query di eliminazione

  • Creatore Discussione Creatore Discussione taba93
  • Data di inizio Data di inizio

taba93

Nuovo Utente
24 Nov 2007
21
0
0
ciao a tutti sono fermo gia da un pezzo perchè mi dà errore su questa query:

PHP:
$sql = "DELETE FROM sez_users WHERE id = '$_GET['id']'";

il codice della pagina che invia la query è questa:

PHP:
<?php

include("includes/config.inc.php"); 

//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
else {
print "";
}
//Selezione del database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

$id = $_GET['id']; 

$cOption = $_GET['cosafaccio']; 
     
switch($cOption) { 
case "elimino": 
//qui scrivi la query di eliminazione 
$sql = "DELETE FROM sez_users WHERE id = '$_GET['id']'"; 
$elimina_ok = mysql_query($sql) or die(mysql_error()); 
break; 
?>

il codice della pagina k invece manda l'id per l'eliminazione del record è questa:

PHP:
<?php 

include("includes/config.inc.php"); 

//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
else {
print "";
}
//Selezione del database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

//Eseguo la query 
$query = "SELECT * FROM sez_users"; 
$result = mysql_query($query, $db); 
$row = mysql_fetch_array($result); 

//Ciclo While per visualizzare tutti gli articoli 
while($row = mysql_fetch_array($result)) 
{ 
$id = $row['id']; 
$username = $row['username']; 

echo "Utente: $username <br /><a href=\"pagina.php?cosafaccio=elimino&id=".$id."\">cancella</a>"; 
}

l'errore che dà sulla query di elminazione è:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in c:\wwwroot2\www\altro\pagina.php on line 23

sapreste darmi una mano? grazie ciao a tutti!
 
ciao
prova ad inserire

PHP:
//qui scrivi la query di eliminazione  
$sql = "DELETE FROM sez_users WHERE id = '$_GET['id']'";
echo $sql."<br>";

//$elimina_ok = mysql_query($sql) or die(mysql_error());


e guarda cosa ti stampa
 
scusa, guardando meglio prova anche

PHP:
$id = $_GET['id'];  

$cOption = $_GET['cosafaccio'];  
      
switch($cOption) {  
case "elimino":  
//qui scrivi la query di eliminazione  
$sql = "DELETE FROM sez_users WHERE id = '$id'"; 
echo $sql."<br>";
//$elimina_ok = mysql_query($sql) or die(mysql_error());  
break;
 
il codice adesso è questo ma mi dà

Parse error: parse error in c:\wwwroot2\www\altro\pagina.php on line 27

solo k sulla linea 27 c'è la chiusura di <?php....nn capisco...tu hai per caso qualke idea? ciao

PHP:
<?php

include("includes/config.inc.php"); 

//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
if ($db == FALSE)
die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
else {
print "";
}
//Selezione del database
mysql_select_db($db_name, $db)
or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php");

$id = $_GET['id'];   

$cOption = $_GET['cosafaccio'];   
       
switch($cOption) {   
case "elimino":   
//qui scrivi la query di eliminazione   
$sql = "DELETE FROM sez_users WHERE id = '$id'";  
echo $sql."<br>"; 
//$elimina_ok = mysql_query($sql) or die(mysql_error());   
break;  
?>
 
ciao
chiudi lo

switch($cOption) {
case "elimino":
//qui scrivi la query di eliminazione
$sql = "DELETE FROM sez_users WHERE id = '$id'";
echo $sql."<br>";
//$elimina_ok = mysql_query($sql) or die(mysql_error());
break;
} //manca la parentesi } di chiusura


per quello ti da errore sull'ultima riga
 
ciao scusa se approfitto della tua esperienza...sto facendo allo stesso modo per modificare un record...ma ho paura di essermi incasinato la vita...se quando hai tempo ci dai un'occhiata mi faresti un favore enorme...
ti posto il codice di tutta la pagina (nello scriptino manca solo la parte dell'inserimento degli utenti che è in un altra pagina xke nn lo ho ancora inclusa in questa!!)

Pagina userlist.php:

PHP:
<?php

include "includes/config.inc.php";

//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
	if ($db == FALSE)
	die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
	else {
	print "Connessione al database avvenuta!<br />";
	}
//Selezione del database
mysql_select_db($db_name, $db)
	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); //connessione al database

$option = $_GET['option'];
	if($option == view) {
	$query = "SELECT id, username, passwd, nome, cognome, email, potere FROM sez_users ORDER by id"; 
    $result = mysql_query ($query, $db); 
?>
<html>
<body>
<table width="700" border="1">
  <tr>
    <td>ID</td>
    <td>Nome</td>
    <td>Cognome</td>
    <td>Username</td>
    <td>Password</td>
    <td>Email</td>
    <td>Potere</td>
	<td>Operazioni</td>
  </tr>
  <tr>
<?php  
	while ($row = mysql_fetch_array($result)) { 
    $id = $row['id']; 
	$username = $row['username']; 
	$nome = $row['nome'];
	$passwd = $row['passwd'];
	$cognome = $row['cognome']; 
	$email = $row['email']; 
	$potere = $row['potere']; 
?>
	<td>&nbsp;<?php	echo $row['id']; ?></td>
    <td>&nbsp;<?php echo $row['nome'];  ?></td>
    <td>&nbsp;<?php echo $row['cognome']; ?></td>
    <td>&nbsp;<?php echo $row['username']; ?></td>
    <td>&nbsp;<?php echo "---------" ?></td>
    <td>&nbsp;<?php echo $row['email'];?></td>
    <td>&nbsp;<?php echo $row['potere'];?></td>
	<td>&nbsp;<?php echo " <a href=\"userlist.php?option=elimino&id=".$id."\">Cancella</a>"; ?>
			  <?php echo " <a href=\"userlist.php?option=modifica&id=".$id."&username=".$username."&passwd=".$passwd."&nome=".$nome."&cognome=".$cognome."&email=".$email."&potere=".$potere."\">Modifica</a>"?></td>
  </tr>  
<?php  }} 
$id2 = $_GET['id'];
$username2 = $_GET['username'];   
$passwd2 = $_GET['passwd'];
$nome2 = $_GET['nome'];
$cognome2 = $_GET['cognome'];
$email2 = $_GET['email'];
$potere2 = $_GET['potere'];
$cOption = $_GET['option'];   
	switch($cOption) {   
		case "elimino":   
		//qui scrivi la query di eliminazione   
		$sql = "DELETE FROM sez_users WHERE id = '$id2'";  
		echo "Utente $username2 cancellato con successo!"; 
		$elimina_ok = mysql_query($sql) or die(mysql_error());   
		break;
		}
?>
<?php 
	$cOption = $_GET['option'];   
	switch($cOption) {   
		case "modifica":  
	
$id3 = mysql_real_escape_string($_POST['id3']); 	
$username3 = mysql_real_escape_string($_POST['username3']); 
$passwd3 =  mysql_real_escape_string($_POST['passwd3']); 
$nome3 = mysql_real_escape_string($_POST['nome3']); 
$cognome3 = mysql_real_escape_string($_POST['cognome3']); 
$email3 = mysql_real_escape_string($_POST['email3']); 
$potere3 = mysql_real_escape_string($_POST['potere3']);		
  ?>

		
<form method="post" action="<?php echo"userlist.php?option=editsave&id=".$id3."&username=".$username3."&passwd=".$passwd3."&nome=".$nome3."&cognome=".$cognome3."&email=".$email3."&potere=".$potere3."";?>">
Id: <input type="text" name="id3" value="<?php echo $id2; ?>"> <br />
Username: <input type="text" name="username3" value="<?php echo $username2; ?>"> <br />
Password: <input type="text" name="passwd3" value="<?php echo $passwd2; ?>"> <br />
Nome: <input type="text" name="nome3" value="<?php echo $nome2; ?>"> <br />
Cognome: <input type="text" name="cognome3" value="<?php echo $cognome2; ?>"> <br />
Email: <input type="text" name="email3" value="<?php echo $email2; ?>"> <br />
Potere: <input type="text" name="potere3" value="<?php echo $potere2; ?>"> <br />
<input type="submit" name="submit" value="invia"> 
<?php
		break;
		}

		
	$cOption = $_GET['option'];   
	switch($cOption) {   
		case "editsave": 

$id3 = mysql_real_escape_string($_POST['id3']); 	
$username3 = mysql_real_escape_string($_POST['username3']); 
$passwd3 =  mysql_real_escape_string($_POST['passwd3']); 
$nome3 = mysql_real_escape_string($_POST['nome3']); 
$cognome3 = mysql_real_escape_string($_POST['cognome3']); 
$email3 = mysql_real_escape_string($_POST['email3']); 
$potere3 = mysql_real_escape_string($_POST['potere3']);			
		//qui scrivi la query di update  
	$sql2 = ("UPDATE sez_users SET id = '$id3',  username = '$username3', passwd = '$passwd3', nome = '$nome3', cognome = '$cognome3', email = '$email3', potere = '$potere3'");
		$result = mysql_query($sql2) or die(mysql_error());   
				echo "Utente $username3 modificato con successo!"; 
		$modifica_ok = mysql_query($sql2) or die(mysql_error()); 
?>
	
<?php

break;
}
?>
</table>
</body>
</html>

Grazie cmq in ogni caso!
Ciao!
 
è una cosa stranissima xke se io modifico il primo record della lista mi dà
Valore duplicato '1' per la chiave 1 però modifica il record...se lo faccio sul secondo record mi dà
Valore duplicato '4' per la chiave 1 e nn me lo modifica...
ma nn dà errori di sintassi o cose del genere...spero di essere stato chiaro!
ciao!
 
sì lo so ma non capisco dove sbaglio! devo togliere proprio il campo di modifica dell'id??
 
scusa! da intelligente che sono ho dimenticato di postare il codice...pensavo di aver già postato il messaggio con il codice k ho modificato e invece nn lo avevo fatto! scusate... adesso è
PHP:
<?php

include "includes/config.inc.php";

//Connessione al db mysql
$db = mysql_connect($db_host, $db_user, $db_password);
	if ($db == FALSE)
	die ("Errore nella connessione. Verificare i parametri nel file config.inc.php");
	else {
	print "Connessione al database avvenuta!<br />";
	}
//Selezione del database
mysql_select_db($db_name, $db)
	or die ("Errore nella selezione del database. Verificare i parametri nel file config.inc.php"); //connessione al database

$option = $_GET['option'];
	if($option == view) {
	$query = "SELECT id, username, passwd, nome, cognome, email, potere FROM sez_users ORDER by id"; 
    $result = mysql_query ($query, $db); 
?>
<html>
<body>
<table width="700" border="1">
  <tr>
    <td>ID</td>
    <td>Nome</td>
    <td>Cognome</td>
    <td>Username</td>
    <td>Password</td>
    <td>Email</td>
    <td>Potere</td>
	<td>Operazioni</td>
  </tr>
  <tr>
<?php  
	while ($row = mysql_fetch_array($result)) { 
    $id = $row['id']; 
	$username = $row['username']; 
	$nome = $row['nome'];
	$passwd = $row['passwd'];
	$cognome = $row['cognome']; 
	$email = $row['email']; 
	$potere = $row['potere']; 
?>
	<td>&nbsp;<?php	echo $row['id']; ?></td>
    <td>&nbsp;<?php echo $row['nome'];  ?></td>
    <td>&nbsp;<?php echo $row['cognome']; ?></td>
    <td>&nbsp;<?php echo $row['username']; ?></td>
    <td>&nbsp;<?php echo "---------" ?></td>
    <td>&nbsp;<?php echo $row['email'];?></td>
    <td>&nbsp;<?php echo $row['potere'];?></td>
	<td>&nbsp;<?php echo " <a href=\"userlist.php?option=elimino&id=".$id."\">Cancella</a>"; ?>
			  <?php echo " <a href=\"userlist.php?option=modifica&id=".$id."&username=".$username."&passwd=".$passwd."&nome=".$nome."&cognome=".$cognome."&email=".$email."&potere=".$potere."\">Modifica</a>"?></td>
  </tr>  
<?php  }} 
$id2 = $_GET['id'];
$username2 = $_GET['username'];   
$passwd2 = $_GET['passwd'];
$nome2 = $_GET['nome'];
$cognome2 = $_GET['cognome'];
$email2 = $_GET['email'];
$potere2 = $_GET['potere'];
$cOption = $_GET['option'];   
	switch($cOption) {   
		case "elimino":   
		//qui scrivi la query di eliminazione   
		$sql = "DELETE FROM sez_users WHERE id = '$id2'";  
		echo "Utente $username2 cancellato con successo!"; 
		$elimina_ok = mysql_query($sql) or die(mysql_error());   
		break;
		}
?>
<?php 
	$cOption = $_GET['option'];   
	switch($cOption) {   
		case "modifica":  

$username3 = mysql_real_escape_string($_POST['username3']); 
$passwd3 =  mysql_real_escape_string($_POST['passwd3']); 
$nome3 = mysql_real_escape_string($_POST['nome3']); 
$cognome3 = mysql_real_escape_string($_POST['cognome3']); 
$email3 = mysql_real_escape_string($_POST['email3']); 
$potere3 = mysql_real_escape_string($_POST['potere3']);		
  ?>

		
<form method="post" action="<?php echo"userlist.php?option=editsave&id=".$id2."&username=".$username3."&passwd=".$passwd3."&nome=".$nome3."&cognome=".$cognome3."&email=".$email3."&potere=".$potere3."";?>">
Username: <input type="text" name="username3" value="<?php echo $username2; ?>"> <br />
Password: <input type="text" name="passwd3" value="<?php echo $passwd2; ?>"> <br />
Nome: <input type="text" name="nome3" value="<?php echo $nome2; ?>"> <br />
Cognome: <input type="text" name="cognome3" value="<?php echo $cognome2; ?>"> <br />
Email: <input type="text" name="email3" value="<?php echo $email2; ?>"> <br />
Potere: <input type="text" name="potere3" value="<?php echo $potere2; ?>"> <br />
<input type="submit" name="submit" value="invia"> 
<?php
		break;
		}

		
	$cOption = $_GET['option'];   
	switch($cOption) {   
		case "editsave": 
	
$username3 = mysql_real_escape_string($_POST['username3']); 
$passwd3 =  mysql_real_escape_string($_POST['passwd3']); 
$nome3 = mysql_real_escape_string($_POST['nome3']); 
$cognome3 = mysql_real_escape_string($_POST['cognome3']); 
$email3 = mysql_real_escape_string($_POST['email3']); 
$potere3 = mysql_real_escape_string($_POST['potere3']);			
		//qui scrivi la query di update  
	$sql2 = ("UPDATE sez_users SET username = '$username3', passwd = '$passwd3', nome = '$nome3', cognome = '$cognome3', email = '$email3', potere = '$potere3'");
		$result = mysql_query($sql2) or die(mysql_error());   
				echo "Utente $username3 modificato con successo!"; 
		$modifica_ok = mysql_query($sql2) or die(mysql_error()); 
?>
	
<?php

break;
}
?>
</table>
</body>
</html>
solo k adesso mi aggiorna tutti i record...per dire se io ne modifico uno me li aggiorna tutti allo stessso modo...x dire se ho 2 user: matteo e luca e voglio modificare l'user luca mettendo giovanni luca diventa giovanni ma anke matteo diventa giovanni!!
è da un bel po' di giorni k ci lavoro dietro...scusate se nn colgo subito...ma ho la testa che scoppia!!!;);)
 
ciao
guarda che devi mettere la condizione WHERE id=id_da_uppare

$sql2 = ("UPDATE sez_users SET username = '$username3', passwd = '$passwd3', nome = '$nome3', cognome = '$cognome3', email = '$email3', potere = '$potere3' WHERE id='XXXXX'");

se vuoi uppare luca e non giuseppe al posto di XXXXX devi mettere l'id di luca
 
...mi vergogno di me stesso!!! grazie mille borgo italia...per tutto, davvero non so se ce la avrei fatta da solo!!!
ciaoooo e grazie ancora!
 
ciao
ad un certo eliox, non so se lo conosci:D


p.s.
seriamente, sono iscritto al forum da pochi mese (mi sembra febbario 08) non conoscevo php (prima era philip morris?). grazie a eliox e a molti altri del forum, luke.... (non posso citarli tutti) ho cominciato a masticare qualcosa di php


cio eliox
 

Discussioni simili