Hallo allemaal,

Ik heb een php bestand met daar in een gegenereerde lijst. Het bevat veen x aantal regels vanuit een database tabel(1).
Iedere regel bevat een form. En op dat form heb ik een hidden id. Die gebruik ik om een record te kunnen selecteren.
Maar op ieder form heb ik ook een drop-down veld/lijst. Deze is gegenereerd uit een andere database tabel(2). De id daarvan wil ik opslaan in tabel(1).

Hiervoor wil ik een MySQLi commando gebruiken met het SQL statement UPDATE.

Maar mijn vraag is nu, hoe kan ik query direct starten als ik mijn keuze heb gemaakt in de dropdown. Ik wil dan eigenlijk geen ander knopje hoeven in te drukken.

ALvast vriendelijk bedankt.

Frits van Leeuwen
klinkt logisch, maar hoe dan?

Vervangt dat dan deze code?

	if(isset($_POST['verpakkingen'])){
		$id = $_POST['id'];
		$id_packing_choosen=$_POST['verpakkingen'];
		$query_update_necessary_packaging = "UPDATE prstshp_collect_productstype_packing SET id_packing='$value' WHERE id = '$id';";
		// Voer de query uit
		$result_update_necessary_packaging = mysqli_query($con, $query_update_necessary_packaging);
		
		$id = "";
		$value = "";
		$query_update_necessary_packaging = "";
	}
Werp eens een echo als de query uitgevoerd id, en kijk naar je response
Ik heb mijn code even aangepast, zodat ik kan zien wat er wanneer gebeurd.
Ik kwam er achter dat hij alleen het ajax deel doorloopt als ik in de eerste regel van de html-tabel de drop-down wijzig.
Bij iedere andere regel doet hij niets met het ajax deel.
Dan moet je een class attribuut op je selectbox gebruiken i.p.v. een ID.

En dan gebruik je ook dit:

$('.selectbox') in plaats van een #
Heb je een voorbeeld? Want je gebruikt nu termen bij elkaar, waardoor ik het niet meer volg.
Je selectbox moet je aanpassen, en je jQuery aanroep.

Lijn 2: $('.verpakkingen').change(function() {


Anders is een basis-tutorial jQuery misschien handig om even door te lezen.
Als ik dat doe gebeurt er niets.

Met de volgende code krijg ik een waarde in de alert, (dat wil ik nu voor de test)

	<script>
		$(document).ready(function() {
			$('#verpakkingen').change(function() {
				var selectedValue = $(this).val();
				alert(selectedValue);
			});
		});
	</script>


Dit zou hij bij alle regels van de HTML tabel moeten doen. Maar hij doet het alleen bij de bovenste regel. Ergens moet er dus nog iets anders fout zitten.
Kijk eens goed naar mijn vorige post. ;-)
Er kan maar 1 element in je pagina zijn met een bepaald ID (#verpakkingen komt maar 1x voor. Als vaker dan heb je kans dat je browser de eerste, of de laatste, pakt.)

CLASS kan wel vaker voorkomen (.verpakkingen)
Ivo P,
Bedankt voor de uitleg.

- Ariën -,
Ik had jouw suggestie gezien, maar het werkte niet. Nu met de uitleg van Ivo P begrijp ik er weer meer van.

Als ik het goed begrijp moet ik in de regel van <SELECT> de id="verpakkingen" weglaten en daar class="verpakkingen" van maken. (en natuurlijk de suggestie van - Ariën -)


En nu ik dit heb geprobeerd, krijg ik per regel de gevraagde waarde. Nu ga ik verder experimenteren om de MYSQLi UPDATE opdracht er in te krijgen.





Reageren