Ik heb meerdere malen geprobeert om te kijken waarom het niet lukt, maar telkens lukt het niet. Zou iemand van jullie mij kunnen vertellen waar het aan ligt?

tabel: afdeling
- id
- afd_naam

singleton.php

<?php

define('HOST', 'localhost');
define('USER', 'root');
define('PASS', '');
define('DBNAME', 'test');

class Singleton {

	private static $_instace;
	private $conn;

	private function __construct() {
		$this->conn = mysql_connect(HOST, USER, PASS);
		mysql_select_db(DBNAME);
	}

	public static function getconnect() {
		if (!self::$_instace) {
			self::$_instace = new Singleton();
		}
		return self::$_instace;
	}

	public function mysql_uitvoeren($sql) {
		$sql = ltrim($sql);
		$arr_ophalen = array();

		if (!empty($sql) && isset($sql)) {
			$string_sql = strtoupper(substr($sql, 0, 6));
			if ($string_sql == 'SELECT') {
				$statement = mysql_query($sql, $this->conn);
				while ($rij = mysql_fetch_assoc($statement)) {
					$arr_ophalen[] = $rij;
				}
				if (count($arr_ophalen) > 0) {
					return $arr_ophalen;
				} else {
					return false;
				}
			} elseif ($string_sql == 'CREATE') {
				if (mysql_query($sql, $this->conn)) {
					return true;
				} else {
					return false;
				}
			} elseif ($string_sql == 'UPDATE' || 
$string_sql == 'DELETE' || $string_sql == 'REPLACE') {
				if (mysql_query($sql, $this->conn)) {
					return mysql_affected_rows();
				} else {
					return false;
				}
			} else {
				if (mysql_query($sql, $this->conn)) {
					return mysql_insert_id();
				} else {
					return false;
				}
			}
		} else {
			return false;
		}
	}

	private function __close() {
		
	}

}

?>


hier is de code

class afdeling

<?php

require_once 'Singleton.php';

class Afdeling {

	public $id, $afdeling;
	protected $connect;
	protected $sql;

	public function __construct() {
		$this->connect = Singleton::getconnect();
	}

	public function __destruct() {
		$this->connect = null;
	}

	public function afdeling_toevoegen($afdeling){
            
            $afdeling="INSERT INTO afdeling SET afd_naam='".$afdeling."'";
            return mysql_query($afdeling);
            
        }
	
	public function afdeling_bijwerken($afdeling){
            
            $afdeling="UPDATE afdeling SET afd_naam='".$afdeling."' WHERE `afdeling`.`id` =".$id;
            return mysql_query($afdeling);
            
        }
	
	
	public function verwijderen_afdeling($id){
		
			$afdeling="DELETE FROM `test`.`afdeling` WHERE `afdeling`.`id` =".$id;
			return mysql_query($afdeling);
		
		}
		
		public function tel_afdeling() {
		$afdeling = 'SELECT COUNT(*) as totaal FROM afdeling';
		return mysql_query($afdeling);
		
	}
	
		public function select_afdeling() {
		$afdeling = 'SELECT afd.id, afd.afd_naam AS Afdeling
		FROM afdeling afd';
		return mysql_query($afdeling);
	}
	
	
	public function select_afdeling_id($id) {
		$afdeling = 'SELECT * FROM afdeling WHERE id= ' .$id;
		return mysql_query($afdeling);
	}
	
	
	
	
	public function select_afdelingen() {
		$afdeling = 'SELECT * FROM afdeling';
		return mysql_query($afdeling);
	}

}

?>


afdeling_bewerken.php

<?php
    require_once 'class/afdeling.php';
      
      $afdeling1 = new Afdeling();
	  
      $alle_afdelingen = $afdeling1->select_afdeling();
	  

      echo '<table border="0" cellspacing="4" cellpadding="4"><tr>';
	  $intRows = 0;

	  while($a=mysql_fetch_assoc($alle_afdelingen))
	  {
		 $bewerken = '<a href="afdeling_bewerken_handler.php?id=' . $a['id'] . '"><img src="Images/wijzigen.gif" height="23" width="23"></a>';
		 echo '<td>';  
		 $intRows++;
         echo '<td>' . $a['Afdeling'] . '</td>';
         echo '<td>' . $bewerken . '</td>';
         echo'</td>';  
		if(($intRows)%2==0)  
		{  
		echo'</tr>';  
		}  
      }

      echo '</table>';
      ?>


afdeling_bewerken_handler.php

        <div id="admin-container2">
    
<?php
require_once 'class/afdeling.php';

if (isset($_POST['bijwerken'])) {
	$afdeling = new Afdeling();
	$afdeling->id = $_POST['id'];
	$afdeling->afdeling = $_POST['naam'];
	if ($afdeling->afdeling_bijwerken()) {
		header('Location:overzicht_afdelingen.php');
	} else {
		header('Location:overzicht_afdelingen.php');
	}
}
?>

