Functie werkt niet
Ik heb de onderstaande code gemaakt maar nou krijg ik niets te zien in mijn list/menu die ik erin heb staan, ik krijg geen errors te zien verder.
Weet iemand hier meschien een oplossing voor?
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
56
57
58
59
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
<?php
function report_battle(){
$sql= "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid
AND
unitmembers.unitid = units.id
AND
users.id = " . $_SESSION['id'] . "
AND
singelunits.userid = " . $_SESSION['id'];
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_array ($res)) {
tableheader("<font class='menutitle'>Report Battle</font>");
echo'<form action="battle.php?action=report1" method="post" name="report">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><div align="center">Select Team: </div></td>
<td width="50%"><div align="center">
<select name="userteams" id="userteams">
<option value="' . $list->name . '">' . $list->name . '</option>
</select>
</div></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="report1" type="submit" id="report1" value="Submit" />
</tr>
</table>
</form>';
tablefooter();
bottum();
}
}
?>
function report_battle(){
$sql= "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid
AND
unitmembers.unitid = units.id
AND
users.id = " . $_SESSION['id'] . "
AND
singelunits.userid = " . $_SESSION['id'];
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_array ($res)) {
tableheader("<font class='menutitle'>Report Battle</font>");
echo'<form action="battle.php?action=report1" method="post" name="report">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%"><div align="center">Select Team: </div></td>
<td width="50%"><div align="center">
<select name="userteams" id="userteams">
<option value="' . $list->name . '">' . $list->name . '</option>
</select>
</div></td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input name="report1" type="submit" id="report1" value="Submit" />
</tr>
</table>
</form>';
tablefooter();
bottum();
}
}
?>
Gewijzigd op 19/02/2006 21:01:00 door Robin Peters
(wel even de sessie-vars vervangen door een waarde die deze zou kunnen hebben)
AND
users.id = singelunits.userid
AND
singelunits.userid = " . $_SESSION['id']";
je " staan sowieso verkeerd
dit
Code (php)
1
2
3
4
2
3
4
<?php
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_array ($res)) {
?>
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_array ($res)) {
?>
dit
Code (php)
1
2
3
4
2
3
4
<?php
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_object ($res)) {
?>
$res = mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_object ($res)) {
?>
Dan geeft hij de inhoud van singelunits aan met het goede id maar hij geeft de ander dan niet aan.
-------------
EDIT: Hij moet dus de singelunits (naam) weeregeven en Units (naam).
Gewijzigd op 19/02/2006 21:27:00 door Robin Peters
Klaasjan:
probeer dit eens
AND
users.id = singelunits.userid
AND
singelunits.userid = " . $_SESSION['id']";
je " staan sowieso verkeerd
AND
users.id = singelunits.userid
AND
singelunits.userid = " . $_SESSION['id']";
je " staan sowieso verkeerd
Je mag er van uit gaan dat userid een INT is, dus dan kun je gerust
singelunits.userid = " . $_SESSION['id'];
doen.
@jan je hebt gelijk
test je query eerst met de allereerste where conditie.
Werkt hij, breidt hem dan uit met de tweede, enz.
Dan krijg je in ieder geval een idee waar de fout zit.
Oke gaa ik dat even proberen, bedankt
Jan:
Wat je kunt doen:
test je query eerst met de allereerste where conditie.
Werkt hij, breidt hem dan uit met de tweede, enz.
Dan krijg je in ieder geval een idee waar de fout zit.
test je query eerst met de allereerste where conditie.
Werkt hij, breidt hem dan uit met de tweede, enz.
Dan krijg je in ieder geval een idee waar de fout zit.
Als ik vanaf de eerste WHERE conditie begin word er niets weeregeven, Bij andere ook niet.
WHERE
users.id = unitmembers.userid
krijg je al niets?
Gewijzigd op 19/02/2006 22:50:00 door Robin Peters
Heb je in phpMyAdmin de tabellen al gecheckt? Voer de query daar eens uit in de simpele vorm?
Ik heb dat even gechekt en dan worden ze wel weergegeven als ik de query uitvoer in phpmyadmin.
Zou dit aan de rest van de code kunnen liggen?
Is er meschien nog een andere manier om het result uiot de database te halen? meschien werkt die wel.
option value="' . $list->name . '">' . $list->name . '</option
niet zijn:
option value="' . $list->units.name . '">' . $list->units.name . '</option
?
Robin:
Zou dit aan de rest van de code kunnen liggen?
Probeer het eens met deze "kale" code? Wat zegt hij dan?
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
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
<?php
function report_battle()
{
$sql = "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid";
if (!($res = mysql_query($sql))) {
trigger_error(mysql_error());
} else {
while ($row = mysql_fetch_array($res)) {
// echo $row
}
}
?>
function report_battle()
{
$sql = "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid";
if (!($res = mysql_query($sql))) {
trigger_error(mysql_error());
} else {
while ($row = mysql_fetch_array($res)) {
// echo $row
}
}
?>
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
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
<?php
require_once("layout.php");
require_once("./config/config.php");
top();
function report_battle()
{
$sql = "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid
AND
unitmembers.unitid = units.id
AND
users.id = " . $_SESSION['id'] . "
AND
singelunits.userid = " . $_SESSION['id'];
if (!($res = mysql_query($sql))) {
trigger_error(mysql_error());
} else {
while ($row = mysql_fetch_array($res)) {
echo $row['name'] ;
}
}
}
?>
require_once("layout.php");
require_once("./config/config.php");
top();
function report_battle()
{
$sql = "
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
FROM
users,
unitmembers,
units,
singelunits
WHERE
users.id = unitmembers.userid
AND
unitmembers.unitid = units.id
AND
users.id = " . $_SESSION['id'] . "
AND
singelunits.userid = " . $_SESSION['id'];
if (!($res = mysql_query($sql))) {
trigger_error(mysql_error());
} else {
while ($row = mysql_fetch_array($res)) {
echo $row['name'] ;
}
}
}
?>
Dan geeft hij alleen de inhoud van de tabbel singelunits weer. maar hij moet ook nog de inhoud van table units weergeven.
Iemand nog een idee?
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
?>
SELECT
users.id,
unitmembers.userid,
unitmembers.unitid,
units.name,
units.id,
singelunits.userid,
singelunits.name
?>
later in je script in de while loop doe je dit:
echo $row['name'];
maar dan weet PHP niet of je units.name of singelunits.name bedoelt. Hij pakt blijkbaar de laatste. Je moet ze dus verschillende namen gaan toekennen, op deze manier:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
SELECT
users.id AS user_id,
unitmembers.userid AS unitmembers_userid,
unitmembers.unitid AS unitmembers_unitid,
units.name AS units_name,
units.id AS units_id,
singelunits.userid AS singelunits_userid,
singelunits.name AS singelunits_name
?>
SELECT
users.id AS user_id,
unitmembers.userid AS unitmembers_userid,
unitmembers.unitid AS unitmembers_unitid,
units.name AS units_name,
units.id AS units_id,
singelunits.userid AS singelunits_userid,
singelunits.name AS singelunits_name
?>
in je while loop doe je dan:
echo $row['units_name']
echo $row['singelunits_name']
Jan bedankt, Het werkt!!!!!!