Beste forum leden

Ik ben bezig met een phph file maar loop vast.
Wat wil ik bereiken
Stap 1: Ik heb een dropdown menu (ddmnieuwe_status) gevuld met waarden uit de database
Dit lukt :)
Stap2: Met JavaScript haal ik de value uit de dropdown (ddmnieuwe_status)
Ik denk dat het daar misloopt (maar de fout zie ik niet)
Stap 3: Met deze opgehaalde value wil ik in de datebase een bijhorende entry ophalen

Stap 4: die entry moet getoond worden in het tekstveld txtbericht
<?php
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>

<body>
<?php
$conn = new mysqli('localhost', 'root', '', 'db_helpdesk')
or die ('Cannot connect to db');

$id = $_POST["txtid"];
$sql = "SELECT * FROM tb_ticket WHERE id='" . $id . "'";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
// output data of each row
$row = $result->fetch_assoc();
$school = $row["school"];
$lokaal = $row["lokaal"];
$urgentie = $row["urgentie"];
$datum = $row["datum"];
$leerkracht = $row["leerkracht"];
$toestel = $row["toestel"];
$probleem = $row["soortprob"];
$beschrijving = $row["beschrijving"];
$status = $row["status"];
$onderwerp = $row["onderwerp"];
} else {
echo "0 results";
}

$sqlbericht = "SELECT * FROM tb_bericht";
$resultbericht = $conn->query($sqlbericht);

$conn->close();
?>

<h3><?php echo "Ticket: " . $onderwerp; ?></h3>
<table width="100%" border="1">
<tbody>
<tr>
<td>School: <?php echo $school; ?></td>
<td>Lokaal: <?php echo $lokaal; ?></td>
<td rowspan="3" align="center"><img src="grondplannen/<?php echo $lokaal; ?>.jpg" align="middle" width="96" height="132" alt=""/></td>
</tr>
<tr>
<td>Gebruiker: <?php echo $leerkracht; ?></td>
<td>Toestel: <?php echo $toestel; ?></td>
</tr>
<tr>
<td>Datum: <?php echo $datum; ?></td>
<td>Beschrijving: <?php echo $beschrijving; ?></td>
</tr>
</tbody>
</table>

<br />
<br />

<p>Status: <?php echo $status; ?></p>
<p>Nieuwe status: <select name="ddmnieuwe_status" onChange="showBericht(this.value)" required>
<option value=""> Kies een status </option>
<?php
while ($rowbericht = $resultbericht->fetch_assoc())
{
echo '<option value="'.$rowbericht['status'].'">'.$rowbericht['status'].'</option>';
}
?>
</select></p>
<script type="text/javascript">
function showBericht(value)
{
if (value == "Wachtend op onderdelen"){
var bericht = "<?php echo $resultstatus; ?>";
document.getElementById(txtbericht).value = bericht;
}else if (value == "In behandeling"){
var bericht = "<?php echo $rowbericht['bericht'] ?>";
}else if (value == "Opgelost"){
var bericht = "<?php echo $rowbericht['bericht'] ?>";
}else{
var bericht = "";
}

}
</script>
<input type="checkbox" name="chxbericht" id="chxbericht" />
<label for="chxbericht">Wilt u een persoonlijk bericht naar de melder sturen?</label>
<br />
<br />
<textarea rows="8" cols="80" name= "txtbericht"> </textarea>
</body>
</html>

?>

Ik heb het even in een php tag gezet omdat ik het anders niet geplaatst kreeg
Kan iemand mij helpen?
Met vriendelijke groeten
Gert
Kan je de titel van je topic aanpassen naar iets wat je probleem omschrijft?
Alvast bedankt.
Beste

De titel van het bericht is aangepast

Groeten Gert
Waar komt $resultstatus vandaan?
En die $conn->close(); halverwege lijkt mij ook niet de bedoeling.
Oei sorry oude code geupload. :)

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>

