Toon posts:

[php] Ophalen gegevens uit tabel in remote pagina*

Pagina: 1
Acties:
  • 31 views sinds 30-01-2008

Verwijderd

Topicstarter
ok sorry in mijn vorige topics waren de vragen idd wel een beetje te basic.. ik heb nu het één en ander gevonden.

Ik ben van plan om een tabel te maken waar de valutanamen al instaan en de koersen daarvan heel de tijd geupdated worden.

ik dacht aan deze regel:

$query = "UPDATE koersen SET verkoop='$verkoop', koop='$koop' WHERE valuta=$valuta";

Alleen er is 1 probleem

alle koersen staan in een blokje html als dit:
<tr bgcolor="#FFFFFF">
<td class="TVX_text">Amerika - dollar</td>
<td class="TVX_text" align="right">1,3545</td>
<td class="TVX_text" align="right">1,2504</td>

hoe haal ik alleen die 2 koersen die daar staan eruit?
en hoe werkt het als ik deze bewerking niet alleen voor de Amerikaanse dollar wil uitvoeren, maar voor alle valuta?

  • Boertje
  • Registratie: September 2001
  • Laatst online: 07:55
kijk is op php.net naar de explode functie

  • André
  • Registratie: Maart 2002
  • Laatst online: 06-05 11:13

André

Analytics dude

Je kunt het opslaan toch ook doen op het moment dat je de getallen op het scherm zet? Het is wel een rare omweg om ze eerst te rippen, ze dan op het scherm te plaatsen om vervolgens die getallen weer uit te lezen. En je kunt geen clientside code uitlezen met serverside asp, daarvoor zul je eerst de html weer moeten posten.

  • 4VAlien
  • Registratie: November 2000
  • Laatst online: 08-04 20:02

4VAlien

Intarweb!

Ik denk dat de TS bedoelt dat hij de koersen uit een remote html pagina haalt. Ik zou inderdaad naar explode kijken en gewoon door de str<naam> (strpos, strtok) functies browsen om te kijken wat je kan gebruiken. Parsen is in principe niet heel moeilijk als je het eenmaal een keer gedaan hebt :| Als je op *nix host kan je ook kijken naar shell functies zoals grep. Dan zou `grep <td> <pagina.html` bijvoorbeeld alleen de table cells geven, zo kom je makkelijk van de rest van de pagina af.

[ Voor 26% gewijzigd door 4VAlien op 01-05-2005 16:17 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Creepy linkte in zijn sluitpost al naar Je topic is dicht en het is onterecht? Lees hier!. In principe is het not done om een topic dat over hetzelfde probleem gaat opnieuw te openen zonder eerst te overleggen met een moderator. In dit geval zal ik je topic open laten omdat je toch wat meer moeite hebt gedaan, maar de volgende keer dat je zonder overleg met een moderator een gesloten topic opnieuw opent, dan gaat het zonder meer op slot. :)

Om in te gaan op je probleem: je zou zoals Boertje al zegt kunnen kijken naar explode, maar persoonlijk lijkt een regular expression me het handigst. Daar staat ook een mooi stukje over in onze FAQ. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
ik denk dat de explode functie bij mij geen nut heeft..
ik moet als het ware een lusje maken zoals zoiets:

- 2 koersen uit de tekst halen
- De koersen in de tabel mikken met $query = "UPDATE koersen SET verkoop='$verkoop', koop='$koop' WHERE valuta=$valuta";

