verkeerde id
maar als ik over de link ga, krijg ik de ID(afdeling_id) van tabel afd_subafdeling ipv. id van tabel afd_subafdeling, daarom wordt het ook niet verwijderd.
kunnen jullie mij daarmee helpen?
tabellen:
afdeling
id
afd_naam
subafdeling
id
subaf_naam
afd_subafdeling
id
afdeling_id
subafdeling_id
afdeling_subadeling_overzicht.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
require_once 'class/afdeling_subafdeling.php';
$afdeling1 = new afdeling_subafdeling();
$tel_afdeling = $afdeling1->tel_afdeling_subafdeling();
$alle_afdelingen = $afdeling1->select_afdeling_subafdeling();
echo '<table border="0" cellspacing="4" cellpadding="4"><tr>';
$intRows = 0;
//foreach($alle_afdelingen as $a)
while($a=mysql_fetch_assoc($alle_afdelingen))
{
$verwijderen = "<a href=\"afdeling_subafdeling_verwijderen.php?id={$a['id']}\"><img src='Images/verwijderen.png' height='20' width='20'></a>";
echo "<td>";
$intRows++;
echo '<td>' . $a['Afdeling'] . '</td>';
echo '<td>' . $a['Subafdeling'] . '</td>';
echo '<td>' . $verwijderen . '</td>';
echo"</td>";
if(($intRows)%2==0)
{
echo"</tr>";
}
}
echo '</table>';
$afdeling1 = new afdeling_subafdeling();
$tel_afdeling = $afdeling1->tel_afdeling_subafdeling();
$alle_afdelingen = $afdeling1->select_afdeling_subafdeling();
echo '<table border="0" cellspacing="4" cellpadding="4"><tr>';
$intRows = 0;
//foreach($alle_afdelingen as $a)
while($a=mysql_fetch_assoc($alle_afdelingen))
{
$verwijderen = "<a href=\"afdeling_subafdeling_verwijderen.php?id={$a['id']}\"><img src='Images/verwijderen.png' height='20' width='20'></a>";
echo "<td>";
$intRows++;
echo '<td>' . $a['Afdeling'] . '</td>';
echo '<td>' . $a['Subafdeling'] . '</td>';
echo '<td>' . $verwijderen . '</td>';
echo"</td>";
if(($intRows)%2==0)
{
echo"</tr>";
}
}
echo '</table>';
afdeling_subafdeling_verwijderen.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
require_once 'class/afdeling_subafdeling.php';
if (isset($_REQUEST['id'])) {
$afdeling = new afdeling_subafdeling();
$id = $_REQUEST['id'];
$afdeling_infor = $afdeling->select_afdeling_subafdeling_id($id);
if ($afdeling->verwijderen_afd_subafdeling($id)) {
echo '<h3>Succesvol verwijderd: ';
echo $afdeling_infor[0]['afdeling_id'] . '</h3><br>';
} else {
echo '<h3>Kan afdeling niet verwijderen</h3>';
}
}
require_once 'menu/menu.php';
?>
if (isset($_REQUEST['id'])) {
$afdeling = new afdeling_subafdeling();
$id = $_REQUEST['id'];
$afdeling_infor = $afdeling->select_afdeling_subafdeling_id($id);
if ($afdeling->verwijderen_afd_subafdeling($id)) {
echo '<h3>Succesvol verwijderd: ';
echo $afdeling_infor[0]['afdeling_id'] . '</h3><br>';
} else {
echo '<h3>Kan afdeling niet verwijderen</h3>';
}
}
require_once 'menu/menu.php';
?>
class/afdeling_subafdeling.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php
require_once 'Singleton.php';
class afdeling_subafdeling {
public $id, $afdeling;
protected $connect;
protected $sql;
public function __construct() {
$this->connect = Singleton::getconnect();
}
public function __destruct() {
$this->connect = null;
}
public function invoeren_afd_subafdeling($afdID,$subafd){
$subafdeling="INSERT INTO afd_subafdeling SET afdeling_id='".$afdID."', subafdeling_id='".$subafd."'";
return $resultaat_subafdeling=mysql_query($subafdeling);
}
public function verwijderen_afd_subafdeling($id){
$subafdeling="DELETE FROM `test`.`afd_subafdeling` WHERE `afd_subafdeling`.`id` =".$id;
return $resultaat_afd_subafdeling=mysql_query($subafdeling);
}
public function tel_afdeling_subafdeling() {
$afdeling_subafdeling = 'SELECT COUNT(*) as totaal FROM afd_subafdeling';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
public function select_afdeling_subafdeling() {
$afdeling_subafdeling = 'SELECT a.id, a.afd_naam AS Afdeling, s.subaf_naam AS Subafdeling
FROM afdeling a
JOIN afd_subafdeling afdsub ON afdsub.afdeling_id = a.id
JOIN subafdeling s ON afdsub.subafdeling_id = s.id';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
public function select_afdeling_subafdeling_id($id) {
$afdeling_subafdeling = 'SELECT * FROM afd_subafdeling WHERE id= ' .$id;
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
}
?>
require_once 'Singleton.php';
class afdeling_subafdeling {
public $id, $afdeling;
protected $connect;
protected $sql;
public function __construct() {
$this->connect = Singleton::getconnect();
}
public function __destruct() {
$this->connect = null;
}
public function invoeren_afd_subafdeling($afdID,$subafd){
$subafdeling="INSERT INTO afd_subafdeling SET afdeling_id='".$afdID."', subafdeling_id='".$subafd."'";
return $resultaat_subafdeling=mysql_query($subafdeling);
}
public function verwijderen_afd_subafdeling($id){
$subafdeling="DELETE FROM `test`.`afd_subafdeling` WHERE `afd_subafdeling`.`id` =".$id;
return $resultaat_afd_subafdeling=mysql_query($subafdeling);
}
public function tel_afdeling_subafdeling() {
$afdeling_subafdeling = 'SELECT COUNT(*) as totaal FROM afd_subafdeling';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
public function select_afdeling_subafdeling() {
$afdeling_subafdeling = 'SELECT a.id, a.afd_naam AS Afdeling, s.subaf_naam AS Subafdeling
FROM afdeling a
JOIN afd_subafdeling afdsub ON afdsub.afdeling_id = a.id
JOIN subafdeling s ON afdsub.subafdeling_id = s.id';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
public function select_afdeling_subafdeling_id($id) {
$afdeling_subafdeling = 'SELECT * FROM afd_subafdeling WHERE id= ' .$id;
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
}
}
?>
Gewijzigd op 18/05/2014 16:15:04 door George mendel
Kijk nu eens naar je select query in select_afdeling_subafdeling(). Daar selecteer je het id van de afdeling, niet van de subafdeling. Maar.... als je daar ook het id uit de subafdeling tabel selecteert, dan heb je het wel (let wel even op dubbele namen van de kolommen).
Code (php)
1
2
3
4
5
6
2
3
4
5
6
public function select_afdeling_subafdeling() {
$afdeling_subafdeling = 'SELECT a.id, s.id, a.afd_naam AS Afdeling, s.subaf_naam AS Subafdeling
FROM afdeling a
JOIN afd_subafdeling afdsub ON afdsub.afdeling_id = a.id
JOIN subafdeling s ON afdsub.subafdeling_id = s.id';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
$afdeling_subafdeling = 'SELECT a.id, s.id, a.afd_naam AS Afdeling, s.subaf_naam AS Subafdeling
FROM afdeling a
JOIN afd_subafdeling afdsub ON afdsub.afdeling_id = a.id
JOIN subafdeling s ON afdsub.subafdeling_id = s.id';
return $resultaat_subafdeling=mysql_query($afdeling_subafdeling);
Erwin H op 18/05/2014 17:17:06:
Kijk nu eens naar je select query in select_afdeling_subafdeling(). Daar selecteer je het id van de afdeling, niet van de subafdeling. Maar.... als je daar ook het id uit de subafdeling tabel selecteert, dan heb je het wel (let wel even op dubbele namen van de kolommen).
Erwin H op 18/05/2014 17:17:06:
(let wel even op dubbele namen van de kolommen).
Je kan NIET twee keer een kolom selecteren met dezelfde naam, want in een php array wordt de eerste dan overschreven door de tweede! Aliassen gebruiken dus, in elk geval voor 1 van de kolommen.
Erwin H op 18/05/2014 22:16:26:
En ik heb nog zo de waarschuwing erbij gezet!!!!
Je kan NIET twee keer een kolom selecteren met dezelfde naam, want in een php array wordt de eerste dan overschreven door de tweede! Aliassen gebruiken dus, in elk geval voor 1 van de kolommen.
Erwin H op 18/05/2014 17:17:06:
(let wel even op dubbele namen van de kolommen).
Je kan NIET twee keer een kolom selecteren met dezelfde naam, want in een php array wordt de eerste dan overschreven door de tweede! Aliassen gebruiken dus, in elk geval voor 1 van de kolommen.
SELECT a.id AS a_id, b.id AS b_id .....
Ivo P op 19/05/2014 16:02:15:
SELECT a.id AS a_id, b.id AS b_id .....
Toevoeging op 19/05/2014 22:48:13:
Ik heb hem al! thanks voor de tip.
de juiste query moest zijn:
$afdeling_subafdeling = 'SELECT afdsub.id, a.afd_naam AS Afdeling, s.subaf_naam AS Subafdeling
FROM afdeling a
JOIN afd_subafdeling afdsub ON afdsub.afdeling_id = a.id
JOIN subafdeling s ON afdsub.subafdeling_id = s.id order by a.afd_naam';
Erwin H op 18/05/2014 22:16:26:
En ik heb nog zo de waarschuwing erbij gezet!!!!
Je kan NIET twee keer een kolom selecteren met dezelfde naam, want in een php array wordt de eerste dan overschreven door de tweede! Aliassen gebruiken dus, in elk geval voor 1 van de kolommen.
Erwin H op 18/05/2014 17:17:06:
(let wel even op dubbele namen van de kolommen).
Je kan NIET twee keer een kolom selecteren met dezelfde naam, want in een php array wordt de eerste dan overschreven door de tweede! Aliassen gebruiken dus, in elk geval voor 1 van de kolommen.
tenminste niet in het SELECT-deel vand e query.
id, afd_naam en subaf_naam lijken alle 3 toch verschillend te zijn....