Hey,

Ik heb een foutmelding, en ik weet niet wat het is.

De meding is:

Parse error: syntax error, unexpected T_AS in C:***\autosite\autos.php on line 111

Het gaat dan om:

<?php

foreach (($Types as $Type) && ($Merken as $Merk)) {

?>

Hieronder de volledige code:


<?php

// We gaan $_GET['merk'] & $_GET['merk'] omzetten naar een variabele:

$TypeGET1 = implode('%', $_GET['type']);

$TypeGET = explode('%', $TypeGET1);

$MerkGET1 = implode('%', $_GET['merk']);

$MerkGET = explode('%', $MerkGET1);

// Databaseconnectie:
databaseConn();

// We gaan alle automerken uit de database selecteren:
$Select_types = mysqli_query($Conn, "SELECT DISTINCT type FROM vacatures") or trigger_error('Database fout.');

$Select_merken = mysqli_query($Conn, "SELECT DISTINCT merk FROM vacatures") or trigger_error('Database fout.');
// De connectie sluiten:
mysqli_close($Conn);

// Standaard $Brand variabele:
$Brands = '';

// Als er rijen zijn gevonden:
if(mysqli_num_rows($Select) > 0) {

// While loop met merken:
while($Row_types = mysqli_fetch_array($Select_types)) {
$Types = $Row_types['type'].'%'.$Brands;} // Hiermee maken we een string om later een array van te maken

while($Row_merken = mysqli_fetch_array($Select_merken)) {
$Merken = $Row_merken['merk'].'%'.$Brands;} // Hiermee maken we een string om later een array van te maken

// We gaan de laatste letter, teken van $Types * $Merken verwijderen, want dat is %:
$Types = substr($Types, 0, -1);

$Merken = substr($Merken, 0, -1);

// We gaan $Brand terug splitten met explode:
$Types = explode('%', $Types);

$Merken = explode('%', $Merken);

// We gaan de geselecteerde merken splitsen:

foreach (($Types as $Type) && ($Merken as $Merk)) {

// Hier moet een if functie: if(in_array(branche, $BrandGET3))
if(in_array($Merk, $MerkGET)) {
// We gaan alle merken tonen met een input box:
if(in_array($Type, $TypeGET)) {
blablabla;

}
else {
blablabla;
} } } } }
?>

Weet iemand het?

                      } } } } }

Weet jij nog waar de 3e accolade bij hoort?
Spring de accoaldes eens goed in met tab, en je ziet de fout vast wel.
hoe bedoel je dit?
<?php

// We gaan $_GET['merk'] & $_GET['merk'] omzetten naar een variabele:

$TypeGET1 = implode('%', $_GET['type']);

$TypeGET = explode('%', $BrandGET1);

$MerkGET1 = implode('%', $_GET['merk']);

$MerkGET = explode('%', $BrandGET2);

// Databaseconnectie:
databaseConn();

// We gaan alle automerken uit de database selecteren:
$Select_types = mysqli_query($Conn, "SELECT DISTINCT type FROM vacatures") or trigger_error('Database fout.');

$Select_merken = mysqli_query($Conn, "SELECT DISTINCT merk FROM vacatures") or trigger_error('Database fout.');
// De connectie sluiten:
mysqli_close($Conn);

// Standaard $Brand variabele:
$Brands = '';

// Als er rijen zijn gevonden:
if(mysqli_num_rows($Select) > 0) {

// While loop met merken:
while($Row_types = mysqli_fetch_array($Select_types)) {
$Types = $Row_types['type'].'%'.$Brands;} // Hiermee maken we een string om later een array van te maken

while($Row_merken = mysqli_fetch_array($Select_merken)) {
$Merken = $Row_merken['merk'].'%'.$Brands;} // Hiermee maken we een string om later een array van te maken

// We gaan de laatste letter, teken van $Types * $Merken verwijderen, want dat is %:
$Types = substr($Types, 0, -1);

$Merken = substr($Merken, 0, -1);

// We gaan $Brand terug splitten met explode:
$Types = explode('%', $Types);

$Merken = explode('%', $Merken);

// We gaan de geselecteerde merken splitsen:

foreach (($Types as $Type) && ($Merken as $Merk)) {

// Hier moet een if functie: if(in_array(branche, $BrandGET3))
if(in_array($Merk, $MerkGET)) {
// We gaan alle merken tonen met een input box:
if(in_array($Type, $TypeGET)) {
blablabla;

}
else {
blablabla;
} } } }
?>

