foreach()
tbk - 18/10/2006 15:53
PHP beginner
<?php
function makeselectbox($datanumber){
$database=array( 1 => 'cat_categorie',
2 => 'cat_jaar',
3 => 'cat_vesteging',
);
$data=$database[$datanumber];
include('config.php');
$query1=mysql_query("SELECT * FROM $data ");
mysql_close();
$buildarray=mysql_fetch_assoc($query1);
echo" <select naam=".$datanumber.">
<option value=\"leeg\">-Maak een keuze-</option>
" ;
foreach($buildarray as $datas){
buildoption($datas['waarde'], $datas['naam']);
};
echo"</select>";
}
function buildoption($waarde, $naam){
return "<option value='".$waarde."'>".$naam."</option>";
}
?>
<?php
function makeselectbox( $datanumber ) {
$database = array ( 1 => 'cat_categorie' , 2 => 'cat_jaar' ,
3 => 'cat_vesteging' ,
) ;
$data = $database [ $datanumber ] ;
include ( 'config.php' ) ;
echo " <select naam=" . $datanumber . "> <option value=\" leeg\" >-Maak een keuze-</option>
" ;
foreach ( $buildarray as $datas ) {
buildoption( $datas [ 'waarde' ] , $datas [ 'naam' ] ) ;
} ;
}
function buildoption( $waarde , $naam ) {
return "<option value='" . $waarde . "'>" . $naam . "</option>" ;
}
?>
volgende functie wordt opgeroepen om een dropdwonmenu aan te roepen, met zo een functie makeselectbox(2)
hij wil ehcter niet de verschillende mogelijkheden displayen..
aangezien ik een noob ben in functions had ik even jullie hulp nodig
11 antwoorden
Gesponsorde links
tbk - 18/10/2006 15:59 (laatste wijziging 18/10/2006 16:01)
PHP beginner
als ik dat doe dan uhm:D krijg ik een parse error:D
foreach($buildarray as $datas){
echo buildoption($datas['waarde'], $datas['naam']);
};
zo geeft hij nog altijd niets weer
Thomas - 18/10/2006 16:05
Moderator
$buildarray bevat ook maar één option omdat je maar één resultaatregel fetched...
tbk - 18/10/2006 16:10
PHP beginner
ja maar wat moet het dan wel zijn:D Heb eventjes hem gewoon zo geschreven:
$query1=mysql_query("SELECT * FROM $data ");
echo "<select>";
while($blaat=mysql_fetch_assoc($query1)){
echo "<option value='".$blaat['waarde']."'>".$blaat['naam']."</option>";
}
echo "</select>";
mysql_close();
echo "<option value='" . $blaat [ 'waarde' ] . "'>" . $blaat [ 'naam' ] . "</option>" ; }
en zo geeft hij niet eens data weer...
en wwat is dat van die fetched?
Rik - 18/10/2006 16:14 (laatste wijziging 18/10/2006 16:18)
Crew algemeen
Zoiets?
<?php
function makeselectbox($datanumber){
$database=array( 1 => 'cat_categorie',
2 => 'cat_jaar',
3 => 'cat_vesteging');
$data=$database[$datanumber];
include('config.php');
$query1=mysql_query("SELECT * FROM $data ");
mysql_close();
echo" <select naam=".$datanumber.">
<option value=\"leeg\">-Maak een keuze-</option>";
while($datas=mysql_fetch_assoc($query1))
{
echo buildoption($datas['waarde'], $datas['naam']);
}
echo"</select>";
function buildoption($waarde, $naam){
return "<option value='".$waarde."'>".$naam."</option>";
}
?>
<?php
function makeselectbox( $datanumber ) {
$database = array ( 1 => 'cat_categorie' , 2 => 'cat_jaar' ,
3 => 'cat_vesteging' ) ;
$data = $database [ $datanumber ] ;
include ( 'config.php' ) ;
echo " <select naam=" . $datanumber . "> <option value=\" leeg\" >-Maak een keuze-</option>" ;
{
echo buildoption
( $datas [ 'waarde' ] , $datas [ 'naam' ] ) ; }
function buildoption( $waarde , $naam ) {
return "<option value='" . $waarde . "'>" . $naam . "</option>" ;
}
?>
Edit:
FF een klein beetje veranderd. En nog een beetje.
tbk - 18/10/2006 16:15 (laatste wijziging 18/10/2006 16:16)
PHP beginner
Wat heb je er nu aan verbeterd:D heb hem getest en hij werkt niet echt...
tbk - 18/10/2006 16:25
PHP beginner
oké mag ik me het grootste kalf ter wereld noemen?
ja dat mag ik:D
je script werkt volledig, misschien het mijne ook...
van die 3databasen heb ik juist de Database genomen zonder DATA!
Gerard - 18/10/2006 17:53
Ouwe rakker
Als er mensen zijn die interesse hebben in mijn functies die ik gebruik:
<?php
/**
* Creates a single option row for a select. A third argument can be passed
* to the function to be compared to the $sValue. If they match it wil add
* the selected="selected" to the option so it will be selected by default.
*
* @author Gerard Klomp <gerard@theprodukt.com>
* @version 2.0
* @param string $sValue
* @param string $sDisplay
* @param string $sCompare
* @return string
*/
function buildOption($sValue, $sDisplay, $sCompare = '') {
return '<option value="'.$sValue.'"'.($sValue == $sCompare ? ' selected="selected"' : '').'>'.$sDisplay.'</option>'."\n";
}
<?php
/**
* Creates a single option row for a select. A third argument can be passed
* to the function to be compared to the $sValue. If they match it wil add
* the selected="selected" to the option so it will be selected by default.
*
* @author Gerard Klomp <gerard@theprodukt.com>
* @version 2.0
* @param string $sValue
* @param string $sDisplay
* @param string $sCompare
* @return string
*/
function buildOption( $sValue , $sDisplay , $sCompare = '' ) {
return '<option value="' . $sValue . '"' . ( $sValue == $sCompare ? ' selected="selected"' : '' ) . '>' . $sDisplay . '</option>' . "\n " ;
}
<?php
/**
* This function creates option fields for a select based on an array with
* values and an array of display names. It's similar to the buildOption
* function although this function gives back more options.
*
* @author Gerard Klomp <gerard@theprodukt.com>
* @version 1.0
* @param array $aArrayValue
* @param array $aArrayDisplay
* @param string $sCompare
* @return string
*/
function buildOptionArray($aArrayValue, $aArrayDisplay, $sCompare = '') {
$iArray = count($aArrayValue);
$sOutput = '';
for ($i = 0; $i < $iArray; $i++) {
$sOutput .= '<option value="' . $aArrayValue[$i] . '"' . ($aArrayValue[$i] == $sCompare ? ' selected="selected"' : '') . '>' . $aArrayDisplay[$i] . '</option>'."\n";
}
return $sOutput;
}
<?php
/**
* This function creates option fields for a select based on an array with
* values and an array of display names. It's similar to the buildOption
* function although this function gives back more options.
*
* @author Gerard Klomp <gerard@theprodukt.com>
* @version 1.0
* @param array $aArrayValue
* @param array $aArrayDisplay
* @param string $sCompare
* @return string
*/
function buildOptionArray( $aArrayValue , $aArrayDisplay , $sCompare = '' ) {
$iArray = count ( $aArrayValue ) ; $sOutput = '' ;
for ( $i = 0 ; $i < $iArray ; $i ++ ) {
$sOutput .= '<option value="' . $aArrayValue [ $i ] . '"' . ( $aArrayValue [ $i ] == $sCompare ? ' selected="selected"' : '' ) . '>' . $aArrayDisplay [ $i ] . '</option>' . "\n " ;
}
return $sOutput ;
}
Thomas - 19/10/2006 09:24 (laatste wijziging 19/10/2006 09:24)
Moderator
Dat kan ff een stuk korter .
buildOption is niets anders dan buildOptionArray waarbij de text- en value-arrays slechts één element bevatten, dus buildOption zou weg kunnen.
Daarnaast zou je $aArrayValue en $aArrayDisplay kunnen samenvoegen tot één array (met value => display paren?). Ik gebruik voor values altijd numerieke waarden. Deze numerieke waarden verschillen ook allemaal van elkaar (anders zouden dit niet twee verschillende opties zijn ) dus deze lenen zich prima voor de keys van een array.
Korter:
<?php
function buildOptionArray($data, $selected = '')
{
$ret = '';
foreach($data as $val => $txt)
{
$sel = ($val == $selected) ? ' selected="selected"' : '';
$ret .= '<option value="'.$val.'"'.$sel.'>'.$txt.'<option>';
}
return $ret;
}
?>
<?php
function buildOptionArray( $data , $selected = '' )
{
$ret = '' ;
foreach ( $data as $val => $txt )
{
$sel = ( $val == $selected ) ? ' selected="selected"' : '' ;
$ret .= '<option value="' . $val . '"' . $sel . '>' . $txt . '<option>' ;
}
return $ret ;
}
?>
Gesponsorde links
Dit onderwerp is gesloten .