Het invoegen van FOREIGN KEY's in een Tabel
DROP TABLE IF EXISTS Casemanager;
CREATE TABLE Casemanager (
ID INT(11) NOT NULL AUTO_INCREMENT,
Workingstatus TINYINT(1) DEFAULT '0',
SocialCentre INT(11),
Contacts INT(11),
CONSTRAINT CasemanagerPK PRIMARY KEY(ID)
)ENGINE=INNODB;
SocialCentre en contacts zijn foreign keys.
SocialCentre wordt in een form als drop down uit de database gehaald.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
$result = mysql_query("SELECT * FROM SocialCentre");
echo "<select>";
while($row = mysql_fetch_array($result))
{
echo "<option value='$row[ID]'>".$row['SocialCentreName']."</option>";
}
echo "</select>";
?>
$result = mysql_query("SELECT * FROM SocialCentre");
echo "<select>";
while($row = mysql_fetch_array($result))
{
echo "<option value='$row[ID]'>".$row['SocialCentreName']."</option>";
}
echo "</select>";
?>
Ik heb dus een naam maar hoe verkrijg ik de juiste ID toegevoegd in bovenstaande tabel?
Contacts kan compleet nieuw aangelegt worden en opgeslagen in de tabel contacts. Het kan ook zijn dat de contact al bestaat en dan moet die FOREIGN KEY worden opgeslagen in de bovenstaande tabel.
Hoe krijg ik de FOREIGN KEY's van deze twee tabellen in de tabel Casemanager?
Alvast bedankt.
Wordt langzaam kaal van het haren trekken. :D
Gewijzigd op 01/01/1970 01:00:00 door Jacob Koornneef
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
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
<?php
/* Errors */
error_reporting(E_ALL);
/* Query uitvoeren */
$Query =
"
SELECT
ID,
SocialCentreName
FROM
SocialCentre
";
/* Resultaat van de query */
$Result = mysql_query($Query);
/* Kijken of de query is gelukt */
if(!$Result)
{
/* Foutje in query */
echo 'Er is een fout opgetreden met het selecteren van de gegevens.';
}
else
{
/* Kijken of er wel resultaten zijn */
if(mysql_num_rows($Result) == 0)
{
/* Geen resultaten in database */
echo 'Er staat niks in de database.';
}
else
{
/* Dropdown starten */
echo '<select name="select" id="select">';
/* While loop beginnen om resultaten weer te geven */
while($row = mysql_fetch_assoc($Result))
{
echo '<option value="'.$row['ID'].'">'.$row['SocialCentreName'].'</option>';
}
/* Dropdown sluiten */
echo '</select>'
}
}
?>
/* Errors */
error_reporting(E_ALL);
/* Query uitvoeren */
$Query =
"
SELECT
ID,
SocialCentreName
FROM
SocialCentre
";
/* Resultaat van de query */
$Result = mysql_query($Query);
/* Kijken of de query is gelukt */
if(!$Result)
{
/* Foutje in query */
echo 'Er is een fout opgetreden met het selecteren van de gegevens.';
}
else
{
/* Kijken of er wel resultaten zijn */
if(mysql_num_rows($Result) == 0)
{
/* Geen resultaten in database */
echo 'Er staat niks in de database.';
}
else
{
/* Dropdown starten */
echo '<select name="select" id="select">';
/* While loop beginnen om resultaten weer te geven */
while($row = mysql_fetch_assoc($Result))
{
echo '<option value="'.$row['ID'].'">'.$row['SocialCentreName'].'</option>';
}
/* Dropdown sluiten */
echo '</select>'
}
}
?>
Als ik het goed begrijp wil je dus wat je laat zien in een andere tabel zetten?
Ik laat de naam zien en wil de bijbehorende ID als FOREIGN KEY in een andere tabel zetten.
Verder heb ik 2 input velden. 1 voor telefoonnummer en 1 voor email. Die worden opgeslagen in een tabel Contact. Als daar data wordt ingetyped moet dat gecontroleerd worden of het al bestaat, opgeslagen in de tabel contact en vervolgens Contact ID = Casemanager.Contact. Maar ik krijg Contact.ID niet opgeslagen in casemanager.
Gewijzigd op 01/01/1970 01:00:00 door Jacob Koornneef