<body>
<?php 
	$conn = new mysqli('localhost', 'root', '', 'db_helpdesk')
	or die ('Cannot connect to db');
	
	$id = $_POST["txtid"];
	$sql = "SELECT * FROM tb_ticket WHERE id='" . $id . "'";
	$result = $conn->query($sql);
	
	if ($result->num_rows > 0) {
		// output data of each row
		$row = $result->fetch_assoc();
		$school = $row["school"];
		$lokaal = $row["lokaal"];
		$urgentie = $row["urgentie"];
		$datum = $row["datum"];
		$leerkracht = $row["leerkracht"];
		$toestel = $row["toestel"];
		$probleem = $row["soortprob"];
		$beschrijving = $row["beschrijving"];
		$status = $row["status"];
		$onderwerp = $row["onderwerp"];		
	} else {
		echo "0 results";
	}
	
	$sqlbericht = "SELECT * FROM tb_bericht";
	$resultbericht = $conn->query($sqlbericht);
	
	//$conn->close();
?> 

<h3><?php echo "Ticket: " . $onderwerp; ?></h3>
<table width="100%" border="1">
  <tbody>
    <tr>
      <td>School: <?php echo $school; ?></td>
      <td>Lokaal: <?php echo $lokaal; ?></td>
      <td rowspan="3" align="center"><img src="grondplannen/<?php echo $lokaal; ?>.jpg" align="middle" width="96" height="132" alt=""/></td>
    </tr>
    <tr>
      <td>Gebruiker: <?php echo $leerkracht; ?></td>
      <td>Toestel: <?php echo $toestel; ?></td>
    </tr>
    <tr>
      <td>Datum: <?php echo $datum; ?></td>
      <td>Beschrijving: <?php echo $beschrijving; ?></td>
    </tr>
  </tbody>
</table>

<br />
<br />

<p>Status: <?php echo $status; ?></p>
<p>Nieuwe status: <select name="ddmnieuwe_status" onChange="showBericht(this.value)" required>
                    <option value=""> Kies een status </option>
                    <?php   
						while ($rowbericht = $resultbericht->fetch_assoc())
						{
							echo '<option value="'.$rowbericht['status'].'">'.$rowbericht['status'].'</option>';
						}       
					?>
                  </select></p>
<script type="text/javascript">
	function showBericht(value)
	{
		if (value == "Wachtend op onderdelen"){
		  var bericht = "<?php echo $rowbericht; ?>";
		document.getElementById(txtbericht).value = bericht;
		}else if (value == "In behandeling"){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById(txtbericht).value = bericht;
		}else if (value == "Opgelost"){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById(txtbericht).value = bericht;
		}else{
		  var bericht = "";
		}
		
	}
</script>
<input type="checkbox" name="chxbericht" id="chxbericht" />
<label for="chxbericht">Wilt u een persoonlijk bericht naar de melder sturen?</label>
<br />
<br />
<textarea rows="8" cols="80" name= "txtbericht"> </textarea>
</body>
</html>



$rowbericht is alleen binnen je while-loop beschikbaar.
Verder is lijn 19 t/m 29 overbodig, waarom zou je ze dubbel willen opslaan?
Als ik het goed begrijp dient die status-dropdown als een soort van filter om alle tickets met een specifieke status op te halen? Of moet er simpelweg een specifiek status-bericht getoond worden op grond van de status die je selecteert?

Persoonlijk zou ik de status identificeren met een nummer (het auto increment id uit de tabel tb_bericht?) en niet met de letterlijke bijbehorende tekst :/.
Inderdaad zover kan ik volgende

Hoe kan ik dan in JavaScript de value uit de dropdown halen?

Groeten Gert
Je wilt dus een standaard tekst uit de tb_bericht die hoort bij die ticketstatus plakken in de textarea, bij wijze van standaard reactie? Deze teksten zul je ergens bij moeten houden dan. Deze zou je bijvoorbeeld als data-attribuut kunnen opslaan bij de option wellicht.

Daarnaast gebruikt je document.getElementById(txtbericht) (txtbericht moet waarschijnlijk tussen quotes?) maar je textarea heeft alleen een name, geen id.
Hallo allemaal

IK ben denk ik al iets verder.
Alleen vanaf als ik een echo doe (lijn 88) verdwijnt mijn txtberichtenbox.
Ziet iemand waarom ik dat resultaat niet gewoon in mijn txtberichen krijg?


