Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[PHP] if else loop loopt vast

Pagina: 1
Acties:
  • 118 views sinds 30-01-2008

  • Matthijs1982
  • Registratie: Augustus 2005
  • Laatst online: 02-06-2021
Ik heb onderstaand script voor een MSN Bot. Op zich werkt alles goed. Nu is het zo dat alles goed werkt tot aan de keuze personeel. Alles wat daaronder staat geeft dus al het personeel weer.
Als ik bijvoorbeeld het rooster opvraag of Hoi intyp, krijg ik alle gegevens van de query werknemers te zien. De variabelen cijfer en nieuws werken wel.

Weet iemand wat er verkeerd gaat?

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
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
<?php 
include ("connect2.php"); 

$naam = $_GET["nick"]; 
$emailadres = $_GET["email"]; 
$msg = $_GET["msg"]; 
$msg = strtolower($msg); 

$query_studentnummer = "SELECT studentnummer FROM student WHERE msnadres = '$emailadres'"; 
$result_studentnummer = mysql_query($query_studentnummer) or die (); 
$row_studentnummer = mysql_fetch_array($result_studentnummer); 
$studentnummer = $row_studentnummer[studentnummer]; 

$array = explode(" ", $msg); 
$keuze = $array[0]; 
$keuze1 = $array[1]; 
$keuze2 = $array[2]; 

if ($keuze == 'cijfer' || $keuze == 'cijfers' || $keuze == 'punt' || $keuze == 'punte' || $keuze == 'punten'){ 
$query_cijfers = "SELECT cijfers.cijfer, cijfers.studentnummer, vakken.naam, vakken.vak_id, cijfers.vak_id FROM cijfers, vakken WHERE vakken.vak_id = cijfers.vak_id AND vakken.naam LIKE '$keuze1'"; 
$result_cijfers = mysql_query($query_cijfers) or die(mysql_error); 

if (mysql_num_rows($result_cijfers) == ""){ 
echo "Het punt voor $keuze1 $keuze2 is nog niet bekend."; 
exit(); 
} 
else { 

$row_cijfers = mysql_fetch_array($result_cijfers); 

echo "Je had voor $row_cijfers[naam] een $row_cijfers[cijfer]"; 
exit(); 
} //einde wel cijfers gevonden 
} //einde if keuze=cijfer 

if ($keuze == 'nieuws' || $keuze == 'news' || $keuze == 'nieuw' || $keuze == 'news'){ 
$query_nieuws = "SELECT titel, link FROM nieuws ORDER BY nieuws_id desc LIMIT 0, 5"; 
$result_nieuws = mysql_query($query_nieuws); 

echo "Het laatste nieuws vind je via onderstaande links:\r"; 
while ($row_nieuws = mysql_fetch_array($result_nieuws)){ 
echo "$row_nieuws[titel]: $row_nieuws[link]\r"; 
} 
exit(); 
} //einde if msg=nieuws 

if ($keuze == 'personeel' || $keuze == 'docent' || $keuze == 'docente' || $keuze == 'leerkracht' || $keuze = 'staff' || $keuze = 'werknemer' || $keuze = '$werknemers'){ 
$query_personeel = "SELECT * FROM werknemers WHERE naam LIKE '%$keuze1%'"; 
$result_personeel = mysql_query($query_personeel); 

while ($row_personeel = mysql_fetch_array($result_personeel)){ 
echo "$row_personeel[naam]\r$row_personeel[functie]\r$row_personeel[onderdeel]\r$row_personeel[emailadres]\r$row_personeel[telefoon]\r$row_personeel[gebouw]\r$row_personeel[kamer]"; 
} 
exit(); 
} //einde if=personeel 

