Array fout
Parse error: parse error, unexpected T_WHILE, expecting ')' in D:\Webserver\Root\test_types.php on line 11
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Gewijzigd op 01/01/1970 01:00:00 door Raymen
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$aGames = array();
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
}
?>
$aGames = array();
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
}
?>
Ik zie trouwens ook niet in waarom je de key en de value van een entry in de array dezelfde waarde zou geven. Dat heb ik in bovenstaand voorbeeldje dus niet gedaan.
bedankt, het werkt :)
Notice: Undefined variable: aType in D:\Webserver\Root\test_types.php on line 27
Warning: Invalid argument supplied for foreach() in D:\Webserver\Root\test_types.php on line 27
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
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
<?php
require_once "maincore.php";
$query = "SELECT game,xgame,type FROM projects_types";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))
{
$aGames[$row['game']]= $row['game'];
}
echo "<select name=\"game\" class='textbox'>";
foreach($aGames AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
while($row = mysql_fetch_assoc($result))
{
$aType[$row['type']]= $row['type'];
}
;
echo "<select name=\"type\" class='textbox'>";
foreach($aType AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
?>
require_once "maincore.php";
$query = "SELECT game,xgame,type FROM projects_types";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_assoc($result))
{
$aGames[$row['game']]= $row['game'];
}
echo "<select name=\"game\" class='textbox'>";
foreach($aGames AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
while($row = mysql_fetch_assoc($result))
{
$aType[$row['type']]= $row['type'];
}
;
echo "<select name=\"type\" class='textbox'>";
foreach($aType AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$aGames = array();
$aType = array();
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
?>
$aGames = array();
$aType = array();
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
?>
En ik vraag me nog steeds af, waarom wil je de key van de array de zelfde waarde geven als de value? Dat is niet erg logisch ;-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
echo "<select name=\"game\" class='textbox'>";
foreach($aGames AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
echo "<select name=\"type\" class='textbox'>";
foreach($aType AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
[/code]
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
echo "<select name=\"game\" class='textbox'>";
foreach($aGames AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
echo "<select name=\"type\" class='textbox'>";
foreach($aType AS $gKey => $gValue)
{
echo "<option value='".$gKey."'";
echo ">".$gValue."</option>";
}
[/code]
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
echo '<select name="game" class="textbox">';
foreach($aGames AS $gValue)
{
echo '<option value="'.$gValue.'">'.$gValue.'</option>';
}
echo '</select>';
echo '<select name="type" class="textbox">';
foreach($aType AS $gValue)
{
echo '<option value="'.$gValue.'">'.$gValue.'</option>';
}
echo '</select>';
?>
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
echo '<select name="game" class="textbox">';
foreach($aGames AS $gValue)
{
echo '<option value="'.$gValue.'">'.$gValue.'</option>';
}
echo '</select>';
echo '<select name="type" class="textbox">';
foreach($aType AS $gValue)
{
echo '<option value="'.$gValue.'">'.$gValue.'</option>';
}
echo '</select>';
?>
Daarnaast kun je bij een echo ook beter enkele quotes gebruiken. Op die manier hoef je de dubbele quotes van de html niet te escapen.
ps. Je ziet ook dat ik $gKey verwijderd heb, die bestaat nu namelijk niet meer en was identiek aan $gValue. Dus overal staat nu $gValue.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
[/code]
apart te doen?, want bij game is er 1 meer dan bij type. en daardoor kunnen ze op {niks} klikken. en dat wil ik niet.
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
$aType[] = $row['type'];
}
[/code]
apart te doen?, want bij game is er 1 meer dan bij type. en daardoor kunnen ze op {niks} klikken. en dat wil ik niet.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type'])
{
$aType[] = $row['type'];
}
}
?>
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type'])
{
$aType[] = $row['type'];
}
}
?>
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if($row['type'] != NULL){
als het type niet leeg is, dan aan array toevoegen//
$aType[] = $row['type'];
}
}
?>
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if($row['type'] != NULL){
als het type niet leeg is, dan aan array toevoegen//
$aType[] = $row['type'];
}
}
?>
Eventueel kan je voor het type dan nog de functie array_unique eroverheen halen, om elk type maar 1 keer in de array te krijgen.
Blanche schreef op 25.11.2006 16:38:
Nee, apart kan niet. Maar je kunt het wel op een andere manier oplossen:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type'])
{
$aType[] = $row['type'];
}
}
?>
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type'])
{
$aType[] = $row['type'];
}
}
?>
werkt niet
@robert: die doet het wel en beide bedankt :)
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type']))
{
$aType[] = $row['type'];
}
}
?>
while($row = mysql_fetch_assoc($result))
{
$aGames[] = $row['game'];
if(!empty($row['type']))
{
$aType[] = $row['type'];
}
}
?>
Beide oplossingen zijn precies hetzelfde. empty(NULL); geeft immers TRUE terug.