<?php
if (!empty($_REQUEST['id'])) {
	$afdeling1 = new Afdeling();
	$id = $_REQUEST['id'];
	
	$afdeling = $afdeling1->select_afdeling_id($id);
	$afdeling = $afdeling[0];
} else {
	header('Location:overzicht_afdelingen.php');
}
?>

<form method="post" action="afdeling_bewerken_handler.php">

<table border="0">
	<tr>
            <td colspan="2"><h15>Afdeling bewerken</h15><br><br></td>
	</tr>
	<tr>
            <td>Naam Afdeling:</td>
		<td>
			<input type="text" name="naam" size="20" 
			maxlength="20" value="<?php echo $afdeling['afd_naam']; ?>"/>
		</td>
	</tr>
	<tr>
		<td></td>
		<td><input type="submit" name="bijwerken" value="Update"  /></td>
	</tr>
</table>
<input type="hidden" name="id" value="<?php echo $afdeling['id']; ?>"/>
</form>
<br><?php require_once 'menu/cat_menu.php'; ?>
</body>
</div>
En wat lukt er niet? Iets met bewerken ja maar wees eens iets specifieker en wat heb je zelf al geconstateerd?
ik denk dat het te maken heeft met het functie select_afdeling_id($id); die niet goed wordt gebruikt. want als ik op bewerken klik op afdeling_bewerken.php dan laat hij ook niet de naam van de afdeling te zien die ik wil bewerken.
Frank Nietbelangrijk op 23/05/2014 17:52:48

En wat lukt er niet? Iets met bewerken ja maar wees eens iets specifieker en wat heb je zelf al geconstateerd?


Ik zie nogal wat onlogica.
<?php
return $resultaat_afdeling=mysql_query($afdeling);
?>

Dit kun je gewoon inkorten als:
<?php
return mysql_query($afdeling);
?>

<?php
$bewerken = "<a href=\"afdeling_bewerken_handler.php?id={$a['id']}\"><img src='Images/wijzigen.gif' height='23' width='23'></a>";
?>
- vanwaar de { en } ?
- variabelen buiten quotes halen
- in HTML gebruik je veel double quotes dus gebruik dan in PHP single quotes!
<?php
$bewerken = '<a href="afdeling_bewerken_handler.php?id=' . $a['id'] . '"><img src="Images/wijzigen.gif" height="23" width="23"></a>";
?>


[size=xsmall]Toevoeging op 23/05/2014 19:28:08:[/size]

Waarom doe je
<?php $tel_afdeling = $afdeling1->tel_afdeling(); ?>
als je de variabele $tel_afdeling vervolgens niet gebruikt?


[size=xsmall]Toevoeging op 23/05/2014 19:30:52:[/size]

waarom schrijf je de classnamen niet met een hoofdletter zoals iedereen doet?
dan krijg je
<?php
$afdeling = new Afdeling(); ?
?>
in plaats van:
<?php
$afdeling1 = new afdeling(); ?
?>
Ik heb de code even aangepast! misschien dat je het probleem nu wel kan zien?

Frank Nietbelangrijk op 23/05/2014 19:24:34

Ik zie nogal wat onlogica.
<?php
return $resultaat_afdeling=mysql_query($afdeling);
?>

Dit kun je gewoon inkorten als:
<?php
return mysql_query($afdeling);
?>

<?php
$bewerken = "<a href=\"afdeling_bewerken_handler.php?id={$a['id']}\"><img src='Images/wijzigen.gif' height='23' width='23'></a>";
?>
- vanwaar de { en } ?
- variabelen buiten quotes halen
- in HTML gebruik je veel double quotes dus gebruik dan in PHP single quotes!
<?php
$bewerken = '<a href="afdeling_bewerken_handler.php?id=' . $a['id'] . '"><img src="Images/wijzigen.gif" height="23" width="23"></a>";
?>


[size=xsmall]Toevoeging op 23/05/2014 19:28:08:[/size]

Waarom doe je
<?php $tel_afdeling = $afdeling1->tel_afdeling(); ?>
als je de variabele $tel_afdeling vervolgens niet gebruikt?


[size=xsmall]Toevoeging op 23/05/2014 19:30:52:[/size]

waarom schrijf je de classnamen niet met een hoofdletter zoals iedereen doet?
dan krijg je
<?php
$afdeling = new Afdeling(); ?
?>
in plaats van:
<?php
$afdeling1 = new afdeling(); ?
?>




[size=xsmall]Toevoeging op 25/05/2014 15:14:50:[/size]

iemand nog een oplossing?

Reageren