unieke gegevens in dropdown
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?
include_once("safe_admin.php");
if(isset($_POST['submit']))
{}
else{
$sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$competitieid = htmlspecialchars($rij->competitieid);
$sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='".$competitieid."' order by land";
$query2 = mysql_query($sql2);
$aantalrij = mysql_num_rows($query2);
?>
include_once("safe_admin.php");
if(isset($_POST['submit']))
{}
else{
$sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
$query = mysql_query($sql);
$rij = mysql_fetch_object($query);
$competitieid = htmlspecialchars($rij->competitieid);
$sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='".$competitieid."' order by land";
$query2 = mysql_query($sql2);
$aantalrij = mysql_num_rows($query2);
?>
<form method="POST" action="test.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
for ($i=1; $i<=$aantalrij; $i++){
$row = mysql_fetch_object($query);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
for ($i=1; $i<=$aantalrij; $i++){
$row = mysql_fetch_object($query);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
</select>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
bijv $query is geen query maar een resultset
doe ook aaninspringen en foutafhandeling, dan spot je je fout direct
Vind de fout niet
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
<?
include_once("safe_admin.php");
if(isset($_POST['submit']))
{
}
else{
$sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
$result = mysql_query($sql);
$rij = mysql_fetch_object($result);
$competitieid = htmlspecialchars($rij->competitieid);
$sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='". $competitieid."' order by land";
$result2 = mysql_query($sql2);
$aantalrij = mysql_num_rows($result2);
?>
include_once("safe_admin.php");
if(isset($_POST['submit']))
{
}
else{
$sql = "SELECT DISTINCT competitieid FROM voetbal_wedstrijden";
$result = mysql_query($sql);
$rij = mysql_fetch_object($result);
$competitieid = htmlspecialchars($rij->competitieid);
$sql2 = "SELECT competitieid,competitie,land FROM voetbal_competities WHERE competitieid='". $competitieid."' order by land";
$result2 = mysql_query($sql2);
$aantalrij = mysql_num_rows($result2);
?>
<form method="POST" action="test.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
for ($i=1; $i<=$aantalrij; $i++)
{
$row = mysql_fetch_object($result);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
for ($i=1; $i<=$aantalrij; $i++)
{
$row = mysql_fetch_object($result);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
</select>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
Beter nog schrijf je alles in 1 query. Je selecteert de unieke id's uit de ene tabel, en zoekt met dezelfde query de bijbehorende gegevens uit de andere tabel erbij. Dat zal iets worden als:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
SELECT
w.competitieid,
c.competitie,
c.land
FROM
voetbal_wedstrijden AS w
LEFT JOIN
voetbal_competities AS c
ON
w.competitieid = c.competitieid
GROUP BY
w.competitieid
w.competitieid,
c.competitie,
c.land
FROM
voetbal_wedstrijden AS w
LEFT JOIN
voetbal_competities AS c
ON
w.competitieid = c.competitieid
GROUP BY
w.competitieid
Query is niet getest, maar zoiets zal het wel worden...
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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?
include_once("safe_admin.php");
if(isset($_POST['submit']))
{
}
else{
$sql = "SELECT
w.competitieid,
c.competitie,
c.land
FROM
voetbal_wedstrijden AS w
LEFT JOIN
voetbal_competities AS c
ON
w.competitieid = c.competitieid
GROUP BY w.competitieid";
$res = mysql_query($sql);
$aantalrij = mysql_num_rows($res);
?>
include_once("safe_admin.php");
if(isset($_POST['submit']))
{
}
else{
$sql = "SELECT
w.competitieid,
c.competitie,
c.land
FROM
voetbal_wedstrijden AS w
LEFT JOIN
voetbal_competities AS c
ON
w.competitieid = c.competitieid
GROUP BY w.competitieid";
$res = mysql_query($sql);
$aantalrij = mysql_num_rows($res);
?>
<form method="POST" action="test3.php">
Competitie<br>
<select name="Competitieid" size="1">
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?
for ($i=1; $i<=$aantalrij; $i++)
{
$row = mysql_fetch_array($res);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
for ($i=1; $i<=$aantalrij; $i++)
{
$row = mysql_fetch_array($res);
$competitieid = htmlspecialchars($row->competitieid);
$competitie = htmlspecialchars($row->competitie);
$land = htmlspecialchars($row->land);
echo "<option value=$competitieid>$competitie($land)</option>";
}
?>
</select><br>
<input type="submit" value="Verzenden" name="submit"><input type="reset" value="Invoer wissen" name="reset"></form>
Gewijzigd op 01/01/1970 01:00:00 door klaas
Wat was de oplossing?
De quotes en had ergens mysql_fetch_array in plaats van mysql_fetch_object