en dit lusje dan hoeveel koersen er op de pagina staan dus voor elk blokje HTML (zie bron van http://djlars.uitgaansforum.nl/inf/rip3.php..)

  • JHS
  • Registratie: Augustus 2003
  • Laatst online: 04-01 15:49

JHS

Splitting the thaum.

En bij het uit de tekst halen van de koersen kan explode je toch op zich wel helpen? Alleen lijkt mij persoonlijk een regular expression wat makkelijker...

DM!


Verwijderd

Topicstarter
ik heb nu deze code in een 2e php file gemaakt:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?
$file = fopen("http://djlars.uitgaansforum.nl/inf/rip4.php","r");
$test=FALSE;
if (!$file) {
echo "<p>Unable to view page :(\n";
exit;
}
while (!feof($file)) 
{
$line = fgets($file, 2048);
if (eregi('B' , $line)) {$test = TRUE;};      //begin zoeken
if (eregi('E' , $line)) {$test = FALSE;};    //einde zoeken
if ($test == TRUE)
{ 
$line = stripslashes($line);
//(strip hier nog meer zooi die je niet nodig heb)

$line = explode(" ", $line);
echo "" . $line['15'];
}} 
fclose($file);
?>


alleen als ik deze pagina open blijft hij blanco.. hoe kan dit nou?

pagina: http://djlars.uitgaansforum.nl/inf/rippen.php

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Zet
PHP:
1
error_reporting(E_ALL);
boven je code. Kijk verder eens naar de functie file.

Verder, wen jezelf eens aan om code in te springen met tabs. Dit is dan nog wel te lezen, maar zet er meer code bij en het wordt een warboel. Bovendien zie ik nog meer vreemde dingen, zoals op regel 19. Waarom plak je een lege string vast aan een andere string? En waarom staat 15 tussen aanhalingstekens?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
die aanhalingstekens, sja geen idee...
en die lege string omdat hij het anders niet deed.. kreeg een rare foutmelding.. zo deed hij het wel

met jou stukje code boven mijn script krijg ik dit een stuk of heel wat keer te zien:
Notice: Undefined index: 7 in /home/httpd/vhosts/uitgaansforum.nl/subdomains/djlars/httpdocs/inf/rippen.php on line 31

weet niet goed wat ik ermee aan moet, ongedefineerd maar geen idee hoe ik dit kan oplossen..

die 7 is in die oude code die 15 als het ware..

Wat is het teken voor een nieuwe regel in php zeg maar.. dan bedoel ik niet de <br>.. maar als je een code hebt en je drukt op enter gaat ie naar een nieuwe regel maar er komt geen <br> te staan, heb je daar in php een teken of een code voor? ik doel meer op de fucntie explode() waar bij je bij de 1e parameter het scheidingsteken in moet vullen, maar daar heb ik een nieuwe regel voor zeg maar.. vandaar..

[ Voor 39% gewijzigd door Verwijderd op 01-05-2005 20:49 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Verwijderd schreef op zondag 01 mei 2005 @ 20:34:
die aanhalingstekens, sja geen idee...
en die lege string omdat hij het anders niet deed.. kreeg een rare foutmelding.. zo deed hij het wel

met jou stukje code boven mijn script krijg ik dit een stuk of heel wat keer te zien:
Notice: Undefined index: 7 in /home/httpd/vhosts/uitgaansforum.nl/subdomains/djlars/httpdocs/inf/rippen.php on line 31

weet niet goed wat ik ermee aan moet, ongedefineerd maar geen idee hoe ik dit kan oplossen..

die 7 is in die oude code die 15 als het ware.
De index 7 bestaat gewoon niet. Op de een of andere manier wordt die gewoon niet gevuld.
Wat is het teken voor een nieuwe regel in php zeg maar.. dan bedoel ik niet de
.. maar als je een code hebt en je drukt op enter gaat ie naar een nieuwe regel maar er komt geen
te staan, heb je daar in php een teken of een code voor? ik doel meer op de fucntie explode() waar bij je bij de 1e parameter het scheidingsteken in moet vullen, maar daar heb ik een nieuwe regel voor zeg maar.. vandaar..
Afhankelijk van je OS is dat \n, \r, \r\n of \n\r. Voor Linux is het \n, en voor Windows \r\n.

Ik raad je aan de documentatie eens door te lezen, of wat actiever op Google te zoeken. [google=newline php] had je meteen bij de eerste hit al uitgelegd wat je moet doen. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
bedankt voor de aanwijzingen, het is nu gelukt om de koersen aan te roepen met het bestand rippenfinal.php (zie:http://djlars.uitgaansforum.nl/inf/rippenfinal.php).. in deze code staat dus de explode() fucntie, met de variabele $bron[1], $bron[2], $bron[3], enz enz. kan je alle koersen te pakken krijgen.. alleen nu is mijn vraag hoe ik een soort lus maak waar ik het al eerder over had, waar bij het getal achter $bron[... heel de tijd 1 opgehoogd word maar uiteindelijk stopt bij de laatste...
en bij elke keer dat de lus uitgevoerd word, hij geupdate word in de db..
iemand een idee?

Ik heb denk ik al iets gevonden: for en while lussen.. ik ga ff proberen

[ Voor 7% gewijzigd door Verwijderd op 01-05-2005 22:14 ]


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Sorry, maar nu doe ik je topic toch op slot. Er mist bij jou iets aan basiskennis. Dat is op zich niet erg, maar dan is dit forum misschien niet zo geschikt voor je. Probeer www.beginnersweb.nl eens, of lees een paar goede boeken of tutorials. Ook door de documentatie bladeren wil wel eens helpen. :)

Wat jij zoekt is overigens een foreach, vermoed ik. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.