Kod
<?php
include('config.php');
$_POST['data'] = date('Y-m-d');
$sSite = "$adresid";
$sQ = "$frazaid";
$sPackCnt = 10; // ilość podstron
$sPackSize = 10; // ilość wyników na stronie
$sStartPos = 0; // pozycja startowa
$sFinishPos = '-'; // pozycja końcowa
$sLinkRegExp = '/<h3 class=r><a href="([^"]+)" class=l>/';
$sURLTpl = 'http://www.google.pl/search?hl=pl&q=%s';
for($sPack = 0; $sPack < $sPackCnt; $sPack++)
{
$sStartPos = $sPackSize * $sPack;
$rC = curl_init();
curl_setopt($rC, CURLOPT_HEADER, 0);
curl_setopt($rC, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($rC, CURLOPT_VERBOSE, 1);
curl_setopt($rC, CURLOPT_REFERER, 'www.google.pl');
curl_setopt($rC, CURLOPT_URL, sprintf($sURLTpl, urlencode($sQ)) . '&start=' . $sStartPos );
$sData = curl_exec($rC);
curl_close($rC);
preg_match_all($sLinkRegExp, $sData, $aResults);
$aResults = array_pop($aResults);
foreach($aResults as $iKey => $sRow) {
if(strpos(strip_tags($sRow), 'http://' . $sSite) !== false) {
$sFinishPos = $sStartPos + $iKey + 1;
$sPack = $sPackCnt;
}
}
}
printf("%s", $sFinishPos ) /// ta linijka pokazuje pozycję
try
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$pdo = new PDO('mysql:host='.$host.';dbname='.$dbname.'', "$user", "$pass", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$ilosc = $pdo -> exec('INSERT INTO `pozycja` (`adresid`, `frazaid`, `miejsce`, `data`)VALUES(
\''.$_POST['adresid'].'\',
\''.$_POST['frazaid'].'\',
\''.$_POST['miejsce'].'\', /// a tutaj mam problem z wpisaniem
\''.$_POST['data'].'\')');
if($ilosc > 0)
{
echo 'Dodano: '.$ilosc.' rekordow';
}
}
}
catch(PDOException $e)
{
echo 'Wystapil blad biblioteki PDO: ' . $e->getMessage();
}
?>
include('config.php');
$_POST['data'] = date('Y-m-d');
$sSite = "$adresid";
$sQ = "$frazaid";
$sPackCnt = 10; // ilość podstron
$sPackSize = 10; // ilość wyników na stronie
$sStartPos = 0; // pozycja startowa
$sFinishPos = '-'; // pozycja końcowa
$sLinkRegExp = '/<h3 class=r><a href="([^"]+)" class=l>/';
$sURLTpl = 'http://www.google.pl/search?hl=pl&q=%s';
for($sPack = 0; $sPack < $sPackCnt; $sPack++)
{
$sStartPos = $sPackSize * $sPack;
$rC = curl_init();
curl_setopt($rC, CURLOPT_HEADER, 0);
curl_setopt($rC, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($rC, CURLOPT_VERBOSE, 1);
curl_setopt($rC, CURLOPT_REFERER, 'www.google.pl');
curl_setopt($rC, CURLOPT_URL, sprintf($sURLTpl, urlencode($sQ)) . '&start=' . $sStartPos );
$sData = curl_exec($rC);
curl_close($rC);
preg_match_all($sLinkRegExp, $sData, $aResults);
$aResults = array_pop($aResults);
foreach($aResults as $iKey => $sRow) {
if(strpos(strip_tags($sRow), 'http://' . $sSite) !== false) {
$sFinishPos = $sStartPos + $iKey + 1;
$sPack = $sPackCnt;
}
}
}
printf("%s", $sFinishPos ) /// ta linijka pokazuje pozycję
try
{
if($_SERVER['REQUEST_METHOD'] == 'POST')
{
$pdo = new PDO('mysql:host='.$host.';dbname='.$dbname.'', "$user", "$pass", array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));
$ilosc = $pdo -> exec('INSERT INTO `pozycja` (`adresid`, `frazaid`, `miejsce`, `data`)VALUES(
\''.$_POST['adresid'].'\',
\''.$_POST['frazaid'].'\',
\''.$_POST['miejsce'].'\', /// a tutaj mam problem z wpisaniem
\''.$_POST['data'].'\')');
if($ilosc > 0)
{
echo 'Dodano: '.$ilosc.' rekordow';
}
}
}
catch(PDOException $e)
{
echo 'Wystapil blad biblioteki PDO: ' . $e->getMessage();
}
?>
Do bazy wpisuje się adresid, frazaid, miejsce, data. Problem pojawia się z kolumną miejsce, ponieważ nie wiem jak zrobić żeby wynik, który pokazywany jest tutaj printf("%s", $sFinishPos ) został dodany do bazy. Odpowiada za to \''.$_POST['miejsce'].'\', różne rzeczy tam wpisywałem ale zawsze dodawał mi 0.
Kolumny adresid, frazaid, data wpisywane są poprawnie do bazy.