if ($keuze == 'rooster' || $keuze == 'les' || $keuze == 'lessen' || $keuze == 'waar heb ik les' || $keuze = 'waar heb ik nu les?' || $keuze = 'waar heb ik les?' || $keuze = 'les'){ 
$query_rooster = "SELECT student.studentnummer, student.opleiding, departments.longname, departments.department_id, classes.class_department_id, 
classes.class_id, lessons.lesson_id, lessons.periods, lessons.lesson_subject_id, lessons.lesson_teacher_id, lessons.lesson_classes_id, 
rooms.room_id, rooms.longname, rooms.text, rooms.room_department_id, subjects.subject_id, subjects.longname, teachers.teacher_id, 
teachers.surname, timeperiods.timeperiod_id, timeperiods.day, timeperiods.period, timeperiods.starttime, timeperiods.endtime, 
times.lesson_id, times.assigned_day, times.assigned_period, times.assigned_room_id FROM student, departments, classes, lessons, rooms, 
subjects, teachers, timeperiods, times WHERE student.studentummer = '$studentnummer' AND 
student.opleiding = departments.longname AND 
departments.department_id = rooms.room_department_id AND 
lessons.lesson_subject_id = subjects.subject_id AND 
classes.class_department_id = departments.department_id AND 
classes.class_id = lessons.lesson_classes_id AND 
lesson.lesson_teacher_id = teachers.teachers.teacher_id AND 
lessons.periods = timeperiods.period AND 
timeperiods.day = times.assigned_day AND 
timeperiods.period = times.assigned_period"; 
$result_rooster = mysql_query($query_rooster); 

echo "Je rooster van deze week is:\r"; 
while ($row_rooster = mysql_fetch_array($result_rooster)){ 
echo "Dag: $row_rooster[day]\r 
Lesuur: $row_rooster[period]\r 
Vak: $row_rooster[surname]\r 
Tijd: $row_rooster[starttime] - $row_rooster[endtime]\r 
Docent: $row_rooster[subject_id]\r\r"; 
} 
exit(); 
} 

else { 

$woorden = array( 
    'hoi' => 'Hoi', 
    'doei' => 'Tot ziens', 
    'later' => 'Tot ziens', 
    'laters' => 'Tot ziens', 
    'laterz' => 'Tot ziens', 
    'haije' => 'Tot ziens', 
    'hoije' => 'Tot ziens', 
    'tot ziens' => 'Tot ziens', 
    'goodbye' => 'Tot ziens', 
    'bye' => 'Tot ziens', 
    'bye bye' => 'Tot ziens', 
    'ciao' => 'Tot ziens', 
    'hallo' => 'Hallo', 
    'hey' => 'Hoi', 
    'psv' => 'Wat hebben ze gemaakt?', 
    'feyenoord' => 'Mooie club he', 
    'ajax' => 'gadver', 
    'hoest' => 'Gezondheid', 
    'haha' => 'Wat is er zo leuk?'); 
$anders = 'Wat bedoel je? Kan je je iets duidelijker omschrijven?'; 

$msg = str_replace(array(':', ')', '(', ';', '\'', '"'), '', strip_tags(strtolower($_GET['msg']))); 
if(array_key_exists($msg, $woorden)) { 
    echo "$woorden[$msg]"; 
    exit(); 
} 
else { 
echo "$anders"; 
exit(); 
} 
} 
?> 

  • whoami
  • Registratie: December 2000
  • Laatst online: 11:08
Hoi,
Mag ik je vragen dat je eerst eens zelf de moeite doet om je code te debuggen en na te gaan waar exact het fout gaat ?
Het heeft geen zin om hier 120 regels code te dumpen, met een vage omschrijving van het probleem in 3 lijntjes ofzo, en dan de ijdele hoop hebben dat iemand zo goed zal zijn om jouw code voor jou eens te debuggen.
Het is de bedoeling dat je, als programmeur, je code zelf kunt debuggen. We willen je hier best helpen, maar PRG / GOT is geen debug-m'n-code service. :)

en een if/else is geen loop. :)

[ Voor 4% gewijzigd door whoami op 21-01-2008 12:23 ]

https://fgheysels.github.io/


Dit topic is gesloten.