Hallo,

Sorry, ik ben nog maar begonnen met Php :

Ik heb een query die aan de hand van het ingeven van de postcode, de gemeente als resultaat geeft.
Nu wil ik, als ik de postcode ingeef, de adresgegevens (naam-adres-gemeente-email) uit mysql te zien krijgen, en niet alleen de gemeente.

Alvast bedankt voor jullie tips !

dit is mijn stukje code:

<?php
if (isset($_POST['zoek'])){
$zoekpc = $_REQUEST['pc'];
$sql = "SELECT `plaats`";
$sql .= "FROM `adressen`";
$sql .= "WHERE `postcode` = '$zoekpc'";
require_once('mysql_connect.inc.php');
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_GEBRUIKERSNAAM, MYSQL_WACHTWOORD)
or die("Verbinding mislukt: " . mysql_error());
mysql_select_db("adreslijst") or die("Kon de database niet openen: " . mysql_error());
$result = mysql_query($sql) or die("Query mislukt: " . mysql_error());
$rij = mysql_fetch_assoc($result);
echo "<center>";
echo "<table width = '400' height='50' border='1'>";
echo "<td align ='center'>" . $rij['plaats'] . "</td>";
echo "</table>";
echo "</center>";
mysql_free_result($result);
mysql_close($verbinding);
}
?>
Crispijn schreef op 12.04.2009 14:35
Dit gaat ook niet werken. Variabelen moeten namelijk escaped worden.

Onzin dit werkt gewoon.
Eerst proberen dan pas roepen dat het niet werkt. :)

Jezpur schreef op 12.04.2009 18:50
@Theforce: Ga jij maar eens in een lap tekst met de variabelen binnen quotes .......KNIP.....

Het gaat hier niet om een LAP tekst.

Lappen tekst moet je al helemaal niet quoten, maar gebruik maken van
<?php 
$laptekst=<<<ENDOFLAPTEKST
<tr><td>{$variable1}</td><td>{$variable2}</td><td>{$variable3}</td><td>{$variable4}</td><td>{$variable5}</td>
<tr><td>{$variable6}</td><td>{$variable7}</td><td>{$variable8}</td><td>{$variable9}</td><td>{$variable10}</td>
......
<tr><td>{$variable60}</td><td>{$variable61}</td><td>{$variable62}</td><td>{$variable63}</td><td>{$variable64}</td>
ENDOFLAPTEKST;
?>


GoodLuck René
Gebruik een template-engine en je hoeft niet te kloten met variabelen in de html of het onmogelijke heredoc (zie voorstel van René). Bouwen van een script is één ding, onderhouden van een script is een ander ding. En daar gaat met dit soort ellende heel veel tijd in zitten. Heredoc is nog wel de beroerdste aanpak, het is vlees nog vis.

Kijk eens naar Smarty of XSLT wanneer je met XML aan de slag gaat. XML heeft wel als nadeel dat het nogal wat geheugen vreet, hou dat dus wel in de gaten.
@René: haal variabelen altijd netjes buiten quotes, dat voorkomt een aantal lastige problemen in je scripts en tijdens het debuggen. Dat het op een andere manier ook werkt zal ik niet tegenspreken, maar de vraag is of je dat ook echt moet willen...

Verder ben ik ook niet zo'n voorstander van die heredoc stijl. Allereerst ben ik van mening dat er iets niet goed gaat als je hele lappen tekst/html hard coded in je php scripts hebt staan. Waar is in zo'n geval bijvoorbeeld een template parser gebleven? Daarnaast komt het de overzichtelijkheid naar mijn mening echt niet ten goede, maar goed dat is een smaak waarover te twisten valt.
Even offtopic:
Waarom zou je eigenlijk XML gebruiken, ik heb er nooit echt ervaringen mee gehad, maar het nut zie ik er even niet van in.
XML geeft je heel veel vrijheid, je kunt het met XSLT omzetten naar bv. XHTML, text, SQL, andere XML, pdf, etc. Ook kun je dan eenvoudig interactie opzetten met andere systemen, de boel valideren (en dus ook testen), modulair bouwen, etc. etc. etc. De echte voordelen ga je krijgen in wat grotere systemen en/of organisaties, maar ook in het klein kan het handig zijn. Je krijgt in elk geval de perfecte scheiding tussen data, logica en presentatie.
Jezpur schreef op 12.04.2009 18:50
@Theforce: Ga jij maar eens in een lap tekst met de variabelen binnen quotes een typfout in een variabele veranderen. Een speld in een hooiberg. Met een buiten-quotes-gehaalde variabele kun je zo zien waar 'ie staat :-).


Een typfout in een variabele veranderen vind ik veel makkelijker wanneer de string overzichtelijk is. En dat is hij zonder concatenatie.

Het gebruiken van een template engine staat los van de discussie overigens. Zelf gebruik ik Smarty voor dit werk, maar nog steeds moet je bijvoorbeeld bij SQL query's variabelen in een string zetten.

De website http://wiki.phptuts.nl/Variabelen_buiten_quotes vind ik niet objectief. Hij verkondigt zijn persoonlijke voorkeur (want ja dat is het) als "De enige juiste oplossing". Let's face it: PHP gebruikt in zijn documentatie allebei de vormen. De problemen die geschetst worden in de tutorial bestaan niet. Het is en blijft een kwestie van smaak.

Reageren