[ nadinne @ 28.10.2010. 15:02 ] @
Zamolila bih Vas za pomoc, koristila sam simple html php dom parser za preuzimanje podataka sa jednog sajta, napravila sam klasu koja bi trebalo da parserovanim podacima popuni bazu, problem je sto se podaci ne insertuju u bazu Jel ima neko ideju kako da resim problem? evo koda: Code: <?php $server="localhost"; $user="root"; $pass=""; $db="baza_bioskopa"; include_once('simple_html_dom.php'); require_once('config.php'); include_once('database.php.inc'); if(isset($database)) { echo "true"; } else { echo "false"; } echo "<br />"; echo $database->mysql_prep("it's working? <br/>"); $conn=new MySQLDatabase($server,$user,$pass,$db); $conn->open_connection(); function nadjiPozicijuStringa($search, $string, $offset) { $arr = explode($search, $string); switch( $offset ) { case $offset == 0: return false; break; case $offset > max(array_keys($arr)): return false; break; default: return strlen(implode($search, array_slice($arr, 0, $offset))); } } $html = file_get_html('http://www.filmoskop.com/bioskopi'); foreach($html->find('div.list-compact') as $e) { $bioskop = $e->find('a'); $podaci = $e->find('span'); $filmovi = $e->find('li'); echo "BIOSKOP: " . $bioskop[0]->attr["name"]; //echo "<br>PODACI: " . $podaci[1]->innertext; echo "<br>FILMOVI: <br>"; foreach($filmovi as $film) { $pozicija_drugog_vece = nadjiPozicijuStringa(">", $film, 2); $pozicija_treceg_manje = nadjiPozicijuStringa("<", $film, 3); $imefilma = substr($film , $pozicija_drugog_vece+1, $pozicija_treceg_manje-$pozicija_drugog_vece-1); echo $imefilma . "<br>"; echo $film->plaintext. '<br>'; //ekstrakcija vremena $pozicija_treceg_vece = nadjiPozicijuStringa(">", $film, 3); $pozicija_cetvrtog_manje = nadjiPozicijuStringa("<", $film, 4); $svavremena = substr($film , $pozicija_treceg_vece+1, $pozicija_cetvrtog_manje-$pozicija_treceg_vece-1); $svavremena = substr($svavremena, 3); $vremenaniz = explode(", ", $svavremena); foreach($vremenaniz as $vreme) { echo "POCETAK PROJEKCIJE:" . $vreme. '<br>'; } } } $sql = "INSERT INTO bioskopi (ID_bioskopa, naziv_bioskopa, podaci) VALUES (1,$bioskop,'$podaci')"; $sql = "INSERT INTO repertoar (ID_filma, ID_bioskopa, vreme_projekcije) VALUES (1,1,'$vreme') "; //$sql = "INSERT INTO filmovi (ID_filma, naziv_filma, opis_filma) VALUES ('$imefilma') "; $result = $database->query($sql); $conn->close_connection(); ?> i jos Code: <?php require_once('config.php'); class MySQLDatabase{ /* var $server="localhost"; var $user="root"; var $pass=""; var $database="baza_bioskopa"; var $conn=0; var $upit=0;*/ private $connection; function __construct() { $this->open_connection(); } public function open_connection() { $this->connection = mysql_connect(DB_SERVER, DB_USER, DB_PASS); if (!$this->connection) { die("Database connection failed: " . mysql_error()); } else { $db_select = mysql_select_db(DB_NAME, $this->connection); if (!$db_select) { die("Database selection failed: " . mysql_error()); } } } public function close_connection() { if(isset($this->connection)) { mysql_close($this->connection); unset($this->connection); } } public function query($sql) { $result = mysql_query($sql, $this->connection); $this->confirm_query($result); return $result; } private function confirm_query($result) { if (!$result) { die("Database query failed: " . mysql_error()); } } public function mysql_prep( $value ) { $magic_quotes_active = get_magic_quotes_gpc(); $new_enough_php = function_exists( "mysql_real_escape_string" ); // i.e. PHP >= v4.3.0 if( $new_enough_php ) { // PHP v4.3.0 or higher // undo any magic quote effects so mysql_real_escape_string can do the work if( $magic_quotes_active ) { $value = stripslashes( $value ); } $value = mysql_real_escape_string( $value ); } else { // before PHP v4.3.0 // if magic quotes aren't already on then add slashes manually if( !$magic_quotes_active ) { $value = addslashes( $value ); } // if magic quotes are active, then the slashes already exist } return $value; } } $database = new MySQLDatabase(); $db =& $database; ?> na ovom linku je taj prakticni parser: dom parser Hvala puno na svakoj sugestiji, PHP Juniorka |