Ik zit nu al 2 dagen te vogelen over 1 query. Ik wil dat bezoekers de cijfers van hun postcode invoeren en dat er dan een query word uitgevoerd in de reeks van de het getal + 750 en het getal - 750. Wie kan me hierbij helpen.
Wat heb je al?
Ik ben nog bezig met hoe ik een tekstbox moet invullen waar ik de query aan kan koppelen.
Dus wat moet er gebeuren nadat iemand zijn postcode in heeft gevoerd?
Ruud schreef op 18.12.2007 22:50
Ik ben nog bezig met hoe ik een tekstbox moet invullen waar ik de query aan kan koppelen.
Met andere woorden, je hebt het formuliertje nog niet dat je wilt gaan gebruiken?

Ik zou zeggen, begin daar eerst eens mee en probeer de cijfers van de postcode eerst eens op het scherm te zetten nadat het formulier verzonden is. Daarna kun je pas gaan nadenken hoe de query eruit moeten komen te zien...
<?php

if(!mysql_connect('localhost','user','password'))
{
echo 'Kan niet verbinden met database';
}
elseif(!mysql_select_db('database'))
{
echo 'Kan de tabel niet gebruiken :(';
}
else
{
$query = "SELECT * FROM table";

Ik wil deze query uitvoeren naar aanleiding van de 4 postcodecijfers die de bezoeker invult. Hoe krijg ik hier een textbox?
Leer eerst maar eens html en pas de titel even aan, dit heeft niks met een query te maken
** formulier**
<form method="post" action="verwerk.php"><input type="text" name="postcode"><input type="submit"></form>

** verwerk.php **
<?php
$postcode = $_POST['postcode'];
$laagste_waarde = $postcode - 750;
$hoogste_waarde = $postcode + 750;

$sql = "SELECT * FROM table WHERE postcode BETWEEN '" . $laagste_waarde . "' AND '" . $hoogste_waarde . "'";
$res = mysql_query($sql);
foreach($row = mysql_fetch_array($res)) {
print_r($row);
}
?>


Let wel, er zijn geen enkele validaties en het script is dus ook niet echt veilig. Als je op deze manier queries uit gaat voeren, dan moet je je even gaan verdiepen in SQL Injection ivm security.

Heb je hier iets aan?
Ik weet niet of je met postcode gebieden wil werken, let erop dat een aantal postcode gebieden weer tegen elkaar aanliggen en dat er uitzonderingen zijn

bijv 1235 ligt verder bij 1234 vandaan dan 9876
Ik heb hier een voorbeeld van mijn formulier

<html><body>
<form action="process.php" method="post">
<select name="produkt">
<option>Produkt_a</option>
<option>Produkt_b</option>
<option>Produkt_c</option>
</select>
Quantity: <input name="postcode" type="text" />
<input type="submit" />
</form>
</body></html>


En dit moet volgens mij de query van de postcode zijn;


<html><body>
<?php
if(!mysql_connect('localhost','user','password'))
{
echo 'Kan niet verbinden met database';
}
elseif(!mysql_select_db('database'))

$postcode = $_POST['postcode'];
$laagste_waarde = $postcode - 750;
$hoogste_waarde = $postcode + 750;

$sql = "SELECT * FROM table WHERE postcode BETWEEN '" . $laagste_waarde . "' AND '" . $hoogste_waarde . "'";
$res = mysql_query($sql);
foreach($row = mysql_fetch_array($res)) {
print_r($row);
}
?>

?>
</body></html>


toch krijg ik het niet werkend op de postcode. Wie heeft er een suggestie

Reageren