Hallo,

Ik heb 2 verschillende array's. Hiermee wil ik kijken of in de 1e array een waarde voorkomt in de 2e array. Als er 1 (of meerdere) in voorkomen dan moeten ze een waarde tonen, anders niets.

Ik heb een code zoals hier onderstaand:

<?php
$sql_1 = "SELECT * FROM tabel_1";
$resultaat_1 = mysql_query($sql_1);
while ($obj_1 = mysql_fetch_array($resultaat_1)) {
$array_1 = array();
$array_1[] = $obj_1['pro_id'];
}

$sql_2 = "SELECT * FroM tabel_2";
$resultaat_2 = mysql_query($sql_2);
while ($obj_2 = mysql_fetch_array($resultaat_2)) {
$array_2 = array();
$array_2[] = $obj_2['pro_id'];
}

if (in_array($array_2, $array_1)) {
echo "Mag pro_id NIET tonen";
} else {
echo "Toon pro_id";
}
?>

Het is dan de bedoeling dat van alle resultaten die uit tabel 1 worden gehaald, wordt gekeken of die dus WEL of NIET getoond mag worden.

Ik heb al verschijnende dingen geprobeerd, maar ik kan er nog niet uit komen.

Gr. Raymond
wat krijg je als foutmelding?

zet bovenaan eens:

<?PHP
error_reporting(E_ALL);
ini_set("display", 1);
?>
Je moet die $array_1 = array(); en $array_2 = array(); buiten de while halen omdat je die anders steeds weer overschrijft.
En waarschijnlijk moet je gebruik maken van [php]array_diff[/php].
@ Karl

Hiebrij krijg ik per resultaat 'Array' te zien, verder niets
Raymond schreef op 22.10.2008 10:57
@ Karl

Hiebrij krijg ik per resultaat 'Array' te zien, verder niets

Doe eens een [php]var_dump[/php] van beide array's.
Of gewoon SQL het werk laten doen:

<?php

$sql = "SELECT * FROM tabel_1 WHERE pro_id NOT IN (SELECT pro_id FROM tabel_2)";
$resultaat = mysql_query($sql);
while ($obj = mysql_fetch_assoc($resultaat))
{
echo 'Ik mag pro_id <b>'.$obj['pro_id'].'</b> laten zien!<br>';
}
?>

Reageren