Witam mam pytanie odnośnie konstrukcji zapytania mysql. Mianowicie mam pole z wprowadzeniem symbolu urządzenia.
Symbol:
<input type="text" id="sym"/> <input type="button" onclick="symbol()" value="Szukaj"/>
Dalszy fragment w javascript
function symbol() {
var sym = document.getElementById('sym').value;
var searchUrl = 'phpsqlsearch_genxml.php?sym=' + sym;
GDownloadUrl(searchUrl, function(data) {
var xml = GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName('marker');
if (markers.length == 0) {
alert('Nie znaleziono rekordu ');
map.setCenter(new GLatLng(53.748711, 18.938281), 5);
return;
}
Clear();
var bounds = new GLatLngBounds();
for (var i = 0; i < markers.length; i++) {
var name = markers[i].getAttribute('name');
var address = markers[i].getAttribute('address');
var point = new GLatLng(parseFloat(markers[i].getAttribute('lat')),
parseFloat(markers[i].getAttribute('lng')));
var category = markers[i].getAttribute("category");
var html = "<b>"+name+"<\/b><p>"+address;
var marker = createMarker(point, name, html, category);
map.addOverlay(marker);
bounds.extend(point);
}
map.setCenter(bounds.getCenter(), map.getBoundsZoomLevel(bounds));
makeSidebar();
});
}
i oczywiście plik
phpsqlsearch_genxml.php
<?php
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
include ("database.php");
$query = sprintf("SELECT * FROM markers WHERE symbol LIKE '%$sym%' ORDER BY `symbol` DESC",
if (!$result) {
}
header("Content-Type: text/xml");
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("symbol", $row['symbol']);
$newnode->setAttribute("name", $row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("category", $row['cit']);
}
}
?>
Niestety na mapie nie wyświetlają się rekordy o danym wyborze. Podejrzewam że błąd leży w konstrukcji $query. Pls o poradę
Już rozwiązałem problem. Poniżej rozwiązanie
<?php
$dom = new DOMDocument("1.0");
$node = $dom->createElement("markers");
$parnode = $dom->appendChild($node);
include ("database.php");
$query = "SELECT * FROM markers WHERE symbol LIKE '%$sym%'";
if (!$result) {
}
header("Content-Type: text/xml");
$node = $dom->createElement("marker");
$newnode = $parnode->appendChild($node);
$newnode->setAttribute("symbol", $row['symbol']);
$newnode->setAttribute("name", $row['name']);
$newnode->setAttribute("address", $row['address']);
$newnode->setAttribute("lat", $row['lat']);
$newnode->setAttribute("lng", $row['lng']);
$newnode->setAttribute("category", $row['cit']);
}
}