<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>

<body>
<?php 
	$conn = new mysqli('localhost', 'root', '', 'db_helpdesk')
	or die ('Cannot connect to db');
	
	$id = $_POST["txtid"];
	$sql = "SELECT * FROM tb_ticket WHERE id='" . $id . "'";
	$result = $conn->query($sql);
	
	if ($result->num_rows > 0) {
		// output data of each row
		$row = $result->fetch_assoc();
		$school = $row["school"];
		$lokaal = $row["lokaal"];
		$urgentie = $row["urgentie"];
		$datum = $row["datum"];
		$leerkracht = $row["leerkracht"];
		$toestel = $row["toestel"];
		$probleem = $row["soortprob"];
		$beschrijving = $row["beschrijving"];
		$status = $row["status"];
		$onderwerp = $row["onderwerp"];		
	} else {
		echo "0 results";
	}
	
	$sqlbericht = "SELECT * FROM tb_bericht";
	$resultbericht = $conn->query($sqlbericht);
	
	$sqlid1 = "SELECT status FROM tb_bericht WHERE id=1";
	$resultid1 = $conn->query($sqlid1);
	$sqlid2 = "SELECT status FROM tb_bericht WHERE id=2";
	$resultid2 = $conn->query($sqlid2);
	$sqlid3 = "SELECT status FROM tb_bericht WHERE id=3";
	$resultid3 = $conn->query($sqlid3);
	
	//$conn->close();
?> 

<h3><?php echo "Ticket: " . $onderwerp; ?></h3>
<table width="100%" border="1">
  <tbody>
    <tr>
      <td>School: <?php echo $school; ?></td>
      <td>Lokaal: <?php echo $lokaal; ?></td>
      <td rowspan="3" align="center"><img src="grondplannen/<?php echo $lokaal; ?>.jpg" align="middle" width="96" height="132" alt=""/></td>
    </tr>
    <tr>
      <td>Gebruiker: <?php echo $leerkracht; ?></td>
      <td>Toestel: <?php echo $toestel; ?></td>
    </tr>
    <tr>
      <td>Datum: <?php echo $datum; ?></td>
      <td>Beschrijving: <?php echo $beschrijving; ?></td>
    </tr>
  </tbody>
</table>

<br />
<br />

<p>Status: <?php echo $status; ?></p>
<p>Nieuwe status: <select name="ddmnieuwe_status" onChange="showBericht(this.value)" required>
                    <option value=""> Kies een status </option>
                    <?php   
						while ($rowbericht = $resultbericht->fetch_assoc())
						{
							echo '<option value="'.$rowbericht['id'].'">'.$rowbericht['status'].'</option>';
						}       
					?>
                  </select></p>
<script type="text/javascript">
	
	function showBericht(value)
	{
		if (value == 2){
		  var bericht = "<?php 
		  					// $sqlid = "SELECT bericht FROM tb_bericht WHERE id=2";
							//$resultid = $conn->query($sqlid);
							//$result2 = $resultid['bericht'];
							echo $resultid2;
							
						 ?>";
		  document.getElementById('txtbericht').value = bericht;
		  alert(bericht);
		}else if (value == 3){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById('txtbericht').value = bericht;
		}else if (value == 1){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById('txtbericht').value = bericht;
		}
	}
</script>
<input type="checkbox" name="chxbericht" id="chxbericht" />
<label for="chxbericht">Wilt u een persoonlijk bericht naar de melder sturen?</label>
<br />
<br />
<textarea rows="8" cols="80" id="txtbericht"> </textarea>
</body>
</html>
<?php $conn->close(); ?>


Alvast bedankt
Groeten Gert

[size=xsmall]Toevoeging op 23/06/2016 12:26:10:[/size]

Hallo allrmaal

Ik ben al iets verder geraakt. Mijn txtbericht verdwijnt niet meer maar hij wordt nog altijd niet gevuld met de bijhorende waarden

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>

