Problem in der if-Schleife |
Queeni
» Tennis?!
 

Dabei seit: 17.08.2009
Beiträge: 1.721
Herkunft: Deutschland (ERH) Name: Susu
 |
|
Problem in der if-Schleife |
 |
Hey ihr
Ich tüftle jetzt schon seit über 48 Stunden an einer unglaublich verschachtelten if-else-while-Schleifen-Konstruktion.
Sinn ist, die angebotenen Jobs aus einer Tabelle auszulesen und auszugeben.
Ist keiner eingeloggt, wird unter der Stelle nichts angezeigt.
Ist jemand eingeloggt, der keinen Job hat (jobid=0), wird die Möglichkeit angeboten dein angezeigten Job anzunehmen.
Ist jemand eingeloggt, der einen Job hat (jobid!=0), wird auf das Kontrollzentrum verwiesen, wo man den aktuellen Job kündigen kann.
Dummerweise, wenn jemand eingeloggt ist, der keinen Job hat, wird nur beim ersten Jobangebot der Button zum Jobannehmen angezeigt, bei den weiteren leider nicht. Siehe hier.
So langsam verliere ich den Überblick und die Nerven, vielleicht könnt ihr mir helfen. Ich hoffe die Kommentare erklären alles
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:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
|
<?php
include("db.php");
include('navi.php');
$Ergebnis = mysql_query("SELECT * FROM `jobs` ");
$nick = $_SESSION['Nickname'];
$Session = mysql_query("SELECT * FROM `Mitglieder` WHERE Nickname = '$nick'");
//Gibt es Jobs?
if (@mysql_num_rows($Ergebnis) == 0) {
echo "Es gibt zur Zeit keine Jobs.";
}
//Wenn ja:
else {
//Wenn niemand eingeloggt ist:
if(!isset($_SESSION['Nickname'])) {
//Alle eingetragenen Jobs anzeigen
while($Data = mysql_fetch_array($Ergebnis)) {
$Angestellte = mysql_query("SELECT * FROM `Mitglieder` WHERE jobid = '$Data[id]'");
$Zahl = @mysql_num_rows($Angestellte);
echo "
<p><table align='center' width='600px'>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Bezeichnung:</B></TD>
<TD VALIGN='TOP'>$Data[bezeichnung]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Unternehmen:</B></TD>
<TD VALIGN='TOP'>$Data[unternehmen]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Beschreibung:</B></TD>
<TD valign='top'>$Data[beschreibung]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Voraussetzungen:</B></TD>
<TD valign='top'>$Data[voraussetzungen]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Arbeitszeit:</B></TD>
<TD valign='top'>$Data[arbeitszeit]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Bezahlung:</B></TD>
<TD valign='top'>$Data[bezahlung] € monatlich</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Stellenangebot:</B></TD>
<TD valign='top'>$Zahl / $Data[stellenangebot] vergeben<br>an: ";
//Alle Angestellten auflisten
while($Data2 = mysql_fetch_array($Angestellte)) {
echo "$Data2[Nickname]<br>";
}
echo "
</TD>
</TR>
</TABLE></p>";
}
}
//Wenn jemand eingeloggt ist
else {
//Alle eingetragenen Jobs ausgeben
while($Data = mysql_fetch_array($Ergebnis)) {
$Angestellte = mysql_query("SELECT * FROM `Mitglieder` WHERE jobid = '$Data[id]'");
$Zahl = @mysql_num_rows($Angestellte);
echo "
<p><table align='center' width='600px'>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Bezeichnung:</B></TD>
<TD VALIGN='TOP'>$Data[bezeichnung]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Unternehmen:</B></TD>
<TD VALIGN='TOP'>$Data[unternehmen]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Beschreibung:</B></TD>
<TD valign='top'>$Data[beschreibung]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Voraussetzungen:</B></TD>
<TD valign='top'>$Data[voraussetzungen]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Arbeitszeit:</B></TD>
<TD valign='top'>$Data[arbeitszeit]</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Bezahlung:</B></TD>
<TD valign='top'>$Data[bezahlung] € monatlich</TD>
</TR>
<TR>
<TD ALIGN='RIGHT' VALIGN='TOP'><B>Stellenangebot:</B></TD>
<TD valign='top'>$Zahl / $Data[stellenangebot] vergeben<br>an: ";
//Alle Angestellten ausgeben
while($Data2 = mysql_fetch_array($Angestellte)) {
echo "$Data2[Nickname]<br>";
}
echo "
</TD>
</TR>";
//Wenn noch Stellen frei sind:
if($Zahl<$Data[stellenangebot])
{
echo "<tr><td></td><td>";
//Wenn Session nichts liefert
if(@mysql_num_rows($Session) == 0) {
echo "Fehler.</td></tr>";
}
else {
//Die Mitgliederspalte des Eingeloggten aussuchen:
while($Data3 = mysql_fetch_array($Session)) {
//Wenn der Eingeloggte noch keinen Job hat:
if($Data3['jobid'] == 0)
{
echo "<input type="button" onclick="window.location.href = '/job_annehmen.php?id=$Data[id]';" value="$Data[bezeichnung] werden">";
}
//Wenn der Eingeloggte schon einen Job hat:
else {
echo "Du hast schon einen Job.
Um einen neuen anzunehmen, kündige deinen alten im <a href='kontrollzentrum.php'>Kontrollzentrum</a>.";
}
}
echo "</td></tr>";
}
}
//Wenn keine Stellen frei sind:
else {
echo "<tr><td></td><td>Alle Stellen sind besetzt.</td></tr>";
}
echo "
</TABLE></p><br><br>";
}
}
}
?>
<?php
include('footer.php'); ?>
|
|
Wie gesagt, das Problem ist unter "Wenn jemand eingeloggt ist" und "Wenn der eingeloggte noch keinen Job hat".
Liebe Grüße und vielen Dank an alle dies sich mal anschauen
__________________
Not sure if...
|
|
03.08.2012 17:53 |
|
|
Queeni
» Tennis?!
 

