Van xml naar DB

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Ferdi R

Ferdi R

02/01/2010 18:37:00
Quote Anchor link
Ik weet geen oplossing voor het onderstaand script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?php
ini_set( 'display_errors', 1 );
error_reporting( E_ALL | E_STRICT );

include 'config.php';
    
// Produckt feeds ophalen van Castlegames.nl op tradetracker.nl

$console = 'playstation portable';  // playstation portable, playstation 2, playstation 3, nintendo ds, nintendo wii, xbox 360,
$XmlLocatie = "http://pf.tradetracker.net/?aid=14245&type=xml&encoding=utf-8&fid=936&categoryType=2&additionalType=2";    //XML link

// Database legen
//$delDB = mysql_query("TRUNCATE spellen");

     
$Xml = simplexml_load_file($XmlLocatie);
if ( $Xml === false )
{

    exit( 'XML bestand: ' . $XmlLocatie . ' Kan niet geopend worden.');
}

else
{
    foreach($Xml->product as $items)
    {

        $naam = $items->name;
        $prijs = $items->price;
        $link = $items->productURL;
        $foto = $items->imageURL;
        $categorie = $items->categories->category;
        
        //echo $naam.'<br />';
        //echo $prijs.'<br />';
        //echo $link.'<br />';
        //echo $foto.'<br />';
        //echo $categorie.'<br />';
        
        //echo '<br /><br />Addits:<br /><br />';

        foreach($Xml->product->additional->field as $key => $field)
        {

            //echo $field['name'].' - '.$field.'<br />';
            if($field['name'] == 'productID'){$produktid = $field;}
            if($field['name'] == 'verzendkosten'){$verzendkosten = $field;}  
        }
            
        
        //echo $produktid.'<br />';
        //echo $verzendkosten.'<br />';                       

        
        if($categorie == $console)
        {

            $sql_insert = "INSERT INTO spellen                     
                (produktid, naam, prijs, link, foto, categorie, verzendkosten)
            VALUES
                ('$produktid', '$naam', '$prijs', '$link', '$foto', '$categorie', '$verzendkosten')"
;            
            $result = mysql_query($sql_insert);
        }            
    }

        unset($items);    
        echo 'invoer gelukt';    
}

?>


Als ik alles echo dat is alles goed maar nu wil ik het opslaan in een DB maar de produktid en verzendkosten krijg ik niet in mijn database, Hoe kan ik dit oplossen?
 
PHP hulp

PHP hulp

22/12/2024 18:57:10
 

02/01/2010 18:46:00
Quote Anchor link
Variabelen buiten quotes.
Waar is de sql foutafhandeling?
 
Ferdi R

Ferdi R

02/01/2010 18:49:00
Quote Anchor link
Waar zie jij een variabele binnen een quote? En met de sql ga ik later mee verder als ik de rest werkend heb.
 
Noppes

Noppes

02/01/2010 18:49:00
Quote Anchor link
Door de juiste logica toe te passen.

En de juiste logica kan je ontdekken door de XML te bestuderen en je code er nog eens goed op na te kijken....

Je gokt er eigenlijk op dat het laatste additionele gegevens van produkt produkt en verzendkosten opleveren.....
 
Noppes

Noppes

02/01/2010 18:52:00
Quote Anchor link
O.A hier:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
$sql_insert
= "INSERT INTO spellen                    
                (produktid, naam, prijs, link, foto, categorie, verzendkosten)
            VALUES
                ('$produktid', '$naam', '$prijs', '$link', '$foto', '$categorie', '$verzendkosten')"
;            
?>


en wat dacht je van bescherming tegen SQL-Injection?
 

02/01/2010 18:52:00
Quote Anchor link
$sql_insert = "INSERT INTO spellen
(produktid, naam, prijs, link, foto, categorie, verzendkosten)
VALUES
('$produktid', '$naam', '$prijs', '$link', '$foto', '$categorie', '$verzendkosten')";

Je gaat later pas met de sql verder, maar je wilt het nu in de database hebben. Hoe wil je dat voor elkaar krijgen?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.