<body>
<?php 
	$conn = new mysqli('localhost', 'root', '', 'db_helpdesk')
	or die ('Cannot connect to db');
	
	$id = $_POST["txtid"];
	$sql = "SELECT * FROM tb_ticket WHERE id='" . $id . "'";
	$result = $conn->query($sql);
	
	if ($result->num_rows > 0) {
		// output data of each row
		$row = $result->fetch_assoc();
		$school = $row["school"];
		$lokaal = $row["lokaal"];
		$urgentie = $row["urgentie"];
		$datum = $row["datum"];
		$leerkracht = $row["leerkracht"];
		$toestel = $row["toestel"];
		$probleem = $row["soortprob"];
		$beschrijving = $row["beschrijving"];
		$status = $row["status"];
		$onderwerp = $row["onderwerp"];		
	} else {
		echo "0 results";
	}
	
	$sqlbericht = "SELECT * FROM tb_bericht";
	$resultbericht = $conn->query($sqlbericht);
	
	$sqlid1 = "SELECT bericht FROM tb_bericht WHERE id=1";
	$resultid1 = $conn->query($sqlid1);
	$id1 = $resultid1->fetch_assoc();
		
	$sqlid2 = "SELECT bericht FROM tb_bericht WHERE id=2";
	$resultid2 = $conn->query($sqlid2);
	$id2 = $resultid2->fetch_assoc();
	
	$sqlid3 = "SELECT bericht FROM tb_bericht WHERE id=3";
	$resultid3 = $conn->query($sqlid3);
	$id3 = $resultid3->fetch_assoc();
	
	//$conn->close();
?> 

<h3><?php echo "Ticket: " . $onderwerp; ?></h3>
<table width="100%" border="1">
  <tbody>
    <tr>
      <td>School: <?php echo $school; ?></td>
      <td>Lokaal: <?php echo $lokaal; ?></td>
      <td rowspan="3" align="center"><img src="grondplannen/<?php echo $lokaal; ?>.jpg" align="middle" width="96" height="132" alt=""/></td>
    </tr>
    <tr>
      <td>Gebruiker: <?php echo $leerkracht; ?></td>
      <td>Toestel: <?php echo $toestel; ?></td>
    </tr>
    <tr>
      <td>Datum: <?php echo $datum; ?></td>
      <td>Beschrijving: <?php echo $beschrijving; ?></td>
    </tr>
  </tbody>
</table>

<br />
<br />

<p>Status: <?php echo $status; ?></p>
<p>Nieuwe status: <select name="ddmnieuwe_status" onChange="showBericht(this.value)" required>
                    <option value=""> Kies een status </option>
                    <?php   
						while ($rowbericht = $resultbericht->fetch_assoc())
						{
							echo '<option value="'.$rowbericht['id'].'">'.$rowbericht['status'].'</option>';
						}       
					?>
                  </select></p>
<script type="text/javascript">
	
	function showBericht(value)
	{
		if (value == 2){
		  var bericht = "<?php 
		  					// $sqlid = "SELECT bericht FROM tb_bericht WHERE id=2";
							//$resultid = $conn->query($sqlid);
							//$result2 = $resultid['bericht'];
							//echo $id2['bericht'];
							echo $id2['bericht'];
						 ?>";
		  document.getElementById('txtbericht').value = bericht;
		  alert(bericht);
		}else if (value == 3){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById('txtbericht').value = bericht;
		}else if (value == 1){
		  var bericht = "<?php echo $rowbericht['bericht'] ?>";
		  document.getElementById('txtbericht').value = bericht;
		}
	}
</script>
<input type="checkbox" name="chxbericht" id="chxbericht" />
<label for="chxbericht">Wilt u een persoonlijk bericht naar de melder sturen?</label>
<br />
<br />
<textarea rows="8" cols="80" id="txtbericht"> </textarea>
</body>
</html>
<?php $conn->close(); ?>

Groeten Gert

[size=xsmall]Toevoeging op 23/06/2016 14:07:17:[/size]

Het is gelukt
Het probleem is dat er in de database gegevens "" stonden

dit heb ik zo opgelost

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>Naamloos document</title>
</head>