Dabei seit: 17.08.2009
Beiträge: 1.721
Herkunft: Deutschland (ERH) Name: Susu
Themenstarter
 |
|
*schieb*
Konnte immernoch nicht behoben werden
__________________
Not sure if...
|
|
07.08.2012 21:53 |
|
|
Leila

Mitglied
 
Dabei seit: 09.02.2005
Beiträge: 12.987
 |
|
Die Variablen hießen überall $Data[xy] nur in der if-Abfrage heißt es $Data['xy']
|
|
08.08.2012 09:38 |
|
|
Queeni
» Tennis?!
 

Dabei seit: 17.08.2009
Beiträge: 1.721
Herkunft: Deutschland (ERH) Name: Susu
Themenstarter
 |
|
²Leila: Jetzt wo dus sagst
da war ich wieder sehr ordentlich...
²oldgirl: Nochmal für php-unerfahrene, also alle $Data[xy] zu $Data["xy"]? Also bzw dann in echos eben \", oder?
__________________
Not sure if...
|
|
08.08.2012 20:48 |
|
|
WuLana

...ehemals oldgirl
 

Dabei seit: 01.07.2008
Beiträge: 802
Herkunft: Niederösterreich
 |
|
bei zahlen:
$data[123];
zeichenketten oder einzelne Zeichen:
$data[' ']; oder $data[" "];
das "\" (backslash) wird eig nur dann gebraucht wenn man das zeichen "deaktivieren" möchte an der stelle ansonsten ganz normal
wenn du mehr über datentypen wissen willst kann ichs dir gern per pn erklärn das wird sonst bissl langwierig und ist teilweise in php nicht notwendig aber vorteilhaft
__________________
|
|
09.08.2012 23:19 |
|
|
Queeni
» Tennis?!
 

Dabei seit: 17.08.2009
Beiträge: 1.721
Herkunft: Deutschland (ERH) Name: Susu
Themenstarter
 |
|
Danke für das Angebot
Ich bin jetzt für 10 Tage weg, kann ich dir danach ne PN schreiben und auf dein Angebot zurück kommen? Dann probier ich auch aus ob das den Fehler behebt
__________________
Not sure if...
|
|
11.08.2012 10:41 |
|
|
WuLana

...ehemals oldgirl
 

Dabei seit: 01.07.2008
Beiträge: 802
Herkunft: Niederösterreich
 |
|
ich werd in 10 tagen schonn icht hier verschwinden
also für Fragen bin ich immer da
__________________
|
|
11.08.2012 11:46 |
|
|
|
Impressum
|