Готовые примеры скриптов
Наши программисты подготовили для вас заготовки скриптов, чтобы упростить работу ваших программистов.
Вам остается только поправить SQL запрос под структуру вашей базы данных. Если у вас нет программиста,
либо он не может подготовить скрипт - пожалуйста, воспользуйтесь
помощью наших программистов. Бесплатно!
Выберите предпочтительный язык программирования:
PHP4 / PHP5
Отправляем запрос методом GET
Например http://www.mysite.com/xml.php?search=MAX232
Загрузить архив с файлом скрипта и файлом структуры SQL базы
<?php
$mysql_host = 'localhost';
$mysql_base = 'store';
$mysql_user = 'store_user';
$mysql_password = 'qwerty';
$search = trim(stripslashes($_GET['search']));
if (strlen($search) < 4) {
echo '<data />';
exit();
}
$search = @mysql_real_escape_string($search);
@mysql_connect($mysql_host, $mysql_user, $mysql_password) or die('<data />');
@mysql_select_db($mysql_base);
ob_start();
$sql = "SELECT * FROM pricelist WHERE part LIKE '".$search."%' ORDER BY part LIMIT 20";
$result = @mysql_query($sql);
if (@mysql_num_rows($result) > 0) {
echo '<data>';
while ($row = @mysql_fetch_array($result)) {
echo '<line>';
foreach ($row as $i=>$j)
$row[$i] = str_replace(array(' ', '<', '>'),
array(' ' ,'<', '>'), trim($j));
echo '<part>'.$row['part'].'</part>';
echo (!empty($row['mfr'])) ? '<mfr>'.$row['mfr'].'</mfr>' : '';
echo (!empty($row['note'])) ? '<note>'.$row['note'].'</note>' : '';
echo (!empty($row['stock'])) ? '<stock>'.$row['stock'].'</stock>' : '';
if (!empty($row['price']) && $row['price'] > 0))
echo '<p1>'.round($row['price'], 4).'</p1>' : '';
echo '<cur>euro</cur>';
echo '</line>';
}
echo '</data>';
} else {
echo '<data />';
}
ob_end_flush();
@mysql_close();
?>
Perl
Отправляем запрос методом GET.
Например http://www.mysite.com/cgi-bin/xml.pl?search=MAX232
Загрузить архив с файлом скрипта и файлом структуры SQL базы
#!/usr/bin/perl
use strict;
use CGI;
use DBI;
my $mysql_host = 'localhost';
my $mysql_base = 'store';
my $mysql_user = 'store_user';
my $mysql_password = 'qwerty';
my $q = new CGI;
my $ret = '';
eval {
my $dbh = DBI->connect("dbi:mysql:$mysql_base:$mysql_host",
$mysql_user, $mysql_password) or die $DBI::errstr;
my $search = ($q->param('search') or $ARGV[0]);
unless (length $search < 4) {
my $list = $dbh->selectall_arrayref(
"SELECT * FROM pricelist WHERE part LIKE ? ORDER BY part LIMIT 20",
{ Slice => {} },
$search . '%'
) or die $DBI::errstr;
if (defined $list && @$list) {
$ret .= '<data>';
while (my $row = shift @$list) {
$ret .= '<line>';
foreach my $i (keys %$row) {
$row->{$i} =~ s/\s{2,}/ /g;
$row->{$i} =~ s/</</g;
$row->{$i} =~ s/>/>/g;
}
$ret .= '<part>' . $row->{'part'} . '</part>';
for (qw /mfr note stock/) {
$ret .= "<$_>" . $row->{$_} . "</$_>"
if $row->{};
}
$ret .= '<p1>' . sprintf ('%.4f', $row->{'price'}) . '</p1>'
if $row->{'price'} > 0;
$ret .= '<cur>euro</cur>';
$ret .= '</line>';
}
$ret .= '</data>';
}
} else {
$ret = '<data />';
}
};
if ($@) {
warn $@;
print $q->header('text/xml', '500 Internal Server Error'), "<data />";
} else {
print $q->header('text/xml', '200 OK'), $ret;
}
ASP
Отправляем запрос методом GET.
Например http://www.mysite.com/xml.asp?search=MAX232
Загрузить архив с файлом скрипта и файлом структуры SQL базы
Для использования БД MySQL под Windows ASP вам надо установить MySQL ODBC Driver.
Вы можете загрузить его с сайта MySQL. Если вы размещаете
свой сайт на одном из популярных хостингов, то MyODBC driver уже должен быть установлен.
<%
on error resume next
dim SearchStr
set SearchStr = trim(Request.QueryString("search"));
if len(SearchStr) < 4 then
response.write "<data />"
Response.End
end if
dim DBhost
dim DBname
dim DBusername
dim DBpassword
DBhost = "localhost"
DBname = "mydatabase"
DBusername = "guest"
DBpassword = "qwerty"
dim ADOConnection
dim ADOResults
set ADOConnection = Server.CreateObject("ADODB.Connection")
set ADOResults = Server.CreateObject("ADODB.Recordset")
ADOConnection.Open "Driver={mySQL}; Server=" & DBhost &
"; Port=3306; Option=0; Socket=; Stmt=; Database=" & DBname &
"; Uid=" & DBusername & "; Pwd=" & DBpassword & ";"
ADOResults.ActiveConnection = ADOConnection
if ADOConnection.errors.count = 0 then
ADOResults.Open "SELECT part, mfr, price, stock, description FROM pricelist
WHERE partno LIKE '" & SearchStr & "%' LIMIT 20"
if ADOResults.Fields.Count > 0 then
response.write "<data>"
while not ADOResults.EOF
response.write "<line>"
response.write "<part>" & ADOResults.fields(0).value & "</part>"
If not IsEmpty(ADOResults.fields(1).value) then
response.write "<mfr>" & ADOResults.fields(1).value & "</mfr>"
end if
If IsNumeric(ADOResults.fields(2).value) then
response.write "<p1>" & ADOResults.fields(2).value & "</p1>"
end if
If not IsEmpty(ADOResults.fields(3).value) then
response.write "<stock>" & ADOResults.fields(3).value & "</stock>"
end if
If not IsEmpty(ADOResults.fields(4).value) then
response.write "<note>" & ADOResults.fields(4).value & "</note>"
end if
response.write "<cur>euro</cur>"
response.write "</line>"
ADOResults.MoveNext
wend
response.write "</data>"
else
response.write "<data />"
end if
else
response.write "ERROR: Couldn't connect to database"
end if
set ADOConnection = nothing
set ADOResults = nothing
%>