Wanneer ik gegevens wijzig en op "Opslaan" druk krijg ik de melding dat de wijzigingen goed zijn doorgevoerd, maar er wordt niks gewijzigd en opgeslagen in de database. Ik denk zelf dat het aan het volgende stukje script ligt:

// opslaan
	if (isset($_POST['opslaan'])){
		for ($i = 0; $i <= $_POST['maxid'];$i++){				
			if (isset($_POST[$i])){
				$naam = $i."naam";
				$afdeling = $i."afdeling";
				$internnummer = $i."internnummer";
				$nummer = $i."nummer";
				$inlog = $i."inlog";
				mysql_query("UPDATE gsm SET 
					`naam` = '".$_POST[$naam]."',		
					`afdeling` = '".$_POST[$afdeling]."',
					`nummer` = '".$_POST[$nummer]."',					
					`internnummer` = '".$_POST[$internnummer]."', 
					`inlog` = '".$_POST[$inlog]."', 
					WHERE `id` = $i
				") or die (mysql_error());
			}
		}
		echo "De gegevens zijn succesvol bijgewerkt.<br>";
	}
	
	// bewerken
	if (isset($_POST['update'])){
		$maxid = 0;



Deel van de code:

<?php
//includes
include('config.php');

//session start
if(isset($_SESSION['id'])) {
} else{
	header("Location: index.php?pagina=beheer");
}
	// verwijderen
	if (isset($_POST['verwijder'])){
		foreach($_POST['telid'] As $value ){
			mysql_query("DELETE FROM `gsm` WHERE `id` = $value") or die (mysql_error());
			}
	}
	
	// opslaan
	if (isset($_POST['opslaan'])){
		for ($i = 0; $i <= $_POST['maxid'];$i++){				
			if (isset($_POST[$i])){
				$naam = $i."naam";
				$afdeling = $i."afdeling";
				$internnummer = $i."internnummer";
				$nummer = $i."nummer";
				$inlog = $i."inlog";
				mysql_query("UPDATE gsm SET 
					`naam` = '".$_POST[$naam]."',		
					`afdeling` = '".$_POST[$afdeling]."',
					`nummer` = '".$_POST[$nummer]."',					
					`internnummer` = '".$_POST[$internnummer]."', 
					`inlog` = '".$_POST[$inlog]."', 
					WHERE `id` = $i
				") or die (mysql_error());
			}
		}
		echo "De gegevens zijn succesvol bijgewerkt.<br>";
	}
	
	// bewerken
	if (isset($_POST['update'])){
		$maxid = 0;
	?>
		
    <form name="verzenden" action="" method="post">
    <h2>Bewerken</h2>
	
    <?php
		foreach($_POST['telid'] As $value ){
			echo "<input type='hidden' name='telid' value=$value />";
			
			// select
			$result2 = mysql_query("SELECT * FROM `gsm` WHERE id=$value");
			while($row2 = mysql_fetch_array( $result2 )) {
					
					echo "<b>".$row2['naam']."</b><br>";
					echo "<table>";
					echo "<td>Naam: </td><td><input type='text' size='25' name='".$id."naam' value='".$row2['naam']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Telefoonnummer: </td><td><input type='text' size='25' name='".$id."nummer' value='".$row2['nummer']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Inlognaam: </td><td><input type='text' size='25' name='".$id."inlog' value='".$row2['inlog']."' /></td>";					
					echo "</tr><tr>";
					echo "<td>Afdeling: </td><td><input type='text' size='25' name='".$id."afdeling' value='".$row2['afdeling']."' /></td>";
					echo "</tr><tr>";
					echo "<td>Intern verkort nummer: </td><td><input type='text' size='25' name='".$id."internnummer' value='".$row2['internnummer']."' /></td>";					
					echo "</tr></table>";
					

					
					if ($id > $maxid){
						$maxid = $id;
					}
				} 
		}
	echo "<input type='hidden' name='maxid' value='".$maxid."' />";
	?>
	<br>
	<center>
   
    <input type='submit' name='opslaan' value='Opslaan' />
    </center>
	</form>
    <?php
	} else {
	
	echo "<h2>Gegevens bewerken</h2>";
	?>
dankje, dit werkt. Nu loopt ie al door tot foutmelding 4.
Daar krijg ik de volgende foutmeldingen:


Notice: Undefined index: 0naam in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 40

Notice: Undefined index: 0afdeling in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 41

Notice: Undefined index: 0nummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 42

Notice: Undefined index: 0internnummer in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 43

Notice: Undefined index: 0inlog in C:\Websites\Localhost\telefoonlijst\gsmbewerk.php on line 44
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE id = 0' at line 6



notice is MEESTAL niet HEEL belangrijk.

in dit gevaal geef het aan niet te bestaan, en een query die het niet doet omdat de waardes leeg zijn *gok ik* condities nakijken?
Het werkt nog niet, volgens mij moet alles over dat maxid enzo weg of niet? Ook verderop in de code, want wat doet dit stuk bijvoorbeeld:

if ($id > $maxid){
$maxid = $id;
}


Zeg eens wat je precies wilt doen. wat moet het script doen.
variabelen checken met

if(isset($variable)) {
// dan dit doen
}


En idd, zoals wesley zegt, wat wil je bereiken?
Ja dit stuk script moet eerst gegevens uit een database selecteren dmv de zoekfunctie of de selectie box, dit werkt goed. Hieruit wordt een overzicht met de gegevens van die gebruikers gevormd.
Door middel van de checkbox voor elke row welke in het overzicht staat wordt een bepaald persoon of meerder geselecteerd. Wanneer men dan op de submit"Verwijderen drukt" worden deze gegevens van de geselecteerde personen verwijderd. Dit werkt goed!
Wanneer men op de submit "wijzigen" drukt ziet men alle gegevens van de geselecteerde personen en kan men deze aanpassen. Tot hier lukt het!
Maar als men dan wijzigingen heeft aangebracht bij de desbetreffende persoon/personen en op de submit "Opslaan" drukt loopt alles vast.
laatste post op dit topic *denk ik* want ik ga trainen.

Pak id van de record die je wilt aanpassen.

Toon alle gegevens van deze persoon, door de gegevens gekoppeld aandat id op te halen.

Update vervolgens, waar de id gelijk is aan de id die je net ophaalt.

simpel. zo simpel is het. 1 query maar nodig ook.

Succes ermee, en tot later ;)
sorry voor de bump! pc deed raar!
sorry voor de bump! pc deed raar!

Reageren