Selecteren van variabelen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeroen van Merode

Jeroen van Merode

03/09/2010 11:28:46
Quote Anchor link
Beste heer/mevrouw,

Ik ben begin met een simpel php programma met de volgende tabellen.
tabel1: naam
tabel2: vakgebied
tabel3: naam / vakgebied

Nu wil ik doormiddel van het doorgeven van 3 vakgebieden kijken welke persoon alle drie de vakgebieden bezit.

Nu heb ik hiervoor een script geschreven maar krijg het nog niet voor elkaar om de juiste naam te laten zien. Zie script:

------------------

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
<?php

$vakgebied1
      = $_POST['vakgebied1'];
$vakgebied2      = $_POST['vakgebied2'];
$vakgebied3      = $_POST['vakgebied3'];

$query="SELECT * FROM vakgebiedwerknemer WHERE vakgebied='$vakgebied1'".
"ORDER BY naam";
$query2="SELECT * FROM vakgebiedwerknemer WHERE vakgebied='$vakgebied2'".
"ORDER BY naam";
$query3="SELECT * FROM vakgebiedwerknemer WHERE vakgebied='$vakgebied3'".
"ORDER BY naam";

$result=mysql_query($query);
$result2=mysql_query($query2);
$result3=mysql_query($query3);

$num=mysql_numrows($result);
$num2=mysql_numrows($result2);
$num3=mysql_numrows($result3);

mysql_close();

$i=0;
while ($i < $num) {

$naam=mysql_result($result,$i,"naam");
$vakgebied=mysql_result($result,$i,"vakgebied");
$niveau=mysql_result($result,$i,"niveau");

$i++;
}


$i=0;
while ($i < $num2) {

$naam2=mysql_result($result2,$i,"naam");
$vakgebied2=mysql_result($result2,$i,"vakgebied");
$niveau2=mysql_result($result2,$i,"niveau");

$i++;
}


$i=0;
while ($i < $num3) {

$naam3=mysql_result($result3,$i,"naam");
$vakgebied3=mysql_result($result3,$i,"vakgebied");
$niveau3=mysql_result($result3,$i,"niveau");

$i++;
}


if ($naam = $naam2 = $naam3)   // nu moet hier uitkomen welke namen dat zijn?? maar hoe dat moet is mij nog een raadsel.

{
$i=0;
while ($i < $num3) {

$naam3=mysql_result($result3,$i,"naam");
$vakgebied3=mysql_result($result3,$i,"vakgebied");
$niveau3=mysql_result($result3,$i,"niveau");

echo "$naam3 <br>";

$i++;
}
}


else
{
echo "helaas niemand met dit profiel";
}


?>


Bij voorbaat dank voor uw hulp.
 
PHP hulp

PHP hulp

18/04/2024 06:57:41
 
Niels K

Niels K

03/09/2010 11:32:22
Quote Anchor link
Goedemorgen,

Er zijn een aantal dingen waar je op moet letten:

- Formulier afhandeling
- Database normalisatie: 3 Queries is overbodig.
- Overzichtelijk programmeren: Tabs + documentatie
- Fouten afhandeling
- SQL + XSS injection
- Variabelen buiten quotes

Je krijgt zeker een lijst met foutmeldingen? Je sluit mysql al ( mysql_close ), en daarna vraag je nog informatie op.

Succes met het verbeteren hiervan.
 
Raymond van Os

raymond van Os

03/09/2010 13:11:26
Quote Anchor link
ik neem aan dat je gewoon een mysql database hebt.
probeer het daarom eens met het LEFT JOIN statment je kunt dit
gewoon in mysql testen. en kijk voor meer info eens op: http://www.w3schools.com/sql/sql_join_left.asp
of
http://phpweby.com/tutorials/mysql/32

Quote:

//wel ff aanpassen anders werkt het niet

("SELECT * FROM `gebruikers` LEFT JOIN groeplidmaatschap ON ( groeplidmaatschap.gebruiker_id = gebruikers.id ) LEFT JOIN groepen ON (
groeplidmaatschap.groep_id = groepen.id )";)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.