0

Hey.
I have the next problem:
I've created a joomla-like administrator page to a site I just have to make.
You can add, edit and delete products and categories.

Now, my problem is:
No matter which product or category u try to edit (it is listed in a table with picture of it, title and so, and generated a link like http://localhost/site/admin/admin.php?option=products&module=products&action=edit&id=191e3689-5a7d-11df-883f-cddef017a2e5 ) and when I edit the last added product it gets from mysql the data of it as well... Any other (not the last) product's editing page is empty.
I used

if($_GET['action']==edit)
{
  if($GET['id']==$r_id)
  { 
    Where $r_id => $row['id']
    // And here is the edit form
  }
}

________________

But when I try to edit the categorys, no matter what id has the $_GET, it will edit the last added...

I used mysql_fetch_array in all two cases.
I don't get it. I tried, but fail... Can't repair it...

So I have to ask you. Maybe the problem is @ the retrieving part.
Or somebody had problem like this...
Or ... Could lookup my codings...

Please?

Thanks for reading and for the help _ I assume _

Byezz

5
Contributors
5
Replies
7
Views
7 Years
Discussion Span
Last Post by sourcebits
0

The small piece of code you gave, has some pretty strange coding:

Line 1 - edit is a constant???
Line 5 - Where, is this even a keyword or function ?????

Anyway, you can use the id retrieved from the GET and use that in the query that updates:

$id = $_GET['id'];
$query = "UPDATE table SET someval='$someval' WHERE id='$id'";

Also perhaps add a line that echoes what the value of $_GET is to see wheter the id is properly passed.

Explain your problem more clearly.

~G

Edited by Graphix: n/a

0

You are quite right. It might not be getting the correct id from your previous page. Try echoing your $_GET first to see if it's passing the value correctly.

Secondly, I don't understand the line 'Where $r_id => $row.' I think what you're trying to do is this:

$txtID = $_GET['id'];
if($_GET['action']=='edit'){
   $sql = "SELECT * FROM yourTable WHERE id='$txtID'";
   $result = mysql_query($sql);
   while($row = mysql_fetch_array($result)){
      //Your edit form
   }
}
0

Okay. So here is the full code...

if($_GET['action']==editeaza)
  {
	$retrieve = mysql_query("SELECT * FROM content WHERE sectiune='produse'");	
	$row = mysql_fetch_assoc( $retrieve );
	/* Retrieved info? */
	$r_id = $row['ID'];
	$r_title_ro = $row['title_ro'];
	$r_title_hu = $row['title_hu'];
	$r_keywords_ro = $row['keywords_ro'];
	$r_keywords_hu = $row['keywords_hu'];
	$r_description_ro = $row['description_ro'];
	$r_description_hu = $row['description_hu'];
	$r_class = $row['class'];
	$r_sectiune = $row['sectiune'];
	$r_descriere_ro = $row['descriere_ro'];
	$r_descriere_hu = $row['descriere_hu'];
	$r_categorie_ro = $row['categorie_ro'];
	$r_categorie_hu = $row['categorie_hu'];
	$r_poza = $row['poza'];
	$r_noutate = $row['noutate'];
	
	
	
	if($_GET['id']==$r_id)
	{
		
		$action = $_POST['action'];
		if($action == editeaza)
		{ 
		  /* Inserting data into MySQL */
		  $id = "UUID()";
		  $title_ro = $_POST['title_ro'];
		  $title_hu = $_POST['title_hu'];
		  $keywords_ro = $_POST['keywords_ro'];
		  $keywords_hu = $_POST['keywords_hu'];
		  $description_ro = $_POST['description_ro'];
		  $description_hu = $_POST['description_hu'];
		  $class = $_POST['class'];
		  $sectiune = "produse";
		  $descriere_ro = $_POST['descriere_ro'];
		  $descriere_hu = $_POST['descriere_hu'];
		  $categorie_ro = $_POST['categorie_ro'];
		  $categorie_hu = $_POST['categorie_hu'];
		  $noutate = $_POST['noutate'];
		  
			  
		  echo "<p class=\"note\">";
		  
		  switch ($title_ro) 
		  {
			  case "":
				  echo "Nem adtál meg román címet!<br>";
				  break;
		  }
		  
		  switch ($title_hu)
		  {
			  case "":
				  echo "Nem adtál meg magyar címet!<br>";
				  break;
		  }
		  
		  switch ($keywords_ro)
		  {
			  case "":
				  echo "Nem adtál meg román címkét!<br>";
				  break;
		  }
		  
		  switch ($keywords_hu)
		  {
			  case "":
				  echo "Nem adtál meg magyar címet!<br>";
				  break;
		  }
		  
		  switch ($description_ro)
		  {
			  case "":
				  echo "Nem adtál meg román kereső leírást!<br>";
				  break;
		  }
		  
		  switch ($description_hu)
		  {
			  case "":
				  echo "Nem adtál meg magyar kereső leírást!<br>";
				  break;
		  }
		  
		  switch ($class)
		  {
			  case "":
				  echo "Nem választottál színt!<br>";
				  break;
		  }
		  
		  switch ($descriere_ro)
		  {
			  case "":
				  echo "Nem írtál román leírást!<br>";
				  break;
		  }
		  
		  switch ($descriere_hu)
		  {
			  case "":
				  echo "Nem írtál magyar leírást!<br>";
				  break;
		  }
		  
		  switch ($categorie_ro)
		  {
			  case "":
		  
				  echo "Nem adtál meg román kategóriát!<br>";
				  break;
		  }
		  
		  switch ($categorie_hu)
		  {
			  case "":
				  echo "Nem adtál meg magyar kategóriát!<br>";
				  break;
		  }
		  
		  
		  
		  
		  if($title_ro !="" && $title_hu !="" && $keywords_ro != "" && $keywords_hu != "" && $description_ro != "" && $description_hu != "" && $class !="" && $descriere_ro !="" && $descriere_hu !="" && $categorie_ro !="" && $categorie_hu)
		  {
		  echo "Sikeresen módosítva!<br>";	
		  $update ="UPDATE content SET title_ro='$title_ro', title_hu='$title_hu', keywords_ro='$keywords_ro', keywords_hu='$keywords_hu', description_ro='$description_ro', description_hu='$description_hu', class='$class', descriere_ro='$descriere_ro', descriere_hu='$descriere_hu', categorie_ro='$categorie_ro', categorie_hu='$categorie_hu', noutate='$noutate', lastedit=SYSDATE() WHERE ID='$r_id'";
		  mysql_query($update);
		  }
		  else
		  {
			  die("<p class=\"error\">Nem töltötted ki a fentebb feltüntetett mezőket.<br>Ezt az ablakot ne zárd be, ha nem szeretnéd elveszteni az adatokat!<br><a href=\"javascript:history.go(-1)\">Klikk ide, ha vissza szeretnél menni az adatokhoz!</a></p>");
		  }
		
		}
	echo "<table border=\"0\" align=\"right\"><tr>";
	echo "<td align=\"center\">";
	echo "<a href=\"?optiune=produse&module=category\"><img src=\"style/images/notice/category.png\">";
	echo "<br>Categorie</a>";
	echo "</td><td align=\"center\">";
	echo "<a href=\"?optiune=produse&module=produse&action=sterge\"><img src=\"style/images/notice/sterge.png\">";
	echo "<br>Sterge</a>";
	echo "</td><td align=\"center\">";
	echo "<a href=\"../help.html#produse\" target=\"_blank\"><img src=\"style/images/notice/help.png\">";
	echo "<br>Ajutor</a>";
	echo "</td></tr></table><br>";
			
		echo "<form action=\"$PHP_SELF\" method=\"POST\" enctype=\"multipart/form-data\">";
		echo "<input type=\"hidden\" name=\"action\" value=\"editeaza\">\n" ;
		echo "<table border=\"0\">";
		echo "<tr>";
		echo "<td colspan=\"2\"><p>Termék ID-je / ID-ul produsului:<b><i>";  echo $r_id;  echo "</i></b></p></td>";
		echo "</tr>";
		echo "<tr>";
		echo "<td><p>Titlu Produs:</p></td>";
		echo "<td><input type=\"text\" name=\"title_ro\" value=\""; echo $r_title_ro; echo "\"></td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Termék Címe:</p></td>";
		echo "<td><input type=\"text\" name=\"title_hu\" value=\""; echo $r_title_hu; echo "\"></td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Keywords:</p></td>";
		echo "<td><textarea name=\"keywords_ro\">"; echo $r_keywords_ro; echo"</textarea></td>";
		echo "</tr>";
		echo "<tr>";
		echo "<td><p>Kulcsszavak:</p></td>";
		echo "<td><textarea name=\"keywords_hu\">"; echo $r_keywords_hu; echo"</textarea></td>";
		echo "</tr>";
		   
		echo "<tr>";
		echo "<td><p>Meta Descriere:</p></td>";
		echo "<td><textarea name=\"description_ro\">"; echo $r_description_ro; echo"</textarea></td>";
		echo "</tr>";
		echo "<tr>";
		echo "<td><p>Meta Leírás:</p></td>";
		echo "<td><textarea name=\"description_hu\">"; echo $r_description_hu; echo"</textarea></td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Szín:</p></td>";
		echo "<td>";
		echo "<select style=\"text-align: center;\" name=\"class\" ><option value=''>Selecteaza Culoriile</option>
		<option value=\""; echo $r_class; echo "\" SELECTED>Selectat:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"; echo $r_class; echo "</option>
		<option value='' style=\"font-weight: bold;\">----------------------------</option>
		<option value='red' style=\"font-weight: bold;\">Rosu</option>
		<option value='blue' style=\"font-weight: bold;\">Albastru</option>
		<option value='green' style=\"font-weight: bold;\">Verde</option>
		"; 
		echo "</select>";
		echo "</td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Ujdonság:</p></td>";
		echo "<td>";
		echo "<select style=\"text-align: center;\" name=\"noutate\" >
		<option"; if($r_noutate==yes){ echo " SELECTED "; } echo "value='yes' style=\"font-weight: bold;\">Igen</option>
		<option"; if($r_noutate==no){ echo " SELECTED "; } echo "value='no' style=\"font-weight: bold;\">Nem</option>
		"; 
		echo "</select>";
		echo "</td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td colspan='2' align='left'><p>Descriere:</p></td>";
		echo "</tr>";
		echo "<tr>";
		echo "<td colspan='2' align='left'><textarea name=\"descriere_ro\"  id=\"elm1\" style=\"width: 10%;\">"; echo $r_descriere_ro; echo "</textarea></td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td colspan='2' align='left'><p>Leírás:</p></td>";
		echo "</tr>";
		echo "<tr>";
		echo "<td colspan='2' align='left'><textarea name=\"descriere_hu\"  id=\"elm2\" style=\"width: 10%;\">"; echo $r_descriere_hu; echo "</textarea></td>";
		echo "</tr>";
		
		
		echo "<tr>";
		echo "<td align='left'><p>Poza produsului / A termék képe:</p></td><td>";
		echo "<img src=\"../uploads/pics/thumbs/"; echo $r_poza; echo "\" alt=\""; echo $r_poza; echo "\"></td>" ;
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Categorie:</p></td>";
		echo "<td>";
		echo "<select style=\"text-align: center;\" name=\"categorie_ro\">
		<option value=\""; echo $r_categorie_ro; echo "\" SELECTED>Selectat:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		
		$selected = mysql_query("SELECT * FROM category WHERE ID='$r_categorie_ro'");	
		while($row = mysql_fetch_array( $selected  )){ echo $row['nume_ro'];}
		
		  echo "</option>";
		echo "<option value='' style=\"font-weight: bold;\">----------------------------</option>"; 
		$categorie = mysql_query("SELECT * FROM category");	
		while($row = mysql_fetch_array( $categorie )){	echo "<option value=\"".$row['ID']."\">".$row['nume_ro']."\n  ";}
		echo "</select>";
		echo "</td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td><p>Kategória:</p></td>";
		echo "<td>";
		echo "<select style=\"text-align: center;\" name=\"categorie_hu\">
		<option value=\""; echo $r_categorie_hu; echo "\" SELECTED>Kiválasztva:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;";
		
		$selected = mysql_query("SELECT * FROM category WHERE ID='$r_categorie_hu'");	
		while($row = mysql_fetch_array( $selected  )){ echo $row['nume_hu'];}
		
		  echo "</option>";
		echo "<option value='' style=\"font-weight: bold;\">----------------------------</option>"; 
		$categorie = mysql_query("SELECT * FROM category");	
		while($row = mysql_fetch_array( $categorie )){	echo "<option  value=\"".$row['ID']."\">".$row['nume_hu']."\n  ";}
		echo "</select>";
		echo "</td>";
		echo "</tr>";
		
		echo "<tr>";
		echo "<td colspan=\"2\" align=\"center\"><input type='submit' value='Megváltoztatom'><br><br></td>";
		echo "</tr>";
		
		echo "</table>";
		echo "</form>";
	}
  }
0

I can't wade through all of that, but it seems that you are using a mixture of $_GET and $_POST. While you're able to send forms with querystrings, it's usually the case where these bits of data are included in a hidden input. POST variables are no more secure than querystring (GET) variables though.

Your first query only searches for the first result - i.e. it will always get this result, no matter what the querystring data.

"SELECT * FROM content WHERE sectiune='produse'"

You then make a comparison:

if($_GET['id']==$r_id)

I have to admit that this is very confusing. I don't really understand what you're trying to do with this first bit.

0

If you will print out the sql update string line, you may be able to find what you are looking for.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.