Dat moet dan werken, en zoals Aar zegt, spring de accoaldes goed in, dan zie je dat je er 1 teveel had geplaatst.
owja, die 5e accolade is nog van een bovenliggende else alleen die zagen jullie niet. Maar toch krijg ik die melding dus iets klopt er niet! Maar wat?
Dit is hoe ik het meestal doe:
<?php

// We gaan $_GET['merk'] & $_GET['merk'] omzetten naar een variabele:

$TypeGET1 = implode('%', $_GET['type']);

$TypeGET = explode('%', $BrandGET1);

$MerkGET1 = implode('%', $_GET['merk']);

$MerkGET = explode('%', $BrandGET2);

// Databaseconnectie:
databaseConn();

// We gaan alle automerken uit de database selecteren:
$Select_types = mysqli_query($Conn, "SELECT DISTINCT type FROM vacatures") or trigger_error('Database fout.');

$Select_merken = mysqli_query($Conn, "SELECT DISTINCT merk FROM vacatures") or trigger_error('Database fout.');
// De connectie sluiten:
mysqli_close($Conn);

// Standaard $Brand variabele:
$Brands = '';

// Als er rijen zijn gevonden:
if(mysqli_num_rows($Select) > 0)
{
// While loop met merken:
while($Row_types = mysqli_fetch_array($Select_types))
{
$Types = $Row_types['type'].'%'.$Brands;
} // Hiermee maken we een string om later een array van te maken

while($Row_merken = mysqli_fetch_array($Select_merken))
{
$Merken = $Row_merken['merk'].'%'.$Brands;
} // Hiermee maken we een string om later een array van te maken

// We gaan de laatste letter, teken van $Types * $Merken verwijderen, want dat is %:
$Types = substr($Types, 0, -1);
$Merken = substr($Merken, 0, -1);

// We gaan $Brand terug splitten met explode:
$Types = explode('%', $Types);
$Merken = explode('%', $Merken);

// We gaan de geselecteerde merken splitsen:

foreach (($Types as $Type) && ($Merken as $Merk))
{
// Hier moet een if functie: if(in_array(branche, $BrandGET3))
if(in_array($Merk, $MerkGET))
{
// We gaan alle merken tonen met een input box:
if(in_array($Type, $TypeGET))
{
blablabla;
}
else
{
blablabla;
}
}
}
}
?>
Maar ieder heeft zijn eigen manier, als je het zo doet zie je gelijk of je iets teveel hebt of iets mis.
owja, die 5e accolade is nog van een bovenliggende else alleen die zagen jullie niet. Maar toch krijg ik die melding dus iets klopt er niet! Maar wat?
Dit kan natuurlijk niet:
foreach (($Types as $Type) && ($Merken as $Merk)) {
Dat zal je moeten opdelen in twee foreach loops.
weet jij hoe? Want ik krijg het niet voor elkaar, en op google kan ik ook geen concreet voorbeeld vinden. Ik ben in iedergeval al blij als je me opweg helpt!
Ligt eraan wat je wilt. Dit kan in elk geval niet.
wat is wil is dat ik alle auto's selecteer uit de db en dan ga kijken: komt het merk voor in de array $MerkGET, zo nee, doe sla deze over. Zoja, dan moet hij kijken of het bijhorende type overeenkomt met de array $TypeGET. Zo nee, echo 'iets'. Zo ja, echo 'iets anders'.

Dat is wat ik wil.

Reageren