controle: al in database?

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Guilliano

Guilliano

11/12/2009 10:50:00
Quote Anchor link
Beste,

Ik all rss feed van website af en slaag ze op in mijn database, maar nu wil ik controleren of ik die rssfeed al heb of niet.

Ik zou het zo doen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?
    $hln
= simplexml_load_file('http://www.hln.be/sport/belgischvoetbal/cercle-brugge/rss.xml');

  foreach ($hln->channel->item as $nieuwsItem) {
  $query = mysql_query("SELECT * FROM `nieuws`");
  $nieuws = mysql_fetch_assoc($query);
  if ($nieuws->titel != $nieuwsItem->title) {
      mysql_query("INSERT INTO `nieuws` (`datum`, `beschrijving`, `link`, `titel`) VALUES ('$nieuwsItem->pubDate', '$nieuwsItem->description', '$nieuwsItem->link', '$nieuwsItem->title');");
  }
  }

?>


Maar dat werkt niet, weet iemand een beter voorstel?

Bedankt
 
PHP hulp

PHP hulp

26/12/2024 14:31:10
 
Robert Deiman

Robert Deiman

11/12/2009 11:09:00
Quote Anchor link
@Guilliano
Je kan beter controleren op zo'n manier:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
$hln
= simplexml_load_file('http://www.hln.be/sport/belgischvoetbal/cercle-brugge/rss.xml');

foreach ($hln->channel->item as $nieuwsItem)
{

    $query = mysql_query("SELECT * FROM `nieuws` WHERE titel='".mysql_real_escape_string($nieuwsItem->title)."'");
    if($query && mysql_num_rows($query) == 0)
    {

        mysql_query("INSERT INTO `nieuws` (`datum`, `beschrijving`, `link`, `titel`) VALUES ('$nieuwsItem->pubDate', '$nieuwsItem->description', '$nieuwsItem->link', '$nieuwsItem->title');");
    }
}

?>


Wat jij overigens doet met: fetch_assoc en $nieuws->titel klopt niet, je gebruikt de manier voor fetch_object met die notatie. je had daar ook $nieuws['titel'] moeten gebruiken.

Echter pak jij altijd hetzelfde record met jou controle, omdat je niet de wile methode gebruikt voor de $nieuws. (dit is standaard voor werken met SQL) Dus die controle gaat ook niet werken.
 
Milo

Milo

11/12/2009 13:13:00
Quote Anchor link
En waar is de check of de query wel goed is uitgevoerd
En waarom staan de vars binnen de quote's ;)

Wat ik dus nog even zou toevoegen is:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
<?php
if($query)
{

// Goed
}
else
{
// Fout
}
?>


en de vars buiten de quotes

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo 'Zo haal je '.$variabelen.' buiten de quotes';
?>
 



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.