Strona 1 z 1

Problem UPDATE .. id='$id'

: 13 lut 2016, 21:24:09
autor: takeon
Plik nr 1 (poniżej) działa tak jak powinien. Pobiera dane z tabeli i wyświetla rekordy, usuwa rekordy. Jest ok.

Kod: Zaznacz cały

<?php

	try
	{
		$pdo = new PDO('mysql:connect');
		$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			
		$stmt = $pdo -> query('SELECT * FROM tabela ORDER BY id');
		echo '<ul>';
		while($row = $stmt -> fetch())
		{
			echo '<Table><TR>
                              <td><a href="cos.php?id='.$row['id'].'">'.$row['id'].'.'.$row[produkt].'</a> </td><td>
                                  <a href="cos2.php&?id='.$row['id'].'"><font color="red"> usun produkt </font></a></td></tr></table>';		
		}
		$stmt -> closeCursor();
		echo '</div><div id="prawy">';
		
		if(isset($_GET['id'])) 
		{
			$stmt = $pdo -> prepare('SELECT * FROM `tabela` WHERE `id` = :id'); 
			$stmt -> bindValue(':id', $_GET['id'], PDO::PARAM_INT);
			$stmt -> execute();
			
			if($details = $stmt -> fetch()) 
			{
				echo '
<form  method="post"  enctype="multipart/form-data" action="rrrrrr.php"/>  
<table><tr><td colspan=2 class="dodaj"> Wybrane id nr<b> '.$details['id'].' </b></td><tr>
 <td  class="first"> Produkt </td><td> <input type="text"  class="input"  name="produkt" value= "'.$details[produkt].'" onkeyup="unik(this,256)"; /></input> <strong><span id="unik" style="color:green; font-size:16px;"> 0/256</span></strong> </td><tr>
 <td  class="first"> Państwo </td><td> <input type="text"  class="input"  name="panstwo"  value= "'.$details[panstwo].'" onkeyup="naz(this,256)";/></input> <strong><span id="naz" style="color:green; font-size:16px;"> 0/256</span></td><tr>
<td><input name="uploaded" type="submit" value="wstaw" /> </td>
</tr></table></form>
';	//END od ifa

		
			}
			else
			{
				echo "<hr/><p>Przepraszamy, podany rekord nie istnieje!</p>";
			}
			$stmt -> closeCursor();
		}
	}
	catch(PDOException $e)
	{
		echo "Wystapil blad biblioteki PDO: " . $e->getMessage();
	}
?>
Problem jest z tym plikiem.( rrrrrr.php) Wykonuje akcje forma dla powyższego. Jeśli jest w takiej postaci jak teraz robi mi update dla wszystkich wierszy w tabeli. Jak dodam warunek WHERE id='$id' aby modyfikował konkretny rekord to nic się nie dzieje. PDO to dla mnie nowość. Czego tu brakuje??

Kod: Zaznacz cały

<?php

$panstwo= substr(addslashes(htmlspecialchars($_POST['panstwo'])),0,256);  
$miasto= substr(addslashes(htmlspecialchars($_POST['miasto'])),0,256);  

$id=$_GET['id'];
if($_POST['uploaded'])
    {
	try
	{
		$pdo = new PDO('mysql:connect');
		$pdo -> setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
			
		$stmt = $pdo -> query("UPDATE tabela  SET  panstwo='$panstwo',miasto='$miasto'  ");
		echo '';
		while($row = $stmt -> fetch())		
		$stmt -> closeCursor();
				
		if(isset($_GET['id']))
		{
			$stmt = $pdo -> prepare("UPDATE tabela  SET  panstwo='$panstwo',miasto='$miasto' "); 
			$stmt -> bindValue(':id', $_GET['id'], PDO::PARAM_INT);
			$stmt -> execute(); 
			
			if($details = $stmt -> fetch()) 
			{
				echo '';	
			}
			else
			{
				echo "<hr/><p>Update ok</p>";
			}
			$stmt -> closeCursor();
		}
	}
	catch(PDOException $e)
	{
		echo "Wystapil blad biblioteki PDO: " . $e->getMessage();
	}


}

?>

Problem UPDATE .. id='$id'

: 14 lut 2016, 21:05:45
autor: takeon
Do zamknięcia. Czeski błąd. Nie miał skąd porać id .... to nie robił update.