Mysql: Editten

Status
Niet open voor verdere reacties.

vd-meij.nl

Gebruiker
Lid geworden
19 jan 2004
Berichten
33
Hey all,

Ik ben met een offerte bezig waarbij je makkelijk (in de admin panel) producten kan editten en dergelijke.
Nu zit ik vast met het editten.
Het is denk ik makkelijker als je t zelf kan zien wat er gebeurt.

Ga naar: http://www.vd-meij.nl/offerte/index1.php
Ga dan naar "Gegevens bekijken"

Ga dan naar Edit een product.
Edit het product met ID=1 naar een naam wat je leuk vind ;)

Druk dan op Edit, en ga vervolgens de gegevens bekijken. Dan zie je dat dit gewoon klopt.

MAAR: als je het product met id=2 of id=3 oid wilt editten neemt ie automatisch de naam aan van t product ID=1.

Hoe kan dit? en hoe kan ik dit verhelpen?

Dit is trouwens mijn edit code

PHP:
<?php
if($_SERVER['REQUEST_METHOD'] == "POST"){
$query="UPDATE formulier SET processor='".$_POST['processor']."', prijs='".$_POST['prijs']."' WHERE id='".$_POST['id']."'";  
mysql_query($query) or die(mysql_error());
}
?>

Greets Jordy
 
Meerdere HTML invoervelden met dezelfde naam ? Dat werkt natuurlijk niet ;)
 
kan je iets secuurder zijn:rolleyes: nog beetje in leerfase, dus gaarne probleem aanwijzen;) alvast tnx
 
Geplaatst door vd-meij.nl
kan je iets secuurder zijn:rolleyes: nog beetje in leerfase, dus gaarne probleem aanwijzen;) alvast tnx
Probleem aanwijzen ? Volgens mij is dat exact wat ik doe ... :D Ik zei dat HTML invoervelden niet dezelfde naam kunnen hebben ;)
De edit pagina geeft nu een ODBC error, maar van wat ik me d'r nog van herinner waren er 4 rijen, elk met invoervelden van product enzo. Voor zowel rij 1,2,3 als 4 heb je bij dat invoerveld de naam 'product'. Hierdoor weet de browser niet welke data van de 4 invoervelden hij moet verzenden wanneer er op die submitknop geramd (of zachtjes geklikt) wordt.
Je moet dus zorgen dat elk van die invoervelden uniek kunnen worden benaderd. Het ID is uniek, dus je zou de naam kunnen veranderen in 'product' met een $id erachter. Met PHP kun je dit dan zo ophalen:
PHP:
if((isset($_POST["id"]) == TRUE) AND (isset($_POST["product" . $_POST["id"]]) == TRUE))
{
echo $_POST["product" . $_POST["id"]];
}
Of iets in die richting :)

Succes :thumb:
 
Ik heb t nu anders gedaan:) dan moetje dus edit.php?id=3 ofzo invoeren, dan kan je m editten. Maar ik moet nog een overzichtelijke index hebben dat je zo kan klikken dat je meteen dus naar het product gaat met het gewenste id :)

tanx voor uitleg
 
Dat is idd ook een veel gebruikte manier ;)

Succes d'rmee :thumb:
 
je kunt checken of er een id is opgegeven. Zo niet, weergeef alle links in een mooi tabelletje :)
 
even een klein kickje:D

Nu moet je dus op www.vd-meij.nl/offerte/edit.php
editten met ?id=3 oid er achter editten. Maar hoe krijg ik op edit.php de hele lijst van de records erin en een knop erachter "wijzig" als je daarop drukt dat je dan de desbetreffende id kan wijzigen :rolleyes:
 
dat snap ik wel, maar ik wil een handige index maken met alle records. als je dan op n record druk dat je dan kan editten.

dus je drukt op t product met id=3 dan gaat ie naar edit.php?id=3
 
iets als dit:

PHP:
<?

if(isset($_GET['id']) == FALSE)
{
  $query = "SELECT * FROM [tabelnaam]";
  $result = mysql_query($query) or die(mysql_error());
  while($rij = mysql_fetch_object($result))
  {
    echo "<a href=\"" . $_SERVER['PHP_SELF'] . "?id=" . $rij->[kolom1] . "\">" . $rij->kolom2 . "</a><br>\n";
  }
}
else
{
  // hier jou edit formuliertje
}

?>

Pas [tabelnaam] aan naar de tabel waar de informatie in staat die bewerkt gaat worden
Pas [kolom1] aan naar de kolom waar het ID in staat
Pas [kolom2] aan naar de kolom naar een beschrijving of titel (iets in die richting) in staat

Ik hoop dat het zo duidelijk genoeg id :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan