in_array lijkt niet te werken
Ik krijg het niet voor elkaar om, te checken of een id, of er een getal in een array voorkomt.
Labels komt voort uit een ander gegeven, en is een kleine rits van getallen, gescheiden door een komma. bijv. 1,2,3,4 etc.
Zie de functie hieronder,
Bij voorbaat dank voor uw hulp,
wouter
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
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
<?php
function label($currentpage,$labels)
{
$qry = mysql_query("SELECT * FROM `label` ORDER BY `id` ASC");
$rws = mysql_num_rows($qry);
if ($rws > 0 )
{
$x = 1 ;
$row = mysql_fetch_assoc($qry);
$html = "<p>Selecteer een label.</p>";
do{
if (!is_array($labels)) $labels = array($labels);
if (is_array($labels))
{
$string = $row['id'];
if (in_array($string,$labels,true)) $checked = "CHECKED" ;
}
$html .= "<div class=\"label\">";
$html .= "<label><input type=\"checkbox\" value=\"".$row['id']."\" name=\"labelselect$x\" ".@$checked." />";
$qry1 = mysql_query("SELECT * FROM `metadata` WHERE `label` = " . $row['id'] . " ORDER BY `lang` ASC ");
$rws1 = mysql_num_rows($qry1);
if ($rws1 > 0 )
{
$output = "";
$row1 = mysql_fetch_assoc($qry1);
do{
$output .= $row1['title'] . " / ";
}while ($row1 = mysql_fetch_assoc($qry1));
}
$html .= rtrim($output, " / ");
$html .= "<input type=\"hidden\" name=\"labelid\" value=\"".$row['id']."\" />";
$html .= "<input type=\"submit\" class=\"delete\" name=\"dellabel\" value=\" \" />";
$html .= "</label></div>";
$x++;
} while($row= mysql_fetch_assoc($qry));
$html .= "<span style=\"dispay:block; position:relative; clear: both; float:left; \" >";
$html .= langselect();
$html .= "</span>";
$html .= "<input type=\"hidden\" name=\"labels\" value=\"$x\" />";
}
else $html = langselect();
return $html ;
}
?>
function label($currentpage,$labels)
{
$qry = mysql_query("SELECT * FROM `label` ORDER BY `id` ASC");
$rws = mysql_num_rows($qry);
if ($rws > 0 )
{
$x = 1 ;
$row = mysql_fetch_assoc($qry);
$html = "<p>Selecteer een label.</p>";
do{
if (!is_array($labels)) $labels = array($labels);
if (is_array($labels))
{
$string = $row['id'];
if (in_array($string,$labels,true)) $checked = "CHECKED" ;
}
$html .= "<div class=\"label\">";
$html .= "<label><input type=\"checkbox\" value=\"".$row['id']."\" name=\"labelselect$x\" ".@$checked." />";
$qry1 = mysql_query("SELECT * FROM `metadata` WHERE `label` = " . $row['id'] . " ORDER BY `lang` ASC ");
$rws1 = mysql_num_rows($qry1);
if ($rws1 > 0 )
{
$output = "";
$row1 = mysql_fetch_assoc($qry1);
do{
$output .= $row1['title'] . " / ";
}while ($row1 = mysql_fetch_assoc($qry1));
}
$html .= rtrim($output, " / ");
$html .= "<input type=\"hidden\" name=\"labelid\" value=\"".$row['id']."\" />";
$html .= "<input type=\"submit\" class=\"delete\" name=\"dellabel\" value=\" \" />";
$html .= "</label></div>";
$x++;
} while($row= mysql_fetch_assoc($qry));
$html .= "<span style=\"dispay:block; position:relative; clear: both; float:left; \" >";
$html .= langselect();
$html .= "</span>";
$html .= "<input type=\"hidden\" name=\"labels\" value=\"$x\" />";
}
else $html = langselect();
return $html ;
}
?>
Gewijzigd op 11/09/2012 21:42:38 door Wouter H
Sorry, verkeerd gelezen...
Gewijzigd op 11/09/2012 22:02:46 door Wouter J
Wouter H op 11/09/2012 21:40:36:
Labels komt voort uit een ander gegeven, en is een kleine rits van getallen, gescheiden door een komma. bijv. 1,2,3,4 etc.
if (!is_array($labels)) $labels = array($labels);
if (!is_array($labels)) $labels = array($labels);
Dus nu heb je een array() met één waarde er in.
Namelijk: 1,2,3,4
Je bedoelt waarschijnlijk dit:
$labels = explode(',', $labels);
dat heb ik ook geprobeerd, toen leek ik nog verder van huis met de foutmelding ... boolean given hupppeldepup seems to be an array
Wouter H op 11/09/2012 22:04:26:
... seems to be an array
Je wilt toch een array() hebben.
ja, klopt, maar de in_array geeft dan deze melding... en zegt niet ja, ik heb in de array wel/niet wat gevonden
Wouter H op 11/09/2012 22:13:12:
ja, klopt, maar de in_array geeft dan deze melding...
Welke?
en kwam $labels niet over, na dit te hebben gecorriceert werkt het.
Bedankt voor de reactie.
Code (php)