selectie opties wijzigen

Status
Niet open voor verdere reacties.

vonnetjuhh

Gebruiker
Lid geworden
8 sep 2006
Berichten
7
heey hoi:)

vraagje: ik heb een wijzig script alles wordt in en uit de database gezet nu heb ik in mijn wijzig script dit

<SELECT NAME="kl">
<OPTION VALUE="<?php echo $kl; ?>" SELECTED><?php echo $month?></option>
<OPTION VALUE="rood">Rood</OPTION>
<OPTION VALUE="cyaan">Cyaan</OPTION>
<OPTION VALUE="groen">Groen</OPTION>
<OPTION VALUE="paars">Paars</OPTION>
<OPTION VALUE="geel">Geel</OPTION>
<OPTION VALUE="oranje">Oranje</OPTION>
<OPTION VALUE="dblauw">Donker blauw</OPTION>
<OPTION VALUE="zwart">Zwart</OPTION>
</SELECT></td>
nu wil ik dat deze wijzigd maar dat doet die nog niet.. dit is een gedeelte van de rest van het scriptje:
PHP:
<?php
if (isset($_POST["bevestiging"])){
	// query samenstellen
	$query="UPDATE content SET
		datum = '". $_POST["datum"] . "', 
		tijd = '". $_POST["tijd"] ."', 
		afd = '". $_POST["afd"] ."', 
		h1 = '". $_POST["h1"] ."', 
		h2 = '". $_POST["h2"] ."', 
		tekst = '". $_POST["tekst"] ."', 
		foto = '". $_POST["foto"] ."', 
		naamcode = '". $_POST["naamcode"] ."', 
		status = '". $_POST["status"] . "',
		kolom = '". $_POST["kolom"] . "',
		kleur = '". $_POST["kleur"] . "'
		WHERE bericht_id=" .$_POST["id"] ;
	$result = mysql_query($query);
	if ($result){
	echo"Uw bericht is bewerkt";?>
<!--sluit button-->
	<input type="submit" value="sluit het venster" onClick="window.close();">
<!--als het bericht is bewerkt direct het overzicht van berichten vernieuwen-->
	<script language="JavaScript"> 
  parent.opener.location.reload() 
</script> <?php
	}
//anders
}else{
//selecteer alles van content waar bericht_id is het zelfde als de geposte id
		$query="SELECT * FROM content WHERE bericht_id=" . $_GET["id"];
		$result = mysql_query($query) or die (mysql_error());
?>
<html>
<head>
	<title>Bewerken: wijzig de gegevens</title>
</head>
<body>
<h2>Wijzig deze gegevens:</h2>
<?php
// gegevens ophalen en toekennen aan tijdelijke variabelen
	while ($rij = mysql_fetch_array($result)){
		$da = $rij['datum']; 
		$ti = $rij['tijd'];
		$af = $rij['afd'];
		$h1 = $rij['h1'];
		$h2 = $rij['h2'];
		$te = $rij['tekst'];
		$fo = $rij['foto'];
		$na = $rij['naamcode'];
		$st = $rij['status'] ;
		$k = $rij['kolom'] ;
		$kl = $rij['kleur'] ;
}

hierna komt het formulier dus iemand een idee hoe ik dit zou kunnen laten werken zodat de kleur wordt gewijzigd

bedankt alvast:thumb:
 
Laatst bewerkt:
Ik begrijp niet echt wat je bedoeld.

Wil je de select een bepaalde waarde laten auto-selecten?

Er staan sowieso wat fouten in je code:

HTML:
<SELECT NAME="kl">
<OPTION VALUE="<?php echo $kl; ?>" SELECTED><?php echo $month?></option>
<OPTION VALUE="rood">Rood</OPTION>
<OPTION VALUE="cyaan">Cyaan</OPTION>
<OPTION VALUE="groen">Groen</OPTION>
<OPTION VALUE="paars">Paars</OPTION>
<OPTION VALUE="geel">Geel</OPTION>
<OPTION VALUE="oranje">Oranje</OPTION>
<OPTION VALUE="dblauw">Donker blauw</OPTION>
<OPTION VALUE="zwart">Zwart</OPTION>
</SELECT></td>

PHP:
<?php echo $month?>  //moet worden:
<?php echo $month; ?>

EN

in je UPDATE query verwijs je naar $_POST['kleur'] maar de naam van het select formulier is `kl`. Dus moet je verwijzen naar $_POST['kl'].

Maar als je even vertelt wat je precies wil dan kan ik je verder helpen:
En probeer ook te ontdekken wat er fout gaat (query niet goed uitgevoerd, variabelen niet ge-set)

Test de query door hem te echo-en, dan zie je meteen welke waarden niet worden ingevoerd:
PHP:
    $query="UPDATE content SET
        datum = '". $_POST["datum"] . "',
        tijd = '". $_POST["tijd"] ."',
        afd = '". $_POST["afd"] ."',
        h1 = '". $_POST["h1"] ."',
        h2 = '". $_POST["h2"] ."',
        tekst = '". $_POST["tekst"] ."',
        foto = '". $_POST["foto"] ."',
        naamcode = '". $_POST["naamcode"] ."',
        status = '". $_POST["status"] . "',
        kolom = '". $_POST["kolom"] . "',
        kleur = '". $_POST["kl"] . "'
        WHERE bericht_id=" .$_POST["id"] ;
    echo $query;
    $result = mysql_query($query);
 
hier mijn hele code

PHP:
<?php
session_start();
?>
<div id="kolombreed">
<p>
<style type="text/css">
body {background-color: #EEEEEE}
</style>

<?php
//als er niet ingelogd is wordt de pagina niet weergegeven
if( isset( $_SESSION['ingelogd'] ) === false){ 
    die('Je bent niet ingelogd'); 
} 
if ( !isset($_SESSION['rechten']) || ( 1 != $_SESSION['rechten'] && 2 != $_SESSION['rechten'] ) ) 
{ 
 die('je heb niet de juiste rechten'); 
}else{
//database aanroepen
require_once('mysql_connect.inc.php');
	mysql_connect(MYSQL_SERVER,MYSQL_GEBRUIKERSNAAM,MYSQL_WACHTWOORD)
		or die("Fout in mysql_connect<br />Errorcode: ".mysql_error());
	mysql_select_db(MYSQL_DATABASE)
		or die("Fout in mysql_select_db<br />Errorcode: ".mysql_error());


// controleren of pagina zichzelf heeft aangeroepen
// via hidden-field uit het formulier
if (isset($_POST["bevestiging"])){
	// query samenstellen
	$query="UPDATE content SET
		datum = '". $_POST["datum"] . "', 
		tijd = '". $_POST["tijd"] ."', 
		afd = '". $_POST["afd"] ."', 
		h1 = '". $_POST["h1"] ."', 
		h2 = '". $_POST["h2"] ."', 
		tekst = '". $_POST["tekst"] ."', 
		foto = '". $_POST["foto"] ."', 
		naamcode = '". $_POST["naamcode"] ."', 
		status = '". $_POST["status"] . "',
		kolom = '". $_POST["kolom"] . "',
		kleur = '". $_POST["kleur"] . "'
		WHERE bericht_id=" .$_POST["id"] ;
	$result = mysql_query($query);
	if ($result){
	echo"Uw bericht is bewerkt";?>
<!--sluit button-->
	<input type="submit" value="sluit het venster" onClick="window.close();">
<!--als het bericht is bewerkt direct het overzicht van berichten vernieuwen-->
	<script language="JavaScript"> 
  parent.opener.location.reload() 
</script> <?php
	}
//anders
}else{
//selecteer alles van content waar bericht_id is het zelfde als de geposte id
		$query="SELECT * FROM content WHERE bericht_id=" . $_GET["id"];
		$result = mysql_query($query) or die (mysql_error());
?>
<html>
<head>
	<title>Bewerken: wijzig de gegevens</title>
</head>
<body>
<h2>Wijzig deze gegevens:</h2>
<?php
// gegevens ophalen en toekennen aan tijdelijke variabelen
	while ($rij = mysql_fetch_array($result)){
		$da = $rij['datum']; 
		$ti = $rij['tijd'];
		$af = $rij['afd'];
		$h1 = $rij['h1'];
		$h2 = $rij['h2'];
		$te = $rij['tekst'];
		$fo = $rij['foto'];
		$na = $rij['naamcode'];
		$st = $rij['status'] ;
		$k = $rij['kolom'] ;
		$kl = $rij['kleur'] ;
}
?>
<!--formulier met invulvelden-->
<table>
	<form action="<?php echo($_SERVER["PHP_SELF"]);?>" method="post">
			<input type="hidden" name="bevestiging" value="1" READONLY>
			<input type="hidden" name="id" value="<?php echo($_GET["id"]);?>" READONLY>
			
		<tr><td>datum:</td><td><input type="text" name="datum" value="<?php echo($da);?>" size="50"><br></td></tr>
		<tr><td>tijd:</td><td><input type="text" name="tijd" value="<?php echo($ti);?>" size="50"><br></td></tr>
		<tr><td>afdeling:</td><td><input type="text" name="afd" value="<?php echo($af);?>" size="50"><br></td></tr>
		<tr><td>h1:</td><td><input type="text" name="h1" value="<?php echo($h1);?>" size="50"><br></td></tr>
		<tr><td>h2:</td><td><input type="text" name="h2" value="<?php echo($h2);?>" size="50"><br></td></tr>
		<tr><td>tekst:</td><td><textarea rows="8" cols="60" name="tekst"><?php echo($te);?></textarea><br><br></td></tr>
		<tr><td>foto:</td><td><input type="text" name="foto" value="<?php echo($fo);?>" size="50"><br></td></tr>
		<tr><td>naamcode:</td><td><input type="text" name="naamcode" value="<?php echo($na);?>" size="50"><br></td></tr>
		<tr><td>status:</td><td><input type="text" name="status" value="<?php echo($st);?>" size="50"><br><hr></td></tr>
		<tr><td>kolom:</td><td><input type="text" name="kolom" value="<?php echo($k);?>" size="50"><br><hr></td></tr>
		<tr><td>kleur:</td>
		<td>
<!--selecteer optie met kleuren-->
	<SELECT NAME="kl">
		<OPTION VALUE="<?php echo $kl; ?>" SELECTED><?php echo $k1?></option> 
		<OPTION VALUE="rood">Rood</OPTION>
		<OPTION VALUE="cyaan">Cyaan</OPTION>
		<OPTION VALUE="groen">Groen</OPTION>
		<OPTION VALUE="paars">Paars</OPTION>
		<OPTION VALUE="geel">Geel</OPTION>
		<OPTION VALUE="oranje">Oranje</OPTION>
		<OPTION VALUE="dblauw">Donker blauw</OPTION>
		<OPTION VALUE="zwart">Zwart</OPTION>
	</SELECT></td>
	</tr><br />
<!--submit en sluit knoppen-->
	<tr><td><input type="Submit" value="Bijwerken"></td>
		<td><input type="Button" value="Nee, sluiten" onClick="window.close();"></td></tr>
</form>
</table>
<?php


}
}
?>
</body>
</html></p></div>

nu wil ik dat die option selection het doet want nu kan alles gewijzigd worden behalve die selection dus dit stukje

<OPTION VALUE="<?php echo $kl; ?>" SELECTED><?php echo $k1?></option>
<OPTION VALUE="rood">Rood</OPTION>

enzz..enzz..enzz.. het wordt nu namelijk niet gewijzigd


Ik begrijp niet echt wat je bedoeld.

Wil je de select een bepaalde waarde laten auto-selecten?

Er staan sowieso wat fouten in je code:

HTML:
<SELECT NAME="kl">
<OPTION VALUE="<?php echo $kl; ?>" SELECTED><?php echo $month?></option>
<OPTION VALUE="rood">Rood</OPTION>
<OPTION VALUE="cyaan">Cyaan</OPTION>
<OPTION VALUE="groen">Groen</OPTION>
<OPTION VALUE="paars">Paars</OPTION>
<OPTION VALUE="geel">Geel</OPTION>
<OPTION VALUE="oranje">Oranje</OPTION>
<OPTION VALUE="dblauw">Donker blauw</OPTION>
<OPTION VALUE="zwart">Zwart</OPTION>
</SELECT></td>

PHP:
<?php echo $month?>  //moet worden:
<?php echo $month; ?>

EN

in je UPDATE query verwijs je naar $_POST['kleur'] maar de naam van het select formulier is `kl`. Dus moet je verwijzen naar $_POST['kl'].

Maar als je even vertelt wat je precies wil dan kan ik je verder helpen:
En probeer ook te ontdekken wat er fout gaat (query niet goed uitgevoerd, variabelen niet ge-set)

Test de query door hem te echo-en, dan zie je meteen welke waarden niet worden ingevoerd:
PHP:
    $query="UPDATE content SET
        datum = '". $_POST["datum"] . "',
        tijd = '". $_POST["tijd"] ."',
        afd = '". $_POST["afd"] ."',
        h1 = '". $_POST["h1"] ."',
        h2 = '". $_POST["h2"] ."',
        tekst = '". $_POST["tekst"] ."',
        foto = '". $_POST["foto"] ."',
        naamcode = '". $_POST["naamcode"] ."',
        status = '". $_POST["status"] . "',
        kolom = '". $_POST["kolom"] . "',
        kleur = '". $_POST["kl"] . "'
        WHERE bericht_id=" .$_POST["id"] ;
    echo $query;
    $result = mysql_query($query);
 
Wijzig nou eerst eens die fouten die in de code staan (die ik in de eerste reactie heb aangegeven) en geef

Want als het select formulier `kl` heet snap ik best dat de variabele $_POST['kleur'] niet wordt opgeslagen. Die bestaat namelijk niet.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan