ik ben bezig een groep-met subgroepen script aan het maken, alles werkt perfect als ik maar 1 subgroep onder de hoofdgroep maak maar als ik bvb subgroepen van subgroepen wens te maken dan zie ik het niet meer hoe ik verder moet...

zit hier nu al sinds deze morgen op te zoeken en wordt bijna gek ...

de functie :

function Lijst_Beroepen(){

	$dbconnect		= mysql_connect (DBhost,DBgebruiker,DBwachtwoord) or die ("Kan niet verbinden: " . mysql_error());
	$dbselect 		= mysql_select_db (DBnaam,$dbconnect);
	
	$sql_result = mysql_query ("SELECT * FROM webcms_groepen WHERE subgroepVan = '0'");

	$tmpHtml	= '<select name="F_GBberoepen">';	

	while ($row=mysql_fetch_array ($sql_result)) { 
		
		$HoofdGroep 	= $row['groepnaamNL'];
		$HoofdGroepId = $row['groepId'];

		$sql_result2 = mysql_query ("SELECT * FROM webcms_groepen WHERE subgroepVan='".$HoofdGroepId."'");
		
		while ($subrow=mysql_fetch_array ($sql_result2)) { 
		$tmpHtml .= '<option value="'.$subrow['id'].'">'.$HoofdGroep.' - '.$subrow['groepnaamNL'].'</option>';			
		}
	
	}

	$tmpHtml .= '</select>';
	return $tmpHtml;
}

De tabel :

CREATE TABLE `webcms_groepen` (
  `groepId` int(10) NOT NULL auto_increment,
  `subgroepVan` int(10) NOT NULL default '0',
  `groepnaamNL` text,
  `groepnaamFR` text,
  PRIMARY KEY  (`groepId`)
) ENGINE=MyISAM AUTO_INCREMENT=6 DEFAULT CHARSET=utf8;

-- ----------------------------
-- Records 
-- ----------------------------
INSERT INTO `webcms_groepen` VALUES ('1', '0', 'Hoofdgroep 1 NL', 'Hoofdgroep 1 FR');
INSERT INTO `webcms_groepen` VALUES ('2', '0', 'Hoofdgroep 2 NL', 'Hoofdgroep 2 FR');
INSERT INTO `webcms_groepen` VALUES ('3', '1', 'Subgroep 1 NL', 'Subgroep 1 FR');
INSERT INTO `webcms_groepen` VALUES ('4', '2', 'Subgroep 2  NL', 'Subgroep 2 FR');
INSERT INTO `webcms_groepen` VALUES ('5', '4', 'Subgroep 2  subgroep NL', null);
kzit nog met 1 vraag, hoe moet ik mijn SQL query opbouwens als ik een groep/subgroep (en de subgroepen daaronder) wens te wissen ?
heb deze funktie wat uitgebreid om een groepID mee te geven, deze groepID moet er dan voor zorgen dat de juiste groep geselecteerd is ...

Maar helaas krijg ik een fout:
Warning: Missing argument 3 for toongroepen()

de html waar ik de funtkie in oproep:


<select name="F_GBberoepen">'.toonGroepen($row['bedrijfSector']).'</select>


en dan de funktie:


function toonGroepen( $f_iParent = 0, $f_szLevels = '',$groepID ) {

		echo $groepID;
		exit;
		$dbconnect		= mysql_connect (DBhost,DBgebruiker,DBwachtwoord) or die ("Kan niet verbinden: " . mysql_error());
		$dbselect 		= mysql_select_db (DBnaam,$dbconnect);

    $qThisLevelGroups = mysql_query("SELECT groepId, groepnaamNL FROM webcms_groepen WHERE subgroepVan = '".$f_iParent."';");
    $szHTML = "";
    while ( $arrGroup = mysql_fetch_assoc($qThisLevelGroups) )
    {
        if ($groepID == $arrGroup['groepId']){ $selectcode='selected="selected"'; } else { $selectcode=''; }
				$szHTML .= $f_szLevels.'<option value="'.$arrGroup['groepId'].'" '.$selectcode.'>' . str_replace("\t", '&nbsp;&nbsp;&nbsp;', $f_szLevels.$arrGroup['groepnaamNL']) . '</option>' . PHP_EOL;
        $szHTML .= toonGroepen($arrGroup['groepId'], $f_szLevels."\t",$groepID);
    }

    return $szHTML;
}


Wat ik dus heb bijgevoed is :


if ($groepID == $arrGroup['groepId']){ $selectcode='selected="selected"'; } else { $selectcode=''; }
oops voel me zo noob, heb hem intussen gevonden ...

moest gewoon in de html extra args meegeven:

<select name="F_GBberoepen">'.toonGroepen(0,'',$row['bedrijfSector']).'</select>

Reageren