Hallo mensen,
ik krijg steeeds een fout melding dat ik iets mis in me select statement.... maar ik zie eigenlijk geen fout... het product laat ie wel keurig zien, maar als ik op dat moment van taal wil verandere dat geeft ie die foutmelding... als ik nie van taal verander en gwn verder ga krijg ik geen fouten...
Kan iemand mij vertellen wat ik mis????
bvd

<?php
include ("config2.php");
$id = $_GET["ItemID"];
$query="SELECT * FROM Item WHERE ItemID=$id";
$result=odbc_exec($con,$query); //query uitvoeren
while(list($ItemID, $ItemNo, $ItemDescription, $SalesGLAccountID,
$COGSGLAccountID, $InventoryGLAccountID, $TaxCodes, $UnitPrice )= odbc_fetch_row($result)) {
//variable gelijkmaken aan de record in de database
$id=odbc_result($result,1);
$productnaam=odbc_result($result,3);
$prijs=odbc_result($result,8);
$btw = $prijs/100*19;
$btw =number_format($btw, 2);//round

echo "<form action=\"add.php\" method=\"post\">\n";
echo "<input type=\"hidden\" name=\"productnummer\" value=\"".$id."\" />\n";
echo "<center><img src='images\yo.jpg' width=200 heigth=250></center><br>";
echo "<table border=1 align=center class=td>\n";
echo "<tr>\n";
echo "<td>$nr</td>\n";
echo "<td width=300><p><strong>".$id."</strong></td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>Artikel</td>\n";
echo "<td width=300>".$productnaam."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>$price</td>\n";
echo "<td width=300>€".$prijs."</td>\n";
echo "</tr>\n";
echo "<tr>\n";
echo "<td>BTW 19%</td>\n";
echo "<td width=300>€$btw</td>\n";
echo "</tr>\n";
echo "<td>Voorraad</td>\n";
echo "<td width=300>hoeveelvoorraad</td>\n";
echo "<tr>\n";
echo "<td><input type=\"text\" name=\"hoeveelheid\" size=\"2\" maxlength=\"2\" value=\"1\"/></td>\n";
echo "<td width=300><input type=\"submit\" value=\"Toevoegen\" /></td></td>\n";
echo "</tr>\n";
echo "</table>\n";
echo "</form>\n";
?>
hoe zorg je bijv als je je site voor ut eerst opstart dat meteen index.php?taal=dutch?
in me talen script heb ik aangegeven als de taal sessie leeg is dat ie meteen nederlands pakt.

Wat is dan je probleem? Dan gaat het toch goed?

Anders kan je gewoon zoiets doen:
<?php
$_GET['taal'] = empty($_GET['taal']) ? 'dutch' : $_GET['taal'];
?>
Als $_GET['taal'] nu niet geset is, wordt hij gevuld met dutch, anders houd hij gewoon zijn waarde.
<?php
$aTalen = array('en', 'nl', 'pt');

if(isset($_GET['taal']) && in_array($_GET['taal'], $aTalen)){
$taal = $_GET['taal'];
}
else {
$taal = 'nl'; // $taal = $aTalen[1]; is ook goed, maar je bent dan afhankelijk van de volgorde in de array
}
// rest van je script
?>
In de array $aTalen staan de toegestane talen (let op: Ik gebruik de iso-codes!) en in de if ga je kijken of de $_GET bestaat en de juiste waarde heeft. Bestaat hij niet of heeft hij een ongeldige waarde, dan wordt de default waarde gebruikt.
@Willem-Jan
het gaat wel goed ja... maar als ik van taal verander staat index.php?taal=dutch
maaar als ik op een ander link klik bijv (winkelmand.php) staat gwon winkelmand.php zonder ?taal=dutch
ik weet nu wel hoe ik dit kan oplossen.... maar wat ik eigenlijk bedoel is als me site nie opstart meteen met index.php?taal=dutch hoe kan ik dan de taal GETen voor de volgende links? is da nog te volgen????
:D
bruno schreef op 02.11.2006 17:38
@Willem-Jan
het gaat wel goed ja... maar als ik van taal verander staat index.php?taal=dutch
maaar als ik op een ander link klik bijv (winkelmand.php) staat gwon winkelmand.php zonder ?taal=dutch
ik weet nu wel hoe ik dit kan oplossen.... maar wat ik eigenlijk bedoel is als me site nie opstart meteen met index.php?taal=dutch hoe kan ik dan de taal GETen voor de volgende links? is da nog te volgen????
:D
Dan heb je dus nog steeds een probleem met het aanmaken van de url's en niet met het aanmaken van een default taal.

Edit: Zie mijn voorbeeldje, dit levert de variabele $taal op. Deze moet je bij iedere url ook gaan echoen:

<a href="jouwscript.php?taal=<?php echo $taal; ?>">Jouw link</a>

Uiteraard staat dit stukje code in je script nadát je $taal hebt aangemaakt.
Gebruik een sessievariabele om je taal in op te slaan. Die variabele is beschikbaar op elke pagina die je begint met session_start().

<?php
session_start()

if(isset($_GET['taal']))
{
$_SESSION['taal'] = $_GET['taal'];
}
else
{
$_SESSION['taal'] = 'nl';
}
?>

Kun je gebruiken om de sessievariabele aan te maken. Combineer dit samen met het scriptje van Frank en je hebt een mooi resultaat...

[edit]foutje[/edit]
@Blanche: Een sessie is niet te bookmarken. Vandaar dat ik er geen fan van ben om de taalkeuze in een sessie te zetten. Het is ook niet nodig, met GET heb je een uitstekend alternatief.

Ps. je hebt een quoteje teveel in je code staan
@Frank je had es weer gelijk :D
ik heb wel men talen in sessies gestopt zo ziet er nu mij code uit

<a href="jouwscript.php?taal=<?php echo $_SESSION['taal']; ?>">Jouw link</a>



hij werkt prima :D ty

Reageren