Hoe kan ik deze query's samenvoegen of werkend krijgen?
ik ben bezig met het maken van een script voor het toevoegen van wedstrijden, en als ze gespeeld zijn ook de uitslagen, en vervolgens dat de uitslagen worden getoond.
het script voor de uitslagen te tonen (uitslagen zelf staan er nog niet in)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?php
$query_uitslagen = mysql_query("SELECT * FROM wedstrijden, clubs WHERE type_id='1' and thuisploeg_id = club_id ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen)) {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["clubnaam"];
$query_uitslagen1 = mysql_query("SELECT * FROM wedstrijden, clubs WHERE type_id='1' and uitploeg_id = club_id ");
while ($row = mysql_fetch_assoc($query_uitslagen1)) {
$uitploeg = $row["clubnaam"];
}
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
$query_uitslagen = mysql_query("SELECT * FROM wedstrijden, clubs WHERE type_id='1' and thuisploeg_id = club_id ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen)) {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["clubnaam"];
$query_uitslagen1 = mysql_query("SELECT * FROM wedstrijden, clubs WHERE type_id='1' and uitploeg_id = club_id ");
while ($row = mysql_fetch_assoc($query_uitslagen1)) {
$uitploeg = $row["clubnaam"];
}
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
het resultaat: http://www.quickboysb5.nl/a6/uitslagen5.php
De kolom thuisploeg, datum en tijd zijn goed
Alleen de kolom uitploeg werkt niet.
Quick Boys A6 is de eerst in de database clubs en die pakt die daar steeds uit, dus het lijkt er op dat die niet kijkt naar het uitploeg_id
Mijn database zit als volgt in elkaar:
Database clubs: met velden club_id en clubnaam
Database wedstrijden: met velden wedstrijd_id, thuisploeg_id, uitploeg_id, datum en tijd.
Ik heb al vele mogelijkheden geprobeerd, maar niks lijkt te werken.
Zou iemand mij kunnen helpen?
Gewijzigd op 01/01/1970 01:00:00 door Michel
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
SELECT
(SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) AS thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) AS uit,
*
FROM
wedstrijden
WHERE
type_id = 1;
(SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) AS thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) AS uit,
*
FROM
wedstrijden
WHERE
type_id = 1;
Als je deze query fetch't heb je genoeg informatie dacht ik zo. Of var_dump anders je $rij eens die je fetcht, zie je precies wat je terugkrijgt.
heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$query_uitslagen = mysql_query("SELECT (SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) As thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) as uit, * FROM wedstrijden WHERE type_id='1' ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen)) {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["thuis"];
$uitploeg = $row["uit"];
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
$query_uitslagen = mysql_query("SELECT (SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) As thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) as uit, * FROM wedstrijden WHERE type_id='1' ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen)) {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["thuis"];
$uitploeg = $row["uit"];
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
maar dat werkt nog niet (klik maar op link uit het eerste bericht)
wat doe ik fout?
ik was ook toevallig op zoek naar hetzelfde op hetzelfde moment. De uitleg van Jezpur werkt bij mij wel met 1 kleine aanpassing.
"*" moet worden vervangen door "wedstrijden.*"
Het is handig om een sql af te sluiten met "or die (mysql_error())" zodat eventuele fouten direct zichtbaar worden.
Groet en succes,
Manuel
Jezpur, bedankt voor de tip. Ik kan nu ook verder!
heb nu dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
$query_uitslagen = mysql_query("SELECT (SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) As thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) as uit, wedstrijden.* FROM wedstrijden WHERE type_id='1' ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen) or die ( mysql_error( ) )); {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["thuis"];
$uitploeg = $row["uit"];
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
$query_uitslagen = mysql_query("SELECT (SELECT clubnaam FROM clubs WHERE club_id = thuisploeg_id) As thuis,
(SELECT clubnaam FROM clubs WHERE club_id = uitploeg_id) as uit, wedstrijden.* FROM wedstrijden WHERE type_id='1' ORDER BY datum DESC , tijd ");
while ($row = mysql_fetch_assoc($query_uitslagen) or die ( mysql_error( ) )); {
$datum = $row["datum"];
$datum2=explode("-",$datum);
$NLdate=$datum2[2]."-".$datum2[1]."-".$datum2[0];
$tijd = $row["tijd"];
$thuisploeg = $row["thuis"];
$uitploeg = $row["uit"];
echo "<tr><td>".$thuisploeg."</td><td>".$uitploeg."</td><td> ".$NLdate."</td><td> ".$tijd."</td></tr>";
}
?>
krijg nu nog steeds geen resultaten terwijl dit dan toch zou moeten werken
hier nog de 2 betreffende databases:
- http://www.quickboysb5.nl/a6/tabelinhoud.php?&waarde=wedstrijden
- http://www.quickboysb5.nl/a6/tabelinhoud.php?&waarde=clubs
kan iemand mij helpen
Edit: je query zou je bijvoorbeeld zo kunnen uitschrijven:
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
<?php
[code]<?php
$sql = "
SELECT
(
SELECT clubnaam
FROM clubs
WHERE club_id = thuisploeg_id
)
As thuis,
(
SELECT clubnaam
FROM clubs
WHERE club_id = uitploeg_id
)
AS uit,
wedstrijden.*
FROM wedstrijden
WHERE type_id = 1
ORDER BY datum DESC, tijd ASC
";
?>
?>
[code]<?php
$sql = "
SELECT
(
SELECT clubnaam
FROM clubs
WHERE club_id = thuisploeg_id
)
As thuis,
(
SELECT clubnaam
FROM clubs
WHERE club_id = uitploeg_id
)
AS uit,
wedstrijden.*
FROM wedstrijden
WHERE type_id = 1
ORDER BY datum DESC, tijd ASC
";
?>
?>
Let op dat bij WHERE type_id = 1 de enkele quotes om de 1 verdwenen zijn. Je wilt namelijk integers vergelijken en geen strings.
Gewijzigd op 01/01/1970 01:00:00 door Jan Koehoorn
EDIT: het is toch gelukt, iedereen bedankt voor de hulp!
Gewijzigd op 01/01/1970 01:00:00 door Michel