Aiuto ecommerce in php

danielelepre

Nuovo Utente
11 Ott 2009
6
0
0
Stockholm
Ciao a tutti!
complimenti a tutti e spero che qualcuno mi possa aiutare...

ho un sito e-commerce (x-cart) in php e mysql per la vendita di elettronica di consumo. Il mio problema é relativo all´aggiornamento delle schede tecniche o descrizioni dei nuovi prodotti inseriti nel database (mysql).
Attualmente le descrizioni dei prodotti vengono copiate manualmente dal sito icecat.biz (il piú grande database di schede tecniche di prodotti tradotti in piú di 25 lingue). Si tratta di una semplice tabella con tutti i dati tecnici del prodotto (un esempio lo trovate quí).

Sto pensando di sviluppare un´applicazione in php che é in grado di copiare queste schede tecniche e incollarle nel database mysql.

Io avevo pensato ad un html parser in php ma a me interesserebbe copiare l´intero codice html di quella tabella nel database perché la stessa tabella verrebbe riprodotta all´interno del mio carrello.

Spero di aver esposto il mio problema in modo comprensibile e spero in un piccolo aiutino.

ciao a tutti!
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Ciao, dovresti accedere al sito con la libreria curl oppure usando direttamente fsockopen, quindi recuperare il codice HTML della pagina e usare delle espressioni regolari per recuperare la porzione che interessa a te.

È sempre un parser, solamente che recupera una parte della pagina più ampia. Spero di esserti stato utile, ma al momento non posso farlo di persona perché non ho tempo.

In ogni caso sul Web trovi migliaia di guide, e se conosci abbastanza bene le espressioni regolari non dovresti avere particolari problemi.
 

danielelepre

Nuovo Utente
11 Ott 2009
6
0
0
Stockholm
Utilissimo!
Grazie per la dritta! Curl sembra perfetto per quello che devo fare. Inizio subito a lavorarci e spero di farcela con la mia conoscenza media di php.

Poi posto il risultato del lavoro quí.
 

danielelepre

Nuovo Utente
11 Ott 2009
6
0
0
Stockholm
Sono riuscito a copiare i tag che volevo da una determinata pagina web e visualizzarli a schermo con il codice sottostante. Come faccio a inviare il tutto a una tabella di un database mysql?

thanks


Codice:
<?php

$config['url']       = "http://www.esempio.com/index.html"; // url della pagina html da copiare
$config['start_tag'] = "<body>"; // tag di inizio copia
$config['end_tag']   = "</body>"; // tag di fine copia
$config['show_tags'] = 1; // mostra tags nel risultato? 1 = si, 0 = no

class grabber
{
	var $error = '';
	var $html  = '';
	
	function grabhtml( $url, $start, $end )
	{
		$file = file_get_contents( $url );
		
		if( $file )
		{
			if( preg_match_all( "#$start(.*?)$end#s", $file, $match ) )
			{				
				$this->html = $match;
			}
			else
			{
				$this->error = "Tags cannot be found.";
			}
		}
		else
		{
			$this->error = "Site cannot be found!";
		}
	}
	
	function strip( $html, $show, $start, $end )
	{
		if( !$show )
		{
			$html = str_replace( $start, "", $html );
			$html = str_replace( $end, "", $html );
			
			return $html;
		}
		else
		{
			return $html;
		}
	}
}

$grab = new grabber;
$grab->grabhtml( $config['url'], $config['start_tag'], $config['end_tag'] );

echo $grab->error;

foreach( $grab->html[0] as $html )
{
	echo htmlspecialchars( $grab->strip( $html, $config['show_tags'], $config['start_tag'], $config['end_tag'] ) ) . "<br>";
}

?>
 

alessandro1997

Utente Attivo
6 Ott 2009
5.302
1
0
26
Roma
alessandro1997.netsons.org
Basta che ti connetti al database e inserisci i dati:
PHP:
<?php
$conn = mysql_connect('localhost', 'root', 'password') or die(mysql_error());
mysql_select_db('nome') or die(mysql_error());

mysql_query("INSERT INTO dati (codice) VALUES ('$html')");
?>

Ovviamente devi modificare il codice secondo le tue esigenze. Ti consiglio di leggerti una guida su come interagire con MySQL tramite PHP.
 

danielelepre

Nuovo Utente
11 Ott 2009
6
0
0
Stockholm
Avevo provato questo ma mi restituisce errore alla riga $result.
Credo che $html non vada bene.


Codice:
//imposto un codice prodotto per il test
$pr_code="34567812";

