Dag allemaal, ik ben hier voor het eerst en hoop dat iemand mij kan helpen.
Ik heb een webshop met een CMS erachter.
Nu heb ik een pagina waar verschillende producten in een pulldown menu komen maar dit zit allemaal achter 1 url, namelijk:
Nu wil ik een link maken naar een specifiek item in die pulldown menu, maar krijg dit niet voor elkaar.
Ik weet dat ik ergens in de $GET tag moet zitten maar weet niet precies wat ik er neer moet zetten.
Ik wil het volgende achter deze URL hierboven hebben : &webshop_product_id=250 (250 is voorbeeld)
zodat ik kan linken naar dat pulldown item.

Hieronder staat het script waarvan ik vermoed dat het op te lossen valt.
<?php



$webshop_product_group_id = $_GET['webshop_product_group_id'];
// vraag alle producten op van deze productgroep (bijv. PVC) en zet ze in een javascript array EN in de keuzelijst van materialen.
$resultProducts = $useWebshop->getProductsInProductgroup($webshop_product_group_id);
$optionsList = "";
//$materialenteller = 0;

function replace_newline($string) {
return (string)str_replace(array("\r", "\r\n", "\n"), '', $string);
}
while ($objProduct = mysql_fetch_object($resultProducts))
{

// inactieve prod. niet weergeven !!!
if ($objProduct->webshop_product_visible == 0)
continue;

// creeer de options-list van Materialen
$optionsList_Materialen .= "<OPTION value='$objProduct->webshop_product_id'>$objProduct->webshop_product_name</OPTION>";

echo "levertijdenPerMateriaal[$objProduct->webshop_product_id] = new Array();";

// creeer voor elk materiaal de de lijst van Levertijden, zodat daar in 'changeMaterial' een nieuwe options-list voor gemaakt kan worden.
$query_getLevertijden = "SELECT * FROM webshop_product_levertoeslag WHERE webshop_product_id = '$objProduct->webshop_product_id' ORDER BY webshop_product_dagen DESC";
$result_getLevertijden = $useConnection->query($query_getLevertijden);
while ($obj_getLevertijden = mysql_fetch_object($result_getLevertijden))
{
//echo "levertijdenPerMateriaal[$objProduct->webshop_product_id][$obj_getLevertijden->webshop_product_dagen] = $obj_getLevertijden->webshop_product_toeslag". ";";

// 18OKT 2012: AANHALINGSTEKENS ZODAT-IE HET NIET ALS INTEGER ZIET
echo "levertijdenPerMateriaal[$objProduct->webshop_product_id]['$obj_getLevertijden->webshop_product_dagen'] = $obj_getLevertijden->webshop_product_toeslag". ";";

}



// zet alle productinfo in de array voor dit materiaal
echo "materialen[$objProduct->webshop_product_id] = new Array();";

//HAAL PRIJSGEGEVENS UIT DATABASE
?>


Ik hoop dat dit op te lossen valt.

PS; ik ben nieuw op dit forum.

mvg,
Vincent
Kijk eens naar regel 22: daar worden de items (options) gemaakt van de dropdown in HTML.
diegene die we willen selecteren zal dan dus volgens de HTML specs een extra attribute moeten krijgen: selected="selected" vervang daarom de volgende code eens voor regel 22:
<?php
$selected = ''; // standaard houden we $selected leeg zodat de options niet selected blijven.
// met isset controleren we eerst of de GET variabele wel meegegeven is in de url:
if( isset($_GET['webshop_product_id']) &&
$objProduct->webshop_product_id == $_GET['webshop_product_id']) { // als het id overeenkomt

$selected = ' selected="selected"'; // verander dan $selected in ons HTML attribute
}
// maak de html inclusief de $selected:
$optionsList_Materialen .= "<OPTION".$selected." value='$objProduct->webshop_product_id'>$objProduct->webshop_product_name</OPTION>";
?>
verander de url handmatig eens naar:

http://www.megavista.nl/index.php?page=buy_digiprint&menuitem_id=7&webshop_product_group_id=10&webshop_product_id=X


waarbij je X even moet veranderen naar een geldig webshop_group_id.
Super!
Bedankt, ik dacht dat de URL mee zou veranderen, maar dat is dus niet het geval.
De links zijn actief en daar ben ik blij mee!

kijk desnoods even in de bron van jou pagina naar de <option value="... want dan vindt je de product id's die weergegeven worden achter value.

[size=xsmall]Toevoeging op 27/03/2013 10:18:02:[/size]

de url veranderen moet je doen daar waar je de pagina aanroept.

Reageren