Functie werkt niet

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: 1 2 volgende »

Robin Peters

Robin Peters

19/02/2006 21:00:00
Quote Anchor link
Hallo,

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)
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
<?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">&nbsp;</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
 
PHP hulp

PHP hulp

25/11/2024 00:27:58
 
Jelmer -

Jelmer -

19/02/2006 21:13:00
Quote Anchor link
Waneer je de query kaal en zonder functie eromheen (bijvoorbeeld door hem in PHPMyAdmin te duwen) uitvoert, krijg je dan wel resultaten?

(wel even de sessie-vars vervangen door een waarde die deze zou kunnen hebben)
 
Klaasjan Boven

Klaasjan Boven

19/02/2006 21:13:00
Quote Anchor link
probeer dit eens

AND
users.id = singelunits.userid

AND
singelunits.userid = " . $_SESSION['id']";

je " staan sowieso verkeerd
 
Robin Peters

Robin Peters

19/02/2006 21:24:00
Quote Anchor link
Geen van beide werkt, maar als ik van

dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$res
= mysql_query($sql) or die (mysql_error());
while ($list = mysql_fetch_array ($res)) {
?>


dit
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
$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
 
Jan Koehoorn

Jan Koehoorn

19/02/2006 21:33:00
Quote Anchor link
Klaasjan:
probeer dit eens

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.
 
Klaasjan Boven

Klaasjan Boven

19/02/2006 21:38:00
Quote Anchor link
@jan je hebt gelijk
 
Jan Koehoorn

Jan Koehoorn

19/02/2006 21:39:00
Quote Anchor link
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.
 
Robin Peters

Robin Peters

19/02/2006 22:29:00
Quote Anchor link
Oke gaa ik dat even proberen, bedankt
 
Robin Peters

Robin Peters

19/02/2006 22:32:00
Quote Anchor link
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.


Als ik vanaf de eerste WHERE conditie begin word er niets weeregeven, Bij andere ook niet.
 
Jan Koehoorn

Jan Koehoorn

19/02/2006 22:36:00
Quote Anchor link
Dus bij alleen maar:

WHERE
users.id = unitmembers.userid

krijg je al niets?
 
Robin Peters

Robin Peters

19/02/2006 22:49:00
Quote Anchor link
inderdaad
Gewijzigd op 19/02/2006 22:50:00 door Robin Peters
 
Jan Koehoorn

Jan Koehoorn

19/02/2006 23:04:00
Quote Anchor link
Heb je in phpMyAdmin de tabellen al gecheckt? Voer de query daar eens uit in de simpele vorm?
 
Robin Peters

Robin Peters

19/02/2006 23:16:00
Quote Anchor link
Ik heb dat even gechekt en dan worden ze wel weergegeven als ik de query uitvoer in phpmyadmin.
 
Robin Peters

Robin Peters

20/02/2006 09:32:00
Quote Anchor link
Zou dit aan de rest van de code kunnen liggen?
 
Robin Peters

Robin Peters

20/02/2006 12:13:00
Quote Anchor link
Is er meschien nog een andere manier om het result uiot de database te halen? meschien werkt die wel.
 
Klaasjan Boven

Klaasjan Boven

20/02/2006 12:31:00
Quote Anchor link
moet dit:
option value="' . $list->name . '">' . $list->name . '</option

niet zijn:
option value="' . $list->units.name . '">' . $list->units.name . '</option

?
 
Jan Koehoorn

Jan Koehoorn

20/02/2006 12:39:00
Quote Anchor link
Robin:
Zou dit aan de rest van de code kunnen liggen?


Probeer het eens met deze "kale" code? Wat zegt hij dan?

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
<?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
            }
        }

?>
 
Robin Peters

Robin Peters

20/02/2006 16:19:00
Quote Anchor link
Als ik het zo doe:

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
<?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'] ;
                
            }
        }
        }

        
?>


Dan geeft hij alleen de inhoud van de tabbel singelunits weer. maar hij moet ook nog de inhoud van table units weergeven.
 
Robin Peters

Robin Peters

21/02/2006 19:18:00
Quote Anchor link
Sorry voor de bump, maar ik heb het nog steeds niet werkend.

Iemand nog een idee?
 
Jan Koehoorn

Jan Koehoorn

21/02/2006 23:12:00
Quote Anchor link
MySQL raakt in de war omdat je dit doet:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>


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)
PHP script in nieuw venster Selecteer het PHP script
1
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
?>


in je while loop doe je dan:

echo $row['units_name']
echo $row['singelunits_name']
 
Robin Peters

Robin Peters

22/02/2006 09:32:00
Quote Anchor link
Jan bedankt, Het werkt!!!!!!
 

Pagina: 1 2 volgende »



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.