Vrienden van het goede leven,

Ik ben bezig met een opdracht en zie door de bomen het bos even niet meer en ik hoop dat iemand van jullie mij verder kan helpen. Ik wil een veld van een item updaten doormiddel van een dropdown maar ik krijg het niet voor elkaar. Het betreft het veld $Select5

De dropdown staat aangegeven met //hier gaat het om
Dit is de codering van de pagina en hoop echt dat iemand me kan helpen want kom er echt niet uit:


<?php // no direct acce
defined('_JEXEC') or die('Restricted access');

$featured_field='Select8';
$baselink=JRoute::_($this->where['baselink']);
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$query="SELECT id,title,params from #__modules where `module`='mod_datamenu' AND `params` like '%\"mod_field0\":\"$featured_field\"%'";
$db->setQuery( $query);
$modules=$db->loadAssocList('id');
$modlinks='';
foreach ($modules as $module) {
$params = new JRegistry;
$params->loadString($module['params']);
$groep=$params->get('mod_groep');
if ( $groep ) {
$g=explode(',',$groep); 
$modules[$module['id']][$featured_field]=$g;

$modlinks.= '<a
href="'.$baselink.'?ids[]='.join('&ids[]=',$g).'">'.$module['title'].'</a>
'; 
} 
}
if ( $i=JRequest::getVar('ids')){ 
$ids=join(',',$i);
$select_sql='`items_id`, `feed_id`, `feed`, `hits`, `description`,
`title`, `url`,  `Prijs`, `Select0`, `Select1`, `Select2`, `Select3`,
`Select4`, `Select5`, `Select6`, `Select7`, `Select8`, `Select9`,
`id`,  `data`,`prijs` as pprijs,url,'.DF_IMAGE . ' as image';
$query = 'SELECT '.$select_sql.
                                ' FROM #__dataitems ' .
                                ' where Select8 in(' . $ids.')';
                        $db->setQuery( $query);
                        $q=$db->query();
                        $mod_items=$db->  loadAssocList ();
$this->dataitems=array_merge($mod_items,$this->dataitems);
unset($mod_items);
}

if ( JRequest::getVar('ajax') ) {
	$state=JRequest::getInt('check','oeps');
	$id=JRequest::getVar('field','');
	if ( $id ) {
		list($mod,$item)=explode('_',$id,2);
		$mod=(int)$mod;
		$item=(int)$item;
		if ( $mod && $item ) {
			if  ( ! $state ) {
			   if (  in_array($item,$modules[$mod][$featured_field]) ) {
				$params = new JRegistry;
                		$params->loadString($modules[$mod]['params']);
				$groep=$params->get('mod_groep');
				if ( $groep ) {
				$current=array_flip(explode(',',$groep));
				} else {
				$current=array();
				}
				unset($current[$item]);
				$params->set('mod_groep',trim(join(',',array_keys($current)),','));
				$query="UPDATE #__modules set `params`='".$params->toString()."' where `id`=".$mod;
				$db->setQuery($query);
				$db->query();
				echo 'Weg uit '.$modules[$mod]['title'];
				exit;
			   } else {
				echo 'niet gevonden';
				exit;
			   }
			} else {
			  if ( isset ($modules[$mod]) ) {
				$params = new JRegistry;
                		$params->loadString($modules[$mod]['params']);
				$groep=$params->get('mod_groep');
				$current=array();
				if ( $groep ) {
				foreach(explode(',',$groep) as $v ) {
				if ( (int)$v) {
				$current[$v]=1;
				}
					
				}
				}
				$old=count($current);
				
				$current[$item]=1;
				$query = 'SELECT Select8'.
                                ' FROM #__dataitems ' .
                                ' where Select8 in(' . join(',',array_keys($current)).')'; 
                        	$db->setQuery( $query);
                        	$q=$db->query();
                        	$current=$db->  loadAssocList ('Select8');
				
				$params->set('mod_groep',trim(join(',',array_keys($current)),','));
				$query="UPDATE #__modules set `params`='".$params->toString()."' where `id`=".$mod;
				$db->setQuery($query);
				$db->query();
				$new=count($current);
				echo 'Toegevoegd aan '.$modules[$mod]['title']."heeft nu $new producten";exit;
                          }  else {
				echo 'module bestaat niet';exit;
			  }
		       }
		} else {
				echo 'dat begrijpen we niet';exit;
		}
	}
	echo "mislukt $state";
	exit;
} 
echo '<div id="com_datafeeds">';
if ($this->pagination ) {
$links= $this->pagination->getPagesLinks();

}
echo '<div class="clear" style="clear:both">';
print "<div>$modlinks</div>";
$seen=array();
foreach ($this->dataitems as $item  ) {
	if ( isset($seen[$item['Select8']]) ) {
		continue;
	}
	$seen[$item['Select8']]=1;
	$product_title=$item['title'];
	$product_id=$item['items_id'];
	$alt=df_alt($item['title']);
	#point to detailed information
	$product_url=JRoute::_( $this->where['baselink']."&". make_urlencoded(array("qt"=>$product_title)));
	#point to merchant
	$product_ref=$item['url']; 

	#$product_ref=$product_url; 

	$product_prijs=$item['pprijs'];
	$product_image=$item['image'];
	print '<div class="container"><div class="scroll">';
	foreach ($modules as $module) {
		if ( in_array($item[$featured_field],$module[$featured_field]) ) {
		$selected='checked="1"';
		} else {
		$selected='';
		}
		$id=$module['id'].'_'.$item[$featured_field];
		print '<div class="hideme"><input class="selector" '.$selected. ' type="checkbox" name="'.$id.'" id="'.$id.'"/>'.$module['title'].'</div>';
	}
	print '</div><div  class="col_container">';

	print '<div class="col_merk">'.$item['Select9'].'</div>';
	print '<div class="col_omsc">'.$item['title'].'</div>';
	print '<div class="col_prijs">'.$item['Prijs'].'</div>';
	print '<div class="col_info"><a class="dflink" href="'.$product_url.'" >Info</a></div>';
		print '<div  class="col_img">';
	print '<a class="dflink" target="_blank" href="'.$product_ref.'" rel="nofollow"><img class="col_img" src="'.$product_image.'" alt="'.$alt.'"/></a>';

	print '</div>';
	print '</div>';
print '<div class="col_volgorde">Huidige positie: '.$item['Select5'].'</div>';

//hier gaat het om
$item['Select5']=$_POST["Volgorde"];
print '<form enctype="multipart/form-data" method="post">
  Verander naar positie:
  <select name="Volgorde">
    <option value="1">1</option>
    <option value="2">2</option>
	<option value="3">3</option>
	<option value="4">4</option>
	<option value="5">5</option>
	<option value="6">6</option>
	<option value="7">7</option>
  </select>
  <input type="submit" value="Add">
</form>';
//tot hier

print '</div>';

}


print '</div><div class="clear fix" style="clear:both">&nbsp;</div>';
if ($this->pagination ) {
echo '<div class="pagination" id="bottom">'.$links.'</div>';
}
echo '</div>';
JHTML::_('behavior.mootools');
?>

<script>
$$('input.selector').addEvent('click', function(){
var request = new Request( {
                                url: '<?php echo $baselink;?>',
                                method: 'post',
                                onSuccess:function(responseText) { alert(responseText);},
                                data: {
                                'field' : this.id,
                                'check' : this.checked?'1':'0',
                                'tmpl':'component',
                                'format':'raw',
                                'ajax' : 1
                                }
        }).send();



});
</script>


Je haalt Select5 alleen uit de database en dan vervang je de inhoud door een $_POST-waarde. Geen idee wat daar de bedoeling van is.
De codering onder //hier gaat het om
Heb ik er even tussengezet maar dat slaat idd nergens op.
Maar daar heb ik dus iets nieuws voor nodig wat wel werkt. Via de $Select5 kan ik de items op volgorde gaan zetten. Ik lees het dus uit zodat je kan zien op welke positie die staat en vervolgens moet je dat dus kunnen wijzigen via een dropdown die de database bij werkt. Enig idee hoe?
Ik snap echt niks van je verhaal.
Als ik jou was zou ik eerst eens je hele structuur gaan aanpassen. Select0 t/m Select9 als kolom namen..... WTF?

Maar goed, wat ik niet begrijp is je javascript functie. Je stuurt een Ajax call op het moment van een click? Dat lijkt me niet verstandig bij een dropdown, dat zou je met een change moeten doen. Pas als de dropdown is verandert wil je het updaten.

Maar ajax, of direct, je hoeft maar twee dingen te doen. Check of 'Volgorde' (de naam van de select) in de GET danwel POST zit. Die waarde uitlezen en een simpele update query loslaten.
Lol :D
Heb nog wel een voorbeeld online staan
http://www.thegoodplace.nl/websites/Clothesmakemen/admin

inloggen kan met admin: santhe
wachtwoord: php

Ben benieuwd..

[size=xsmall]Toevoeging op 02/08/2012 16:30:58:[/size]

Erwin,

Er worden feeds ingeladen die worden geladen in de kolommen. Select5 blijft leeg en die wil ik gaan gebruiken om te gaan sorteren. Ben nog niet zo heel lang met php dus heb al aardig lang lopen stoeien om het zo ver te maken maar loop hier dus op vast. AJAX gebruik ik om de feed toe te wijzen aan een module en dit gebruik (volgens mij) niet op de dropdown, Zie voorbeeld vorige post. Was al met het laatste wat je zegt bezig maar ik krijg het (nog) niet werkend. In iedergeval bedankt voor je antwoord (Y)

Reageren