Inkorten "functie"

Status
Niet open voor verdere reacties.

raymond88

Gebruiker
Lid geworden
24 feb 2010
Berichten
287
Ik heb een overzicht van feesten staan, met ieder een checkbox. Hij haalt alle info op uit de database, en de checkbox heeft een array ( maakselectie[] ). Ik wil dus verschillende tegelijk kunnen selecteren en deze verwijderen. Probleem is, ik wil deze niet alleen kunnen verwijderen (via button deleteselected) met de checkboxen maakselectie[], maar ook actief maken of inactief maken via eigen buttons.

Het werkt allemaal, maar ik heb dus letterlijk copy paste gedaan bij eentje, en dan de buttonnaam veranderd en de query veranderd (wat bij 3 buttons dus resulteerd in 3x deze code, met 2 lijntjes anders..).

Ik ben gaan denken in de richting van ik maak een sessie variabele met de query, maar deze moet dan weer persé in de while staan. Dit brengt me dus alsnog nergens heen. De query werkt overigens wel zo met de sessie variabele, maar weet niet of het verstandig is zo? Ik doe hem erna wel meteen weggooien.. Elke suggestie is welkom, aangezien ik PHP wel bij wil leren ;)

PHP:
		if(isset($_POST['deleteselectedfeest'])){		
			if(isset($_POST['maakselectie'])){
				$maakselectie = $_POST['maakselectie'];
				while (list ($key,$val) = @each ($maakselectie)) {
					$_SESSION['sqlselectie'] = "DELETE FROM feest WHERE id='".$val."' ";//WHERE id overeenkomt met de value	
					$resdel=mysql_query($_SESSION['sqlselectie']);//verstuur query
				}
				unset($_SESSION['sqlselectie']);
				?>
				<script type='text/javascript'>window.location='beheer.php?p=overzichtfeest';</script> <?php
			}
			else{ // Geen boxes aangevinkt ?>
            	<img src="images/icons/warning.png" alt="waarschuwing" /> <?php
			   	echo 'Geen selectie gemaakt.';
			}
		}
 
Laatst bewerkt:
Ik heb dus de sessie variabele veranderd in $sqlselectie. Daarna heb ik gewoon in de while meerde if statements gezet en het lijkt te werken! Voor diegene met interesse;
PHP:
				while (list ($key,$val) = @each ($maakselectie)) {
					if(isset($_POST['deleteselectedfeest'])){ 	
						$sqlselectie="DELETE FROM feest
								WHERE id='$val'";// WHERE id overeenkomt met de value
					}
					else if(isset($_POST['andere button'])){	
						$sqlselectie="...";
					}
					else {
						$sqlselectie="...";
					}
					$resdel=mysql_query($sqlselectie);//verstuur query
				}
 
Nou, ik ben op het volgende probleem gestuit. Ik heb nu dus in de query de tabel feest vervangen door een $tabel (variabele dus), omdat ik uiteindelijk meerdere tabellen wil kunnen updaten. Ik heb namelijk niet alleen "feest" (ofwel feesten), maar ook locaties en dergelijke. Hoe kan ik dit het beste oplossen?

Ik wil mijn code voor het uitvoeren van deze query in één bestand zetten. Vanuit meerdere bestanden wil ik dan deze aan kunnen roepen, en de functie voor de goede tabel updaten (dus de $tabel variabele wordt dan een $POST ofzo?). Ik heb iets zitten proberen met forms, maar lukte niet echt. Kan iemand me in de goede richting helpen?
 
(ik stel domme vragen en moet voortaan mijn lijn afsluiten met een ";" :rolleyes:
Problem solved tot nu toe.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan