Bedoeling is om een enkele naam te kunnen veranderen. Ik wil die naam selecteren uit een dropdownbox. Momenteel verandert hij elke naam als ik één naam selecteer, wat niet de bedoeling is. Ik vermoed dat er iets fout gaat bij de ID maar weet niet wat. Iemand ?

[code]
<?php
$host = "localhost";
$dbusername = "*";
$password = "*";
$db = "*";
$home = "wijzig.php";
mysql_connect("$host", "$dbusername", "$password") or die ("je connect niet aan de server");
mysql_select_db("$db") or die ("je kan niet connecten aan db");

//als het veldje naam is ingevuld
if(isset($_POST['naam']))
{ $query = "UPDATE tbl_klant SET klantNaam = '".$_POST['naam']."'";
$sql = mysql_query($query) or die(mysql_error());
echo "Nieuwe naam is ".$_POST['naam']."";
echo "<META HTTP-EQUIV=\"REFRESH\" CONTENT=\"2; URL=".$home."\">";
}
else
{
?>
<form name="wijzig_naam" action="wijzig.php" method="post">
Selecteer naam:
<select name="ID">
<?php
$query = "SELECT klantNaam FROM tbl_klant";
$sql = mysql_query($query);
while($record = mysql_fetch_object($sql))
{
echo"<option value=".$record->klantID.">".$record->klantNaam."</option>";

}
?>
</select>
Nieuwe naam:
<input type="text" name="naam">
<input type="submit" name="submit" value="Aanpassen">
</form>

<?php } ?>[code]
$query = "UPDATE tbl_klant SET klantNaam = '".$_POST['naam']."'";

Als ik me niet vergis betekend dat, dat in de hele tabel het veld kantNaam verandert moet worden.

Daar zal dus wss nog een WHERE achter moeten.
Je vergeet een where clause mee te geven aan je update query.

UPDATE tabel
SET klantNaam = '".$_POST['naam']."'
WHERE klantID = '".$_POST['ID']."'


Je formulier laat je genereren uit een resultaat van een mysql query, je gebruikt daarbij onder andere het klantID uit de database. Maar met je select query haal je dit gegeven helemaal niet op?
ja dat dacht ik ook maar hoe krijg ik hem gezegd dat ie die lijn moet aanpassen waar de naam en id op één lijn liggen;

ik dacht iets van

$query = "UPDATE tbl_klant SET klantNaam = '".$_POST['naam']."'
WHERE $result->klantID == $result->klantNaam";

maar iets zegt me dat dat niet gaat werken
@ blache, ja als ik de gebruiker zelf de ID laat ingeven dan is het idd zeer eenvoudig. Maar stel dat jij 2587 gebruikers hebt dan weet je de id niet meer van die gebruiker. dat is dus niet erg handig.
Mijn post al gelezen? Daar staat immers het antwoord in ;)
$query = "UPDATE tbl_klant SET klantNaam = '".$_POST['naam']."'" WHERE KlantId = '".$_POST['id']."'""

dit zou het dus moetne doen :)
is testen ik laat het je weten
Nou het zal nog niet werken, omdat je formulier niet klopt. Je doet daar namelijk:
<?php
echo"<option value=".$record->klantID.">".$record->klantNaam."</option>";
?>
Maar $record->klantID bestaat niet omdat je deze niet opgehaald hebt met de select query.
idd nu werkt ie wel :) bedankt

Reageren