dsozqcx9668 2011-10-19 19:17
浏览 38
已采纳

php函数和mysql插入

I'm a real beginner with php and I really need help. Here is my code for my first file where I need to call an insertnewmarker function from my second file.

I really dont know how and where to call the function. (the code of the second file is below) I need to insert $name in database

1st file code:

require_once('includes/php.config.db.php');

function curl($url){
        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL, $url);
        curl_setopt($ch, CURLOPT_ENCODING, "gzip");
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
        $data = curl_exec($ch);
        curl_close($ch);
        return $data;
}

libxml_use_internal_errors(true);

$dom = new DOMDocument(); 
@$dom->loadHTMLFile('http://www.kupime.com/aktivne-ponude/'); 
$xpath = new DOMXPath($dom); 
$entries = $xpath->query("//ul[@id='list_offers']//table//a/@href");
$output = array(); 
$i = 1;
foreach($entries as $e) {   
  $dom2 = new DOMDocument(); 
  @$dom2->loadHTMLFile('http://www.kupime.com' . $e->textContent); 
  $xpath2 = new DOMXPath($dom2); 
  $data = array();
  $data['link']= ('http://www.kupime.com' . $e->textContent);
  $data['naslov'] = trim($xpath2->query("//h1[@id='offer_title']")->item(0)->textContent); 
  $data['opis'] = trim($xpath2->query("//div[@id='company_info']")->item(0)->textContent); 
  $data['slika'] = trim($xpath2->query("//div[@id='img_border']/img/@src")->item(0)->textContent); 
  $location = $xpath2->query("//div[@id='location']//script")->item(1)->textContent; 
  preg_match('/var\s+lat\s+=\s+(\d+\.\d+)\s*;/', $location, $lat); 
  preg_match('/var\s+lang\s+=\s+(\d+\.\d+)\s*;/', $location, $lng); 
  $data['lat'] = $lat[1]; 
  $data['lng'] = $lng[1]; 
  $data['popust'] = trim($xpath2->query("//li[@class='discount']")->item(0)->textContent);
  $data['firma'] = trim($xpath2->query("//div[@id='company_info']/h3")->item(0)->textContent); 
  $data['telefon'] = trim($xpath2->query("//div[@id='company_info']/p[2]")->item(0)->textContent);
  $data['email'] = trim($xpath2->query("//div[@id='company_info']/p[3]/a[1]/@href")->item(0)->textContent);
  $data['sajt'] = trim($xpath2->query("//div[@id='company_info']/p[3]/a[2]/@href")->item(0)->textContent);

//vreme
    $data['sat'] = trim($xpath2->query("//div[@class='countdown hasCountdown']/strong[1]")->item(0)->textContent); 
    $data['minut'] = trim($xpath2->query("//div[@class='countdown hasCountdown']/strong[2]")->item(0)->textContent); 
    $data['sekund'] = trim($xpath2->query("//div[@class='countdown hasCountdown']/strong[3]")->item(0)->textContent); 


    $data['vreme'] = time() + $data['sekund']+ $data['minut']*60 + $data['sat']*3600;

$image_url = 'http://www.kupime.com'.$data['slika']; 

  $naslov = $data['naslov'];
  $latitude = $data['lat'];
  $longitude = $data['lng'];
  $latitude = (float) $latitude;
  $lin = $data['link'];
  $vreme = $data['vreme'];

  $popust = str_replace ('POPUST','',$data['popust']);
  $firma = $data['firma']; 
  $telefon = $data['telefon'];
  $email = $data['email'];
  $sajt = $data['sajt'];
  $type = 'bar';

  $latitude = (float) $latitude;
  $longitude = (float) $longitude;

  $output[] = $data; 
} 





?>
</body>
</html>

Second file code:

<?php
error_reporting(true);
$link = mysql_connect('localhost', 'user', 'pass') or die('<p>Connection imposible!</p>');

mysql_select_db('tablename', $link);

mysql_query("SET NAMES utf8");

mysql_query("SET CHARACTER SET utf8");

mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");



function insertNewMarker($name='', $lat='', $lng='', $slika='', $link='', $type='', $popust='', $vaziDo='') {

    if(!empty($name) and !empty($lat) and !empty($lng) and !empty($link)) {

        $name = mysql_real_escape_string(trim($name));



        $sql = "INSERT INTO `markers` (`name`, `lat`, `lng`, `address`, `totolink`, `type`, `popust`, `vaziDo`) VALUES ('$name', '$lat', '$lng', '$slika', '$link', '$type', '$popust', '$vaziDo')";

        mysql_query($sql) or print "<p>Error in SQL Statement ($sql):<br />". mysql_error() .'</p>';

    }

    else {

        print "<p>Polja 'name', 'lat' i 'lng' can't be empty!<br />Vi ste uneli <br />Name:$name<br />Lat:$lat<br />Lng:$lng</p>";

    }

}

?>
  • 写回答

1条回答 默认 最新

  • doumangzhen7204 2011-10-19 19:24
    关注

    [1 file] after:

    $longitude = (float) $longitude;
    

    [1 file] add:

    include('second_file.php');
    insertNewMarker($name, $lat, $lng, $slika, $link, $type, $popust, $vaziDo);
    

    and make sure function arguments $name, $lat, $lng, $slika, $link, $type, $popust, $vaziDo are assigned - i can't help you in this, cause i dont understand your language, anyways it's your job :)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 虚拟机打包apk出现错误
  • ¥30 最小化遗憾贪心算法上界
  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