<body>
<?php 
	$conn = new mysqli('localhost', 'root', '', 'db_helpdesk')
	or die ('Cannot connect to db');
	
	$id = $_POST["txtid"];
	$sql = "SELECT * FROM tb_ticket WHERE id='" . $id . "'";
	$result = $conn->query($sql);
	
	if ($result->num_rows > 0) {
		// output data of each row
		$row = $result->fetch_assoc();
		$school = $row["school"];
		$lokaal = $row["lokaal"];
		$urgentie = $row["urgentie"];
		$datum = $row["datum"];
		$leerkracht = $row["leerkracht"];
		$toestel = $row["toestel"];
		$probleem = $row["soortprob"];
		$beschrijving = $row["beschrijving"];
		$status = $row["status"];
		$onderwerp = $row["onderwerp"];		
	} else {
		echo "0 results";
	}
	
	$sqlbericht = "SELECT * FROM tb_bericht";
	$resultbericht = $conn->query($sqlbericht);
	
	$sqlid1 = "SELECT bericht FROM tb_bericht WHERE id=1";
	$resultid1 = $conn->query($sqlid1);
	$id1 = $resultid1->fetch_assoc();
	
	$sqlid2 = "SELECT bericht FROM tb_bericht WHERE id=2";
	$resultid2 = $conn->query($sqlid2);
	$id2 = $resultid2->fetch_assoc();

	/*$resultid2 = mysql_query("SELECT status FROM tb_bericht WHERE id=2");
	$id2 = mysql_fetch_array($resultid2);*/
	
	$sqlid3 = "SELECT bericht FROM tb_bericht WHERE id=3";
	$resultid3 = $conn->query($sqlid3);
	$id3 = $resultid3->fetch_assoc();
?> 

<h3><?php echo "Ticket: " . $onderwerp; ?></h3>
<table width="100%" border="1">
  <tbody>
    <tr>
      <td>School: <?php echo $school; ?></td>
      <td>Lokaal: <?php echo $lokaal; ?></td>
      <td rowspan="3" align="center"><img src="grondplannen/<?php echo $lokaal; ?>.jpg" align="middle" width="96" height="132" alt=""/></td>
    </tr>
    <tr>
      <td>Gebruiker: <?php echo $leerkracht; ?></td>
      <td>Toestel: <?php echo $toestel; ?></td>
    </tr>
    <tr>
      <td>Datum: <?php echo $datum; ?></td>
      <td>Beschrijving: <?php echo $beschrijving; ?></td>
    </tr>
  </tbody>
</table>

<br />
<br />

<p>Status: <?php echo $status; ?></p>
<p>Nieuwe status: <select name="ddmnieuwe_status" onChange="showBericht(this.value)" required>
                    <option value=""> Kies een status </option>
                    <?php   
						while ($rowbericht = $resultbericht->fetch_assoc())
						{
							echo '<option value="'.$rowbericht['id'].'">'.$rowbericht['status'].'</option>';
						}       
					?>
                  </select></p>
<script type="text/javascript">
	function showBericht(value)
	{
		if (value == 1){
		  var bericht = <?php echo json_encode($id1["bericht"]); ?>;
		  document.getElementById('txtbericht').value = bericht;
		}else if (value == 2){
		  var bericht = <?php echo json_encode($id2["bericht"]); ?>;
		  document.getElementById('txtbericht').value = bericht;
		}else if (value == 3){
		  var bericht = <?php echo json_encode($id3["bericht"]); ?>;
		  document.getElementById('txtbericht').value = bericht;
		}
	}
</script>
<input type="checkbox" name="chxbericht" id="chxbericht" onclick="enableDisable(this.checked, 'txtbericht')" />
<label for="chxbericht">Wilt u een persoonlijk bericht naar de melder sturen?</label>
<script language="javascript">
    function enableDisable(bEnable, txtbericht)
    {
         document.getElementById(txtbericht).disabled = !bEnable
    }
</script>
<br />
<br />
<textarea rows="8" cols="80" id="txtbericht" disabled> </textarea>
</body>
</html>
<?php $conn->close(); ?> 


Allemaal bedankt om mee te zoeken

Groeten Gert

Reageren