Hallo,

Ik ben bezig met een toto script en als extra'tje lijkt het me leuk om alle voorgaande duels van teams te laten tonen bij de statistieken van een wedstrijd. Aangezien ik een html bestand met daarin alle gespeelde wedstrijden in de eredivisie heb, maar ik ze nog niet in de database heb wil ik vragen of iemand weet hoe ik de gegevens netjes in een array krijg?

Waarschijnlijk moet ik met strip werken ofzo? Ik weet niet precies hoe kan iemand me misschien helpen?

Het in de database krijgen is het probleem eigenlijk niet. Ik wil eigenlijk weten hoe ik het in een nette array krijg?

het html bestand ziet er zo uit:

<tr><td>2006-2007</td>
<td>2006-09-10</td>
<td>NEC</td>
<td>AZ</td>
<td>0</td>
<td>2</td>
</tr>

<tr><td>2006-2007</td>
<td>2006-09-10</td>
<td>Sparta Rotterdam</td>
<td>Feyenoord</td>
<td>1</td>
<td>4</td>
</tr>

enzovoort..

Ik wil de volgende gegevens graag in een array hebben:

- seizoen
- datum
- thuisTeam
- uitTeam
- thuisScore
- uitScore
<?php
$arr = array('<tr><td>2006-2007</td><td>2006-09-10</td><td>Ajax</td><td>Vitesse</td><td>3</td><td>0</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>FC Groningen</td><td>Heracles Almelo</td><td>2</td><td>1</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>FC Utrecht</td><td>RKC Waalwijk</td><td>5</td><td>0</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>NEC</td><td>AZ</td><td>0</td><td>2</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>Sparta Rotterdam</td><td>Feyenoord</td><td>1</td><td>4</td></tr>'
);
echo '<table>';
foreach($arr AS $val)
{
echo '<tr>';
$val = str_replace('<tr>', '', $val);
$val = str_replace('</tr>', '', $val);
$val = str_replace('<td>', '', $val);
$ex = explode('</td>', $val);
foreach($ex AS $dat)
{
echo '<td>' . $dat . '</td';
}
echo '</tr>';
}
echo '</table>';
?>
Is getest. Als je dus die regels in het array() $arr zet werkt dit script.

Edit: Zie en klik op test.
ten eerste bedankt voor jullie goede reacties..!
Ik heb het eerste script van Willem Jan nu gebruikt en het werkt goed. Alleen weet ik nog niet hoe ik de juiste gegevens bij elkaar krijg en ze in de database kan stoppen? (mysql)
Met mijn script kan je ze zo in een $var zetten en dus ook in de database.
<?php
foreach($arr AS $val)
{
echo '<tr>';
$val = str_replace('<tr>', '', $val);
$val = str_replace('</tr>', '', $val);
$val = str_replace('<td>', '', $val);
$ex = explode('</td>', $val);
// nu zit er één regel in het array() $ex
// dus bv. $ex[0] is '2006-2007'
// $ex[1] is '2006-09-10'
// enz.
}
?>
Edit: Typo.
en hoe selecteer ik dan alleen van de eerste wedstrijd (ajax - vitesse) alle gegevens?
ik denk nu dat ik op de goede weg zit.. Zodra ik er niet uitkom laat ik weer wat van me horen. En zodra het gelukt is natuurlijk ook !
Dat zit weer in $arr[0] alleen dan nog wel met de tags erbij.
Om alléén de eerste gegevens te krijgen kun je dit doen:
<?php
$val = str_replace('<tr>', '', $arr[0]);
$val = str_replace('</tr>', '', $val);
$val = str_replace('<td>', '', $val);
$ex = explode('</td>', $val);
?>
En nu zitten de gegevens van de eerste regel netjes in het array() $ex.
ik heb het nu werkend :D

alleen nog 1 ding wat waarschijnlijk vrij makkelijk is maar het is me nog even niet gelukt.. hieronder eerst het script:

<?php
//---------------------------------------------------------
// Connectie maken met de database
//---------------------------------------------------------
mysql_connect('localhost', 'root', '');
mysql_select_db('toto');

//data
$arr = array('<tr><td>2006-2007</td><td>2006-09-10</td><td>Ajax</td><td>Vitesse</td><td>3</td><td>0</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>FC Groningen</td><td>Heracles Almelo</td><td>2</td><td>1</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>FC Utrecht</td><td>RKC Waalwijk</td><td>5</td><td>0</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>NEC</td><td>AZ</td><td>0</td><td>2</td></tr>',
'<tr><td>2006-2007</td><td>2006-09-10</td><td>Sparta Rotterdam</td><td>Feyenoord</td><td>1</td><td>4</td></tr>'
);
echo '<table>';

foreach($arr AS $val)
{
echo '<tr>';
$val = str_replace('<tr>', '', $val);
$val = str_replace('</tr>', '', $val);
$val = str_replace('<td>', '', $val);
$ex = explode('</td>', $val);
// nu zit er één regel in het array() $ex
// dus bv. $ex[0] is '2006-2007'
// $ex[1] is '2006-09-10'
// enz.

//---------------------------------------------------------
// TEAM toevoegen team_id teamnaam competitie
//---------------------------------------------------------
$query = "INSERT INTO eredivisieresults (seizoen, datum, thuisPloeg, uitPloeg, thuisDoelpunten, uitDoelpunten)
VALUES ('$ex[0]', '$ex[1]', '$ex[2]', '$ex[3]', '$ex[4]', '$ex[5]')";
$result= mysql_query($query) or die ("FOUT: " . mysql_error());

}
?>

nu gebruikt hij alleen de data die in de array staat maar ik wil graag dat hij het volgende gebruikt:

$string = file_get_contents('d:\eredivisie.txt');

hoe krijg ik $string in de array?
Als je in plaats van file_get_contents() [php]file()[/php] gebruikt dan zit het direct in een array().
ok thnx het werk!

<?php
//maximum time naar 0 zetten
if(!ini_get('safe_mode')) {
@set_time_limit(0);
@ini_set('max_execution_time', 0);
}

//---------------------------------------------------------
// Connectie maken met de database
//---------------------------------------------------------
mysql_connect('localhost', 'root', '');
mysql_select_db('toto');

//includen data
$arr = file('d:\eredivisie.txt');
echo '<table>';

foreach($arr AS $val)
{
echo '<tr>';
$val = str_replace('<tr>', '', $val);
$val = str_replace('</tr>', '', $val);
$val = str_replace('<td>', '', $val);
$ex = explode('</td>', $val);

//---------------------------------------------------------
// inserten in database
//---------------------------------------------------------
$query = "INSERT INTO eredivisieresults (seizoen, datum, thuisPloeg, uitPloeg, thuisDoelpunten, uitDoelpunten)
VALUES ('$ex[0]', '$ex[1]', '$ex[2]', '$ex[3]', '$ex[4]', '$ex[5]')";
$result= mysql_query($query) or die ("FOUT: " . mysql_error());

}
?>
Als je het alleen insert kunnen echo '<table>'; en echo '<tr>'; er nog tussenuit.

Reageren