Trazer valor para modal

Estou a tentar trazer valor para modal e já tentei por javascript, e por ourtras maneiras mas nenhuma funciona.

	While  ($result = $stmt->fetch(PDO::FETCH_OBJ))
	{ ?>
		<tr>
			<td> <button onclick="document.getElementById('id01').style.display='block'" 
				class="w3-btn w3-white w3-border w3-round-large " 
				name="produto" style='width: 450px; height:50px'> 
				<?php echo $produto=$result->NomeProduto ?> </button> 
			</td>
		</tr>
	  <?php
	}
	?>
</table>

<div id="id01" class="w3-modal">
	<div class="w3-modal-content">
	  <div class="w3-container">
		<span onclick="document.getElementById('id01').style.display='none'" 
		      class="w3-button w3-display-topright">&times;</span>
			<br>
			<form action="OperPedido2.php" method="POST">
				Quantidade: 
				<input type="text" name="quantia">
				<input type="text" name="produto" value="$produto">
				<input type="hidden" name="oper" value="ins">
				<input type="hidden" name="pedido" value="1">
				<button class="w3-btn w3-white w3-border w3-round-large">Ok</button>
			</form>
			<br>
	  </div>
	</div>
</div>

Só estou a mostrar a parte que interessa.

Precisa dar 4 espaços para o código aparecer…

O modal seria o alert simples do javascript mesmo?

Bom, percebi que você está usando pdo, uma maneira mais fácil de trazer e guardar os resultados é essa, sem precisar de loop…

$produtos = $stmt->fetchAll(PDO::FETCH_OBJ);

Se quiser transformar essa lista (vetor) de objetos em json basta…

echo json_encode($produtos);

A partir daí, você pode tentar algo com ajax/jquery etc… veja se ajuda…

Já aparece o código todo xD