hallo,

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

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


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?
Uiteindelijk heb ik de eerste regels vervangen door dit,
en kwam $labels niet over, na dit te hebben gecorriceert werkt het.

Bedankt voor de reactie.
<?php
$labels = explode(",",$labels);
if ($rws > 0 )
{
$x = 1 ;
$row = mysql_fetch_assoc($qry);
$html = "<p>Selecteer een label.</p>";
do{
$string = $row['id'];
if (is_array($labels))
{
if (in_array($string,$labels))
{
$checked = "CHECKED";
}
else $checked = "";
}

?>

Reageren