//Mi connetto al MySql Server
$myconn = mysql_connect('hostname', 'user', 'password') or die("Connessione non riuscita");

//Mi connetto al database dei prodotti
mysql_select_db('nomedb', $myconn) or die("Database non trovato");

//Imposto ed eseguo la query che inserisce il contenuto nel campo descrizione del prodotto $pr_code della tabella products
$query = "UPDATE products SET description='$html' WHERE productcode='$pr_code'";
$result = mysql_query($query, $myconn) or die("Errore nella scrittura dei dati");
echo "Record aggiornato con successo!";
mysql_close($myconn);
 

satifal

Utente Attivo
25 Set 2008
522
13
0
Roma
Modifica il codice nel modo seguente e vedi cosa ti dice:

PHP:
$result = mysql_query($query, $myconn) or die("Errore nella scrittura dei dati: ".mysql_error());

Di che tipo è il campo description?
 

danielelepre

Nuovo Utente
11 Ott 2009
6
0
0
Stockholm
Funziona ora!
Ho cambiato il tipo di campo nella tabella del database da VARCHAR a TEXT e funziona.

Il problema ora é di automatizzare il tutto per una serie di links.
Secondo voi é possibile leggere i codici prodotto e i links delle pagine da copiare da un file excel oppure da un .csv costituito da 2 colonne?

Spero di essere comprensibile
 
Ultima modifica:
Discussioni simili
Autore Titolo Forum Risposte Data
F aiuto!! problemi per il caricamento dei plug in jigoshop e wp ecommerce WordPress 0
E Aiuto per query PHP 8
R Aiuto ripristino sito web Presentati al Forum 0
L Aiuto con DataGridView Visual Basic 1
F Aiuto! cambio immagine di sfondo al cambio pagina HTML e CSS 2
I aiuto urgente per thunderbird Posta Elettronica 0
I aiuto per outlook Posta Elettronica 0
D aiuto funzioni javascript Javascript 1
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
D Aiuto CSS in ELEMENTOR - Cambiare un testo CMS (Content Management System) 0
M Fullcalendar in Codeigniter, un aiuto per la chiamata $ajax ? jQuery 0
K Aiuto con file audio in html HTML e CSS 1
G Script notifiche dekstop aiuto Javascript 0
P Aiuto per rendere un Bot Telegram Privato PHP 1
M Un aiuto da chi ha apple Mac e Software 0
P Richiesta di aiuto Presentati al Forum 1
A Aiuto per pagina php PHP 0
M Questa pagina non carica correttamente Google Maps: aiuto!! HTML e CSS 1
I Aiuto php Dependent Lookup PHP 0
R Aiuto con le query MS Access 2
M AIUTO ESERCIZIO JAVA Javascript 1
G Aiuto con htaccess e rewriterule PHP 0
T cercasi aiuto per file d1 (open-edge db) Database 0
M Aiuto con inserimento immagini WordPress 6
D aiuto schermata photoshop Photoshop 0
L Aiuto per programma web php/mySQL PHP 2
A Aiuto php colore diverso PHP 10
L Aiuto creazione menu mancante WordPress 0
C Aiuto compiuto scuola PHP/MySQL PHP 2
G Insert into select - Aiuto MySQL 0
I Aiuto bash linux Programmazione 1
F Aiuto java script Javascript 2
R Cerco aiuto Offerte e Richieste di Lavoro e/o Collaborazione 7
I Aiuto query MySQL 8
G Aiuto HTML, collegamento con un bottone a una <div> di un' altra pagna HTML e CSS 5
motleyrulez Aiuto con un ciclo PHP 0
R Aiuto sito html Offerte e Richieste di Lavoro e/o Collaborazione 3
claudio_lorenzo [Javascript] aiuto su jquery per calcolo altezze dom Javascript 1
G Mi dite come faccio? Aiuto photoshop ? Photoshop 1
C prestashop paragamento contrassegno aiuto modulo E-Commerce 0
Michelebozzo [PHP] Rimuovere pubblicazione nome pagina ... aiuto! PHP 7
Caldus richiesta aiuto Mac e Software 0
R [Javascript] Aiuto su questo script Javascript 2
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
Giacomo92 [HTML] AIUTO!! Regular Expression :( Offerte e Richieste di Lavoro e/o Collaborazione 15
T Aiuto per php7 e mysqli PHP 3
T mysql tutorial per importare tabelle access in mysql aiuto MySQL 2
K [Java] aiuto switch case Java 1
E salve tutti spero si essere di aiuto e di trovare aiuto Presentati al Forum 2
D [MS Access] aiuto non riesco a capire MS Access 6

Discussioni simili