tabellen vullen met gegevens uit txt.bestand

Status
Niet open voor verdere reacties.

media1969

Gebruiker
Lid geworden
30 sep 2006
Berichten
30
Beste

Ik wil via een txt bestand een tabel vullen als volgt

tabel1.jpg


en dan met deze tekst

tabel2.jpg


En dan alleen de bovenste balk waar nr , artiest , nummer , aantalweken , vorige week, veranderen
een keer word gezien en daar onder de namen enz,enz,

dit is de code van tabel2 die ik tot nu toe heb

PHP:
array_multisort ($nieuws, SORT_ASC); 
foreach ($nieuws as $line_num => $line) {
list($publicatiedatum,$tijdstip,$artiest,$nummer,$aantalweken,$vorigeweek,$ID)=explode('||',$line);
echo" <table width=\"100%\" border=\"1\">
  <tr class=tdblue>
    <td width=\"4%\" align=\"center\">".$lang['top']['top_nr']." :</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['artiest']."</td>
	<td width=\"35%\" align=\"center\">".$lang['top']['nummer']."</td>
    <td width=\"15%\" align=\"center\">".$lang['top']['aantalweken'] ."</td>
    <td width=\"15%\" align=\"center\" >".$lang['top']['vorigeweek']."</td>
    <td width=\"5%\" align=\"center\" >".$lang['top']['veranderen']."</td>
  </tr>";
  echo" <tr bgcolor=\"$col\">
    <td align=\"center\"><b>".$line_num."</b></td>
    <td align=\"center\">".$artiest."</td>
	<td align=\"center\">".$nummer."</td>
    <td align=\"center\"><b>".$aantalweken."</b></td>
    <td align=\"center\">".$vorigeweek."</td>
    <td align=\"center\"><a href=\"?ac=news_bewerk&amp;id=$ID\">".$lang['top']['veranderen'] ."</a> </td>
  </tr>";
 echo"</table>";
}
?>
 
zet de <table> buiten je loop
Buiten je loop maak je ook een <tr> met <td>gegevens</td> </tr>

in je loop doe je hetzelfde <tr> </tr> met daarin je <td></td> met je gegevens

na je loop sluit je vervolgens de table weer </table>
Je maakt nu voor elke line in je text een table aan!
 
Beste

Ik heb het volgende gedaan misschien zie ik nog iets over het hoofd

dit is de code tot nu toe
PHP:
echo" <table width=\"100%\" border=\"1\">
  <tr class=tdblue>
    <td width=\"4%\" align=\"center\">".$lang['top']['top_nr']." :</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['artiest']."</td>
	<td width=\"35%\" align=\"center\">".$lang['top']['nummer']."</td>
    <td width=\"15%\" align=\"center\">".$lang['top']['aantalweken'] ."</td>
    <td width=\"15%\" align=\"center\" >".$lang['top']['vorigeweek']."</td>
    <td width=\"5%\" align=\"center\" >".$lang['top']['veranderen']."</td>
  </tr>";
  array_multisort ($nieuws, SORT_ASC); 
foreach ($nieuws as $line_num => $line) {
list($tijdstip,$artiest,$nummer,$aantalweken,$vorigeweek,$ID)=explode('||',$line);
  echo" <tr bgcolor=\"$col\">
    <td align=\"center\"><b>".$line_num."</b></td>
    <td align=\"center\">".$artiest."</td>
	<td align=\"center\">".$nummer."</td>
    <td align=\"center\"><b>".$aantalweken."</b></td>
    <td align=\"center\">".$vorigeweek."</td>
    <td align=\"center\"><a href=\"?ac=news_bewerk&amp;id=$ID\">".$lang['top']['veranderen'] ."</a> </td>
  </tr>";
 echo"</table>
 
je was vergeten de foreach loop de accolade te sluiten op line 20

zal ook wel een error inbeeld hebben gekregen!

PHP:
echo" <table width=\"100%\" border=\"1\">
  <tr class=tdblue>
    <td width=\"4%\" align=\"center\">".$lang['top']['top_nr']." :</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['artiest']."</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['nummer']."</td>
    <td width=\"15%\" align=\"center\">".$lang['top']['aantalweken'] ."</td>
    <td width=\"15%\" align=\"center\" >".$lang['top']['vorigeweek']."</td>
    <td width=\"5%\" align=\"center\" >".$lang['top']['veranderen']."</td>
  </tr>";
  array_multisort ($nieuws, SORT_ASC); 
foreach ($nieuws as $line_num => $line) {
list($tijdstip,$artiest,$nummer,$aantalweken,$vorigeweek,$ID)=explode('||',$line);
  echo" <tr bgcolor=\"$col\">
    <td align=\"center\"><b>".$line_num."</b></td>
    <td align=\"center\">".$artiest."</td>
    <td align=\"center\">".$nummer."</td>
    <td align=\"center\"><b>".$aantalweken."</b></td>
    <td align=\"center\">".$vorigeweek."</td>
    <td align=\"center\"><a href=\"?ac=news_bewerk&amp;id=$ID\">".$lang['top']['veranderen'] ."</a> </td>
  </tr>"; }
 echo"</table>
 
je was vergeten de foreach loop de accolade te sluiten op line 20

zal ook wel een error inbeeld hebben gekregen!

PHP:
echo" <table width=\"100%\" border=\"1\">
  <tr class=tdblue>
    <td width=\"4%\" align=\"center\">".$lang['top']['top_nr']." :</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['artiest']."</td>
    <td width=\"35%\" align=\"center\">".$lang['top']['nummer']."</td>
    <td width=\"15%\" align=\"center\">".$lang['top']['aantalweken'] ."</td>
    <td width=\"15%\" align=\"center\" >".$lang['top']['vorigeweek']."</td>
    <td width=\"5%\" align=\"center\" >".$lang['top']['veranderen']."</td>
  </tr>";
  array_multisort ($nieuws, SORT_ASC); 
foreach ($nieuws as $line_num => $line) {
list($tijdstip,$artiest,$nummer,$aantalweken,$vorigeweek,$ID)=explode('||',$line);
  echo" <tr bgcolor=\"$col\">
    <td align=\"center\"><b>".$line_num."</b></td>
    <td align=\"center\">".$artiest."</td>
    <td align=\"center\">".$nummer."</td>
    <td align=\"center\"><b>".$aantalweken."</b></td>
    <td align=\"center\">".$vorigeweek."</td>
    <td align=\"center\"><a href=\"?ac=news_bewerk&amp;id=$ID\">".$lang['top']['veranderen'] ."</a> </td>
  </tr>"; }
 echo"</table>

Beste

Ik had de } achter de echo"</table> staan

nog twee vragen hij begint bij 0 en stop bij 19 hoe kan ik dat in 1 en 20 maken

en dan ook nog dat de nummer op volgorde staat

m.v.g.
 
php begint standaard bij 0 te tellen, bij lines van een textfile of in een array.
om dit op te lossen kun je buiten je loop een variable maken bv. $x = 1
als laatste in je loop laat je php bij $x een optellen dus. $x++

$x kun je nu in je loop echoen in een <td>.
 
Beste

Nu ben ik weer een stuk verder
en krijg met de volgende code niet voor elkaar om de info te versturen
hier onder de code

PHP:
<?php
require_once("login.php");
include("gb_functies.inc.php");
include("top20_config.php");
if(isset($_POST['artiest2'])){
$artiest2 = $_POST['artiest2'] ;
}
if(isset($_POST['nummer3'])){
$nummer3 = $_POST['nummer3'] ;
}
if(isset($_POST['aantal4'])){
$aantal4 = $_POST['aantal4'] ;
}
if(isset($_POST['vorige5'])){
$vorige5 = $_POST['vorige5'] ;
}
$artiest2 = stripslashes($_POST['artiest2']);
$nummer3 = stripslashes($_POST['nummer3']);
$aantal4 = stripslashes($_POST['aantal4']);
$vorige5 = stripslashes($_POST['vorige5']);
$id = $GET['id'];
//check lege velden 
if (strlen($artiest2)<3) {
echo "<b>".$lang['top']['artiest_vergeten'] ."...</b><br /><br /><a href=\"javascript: history.go(-1);\" target=\"_self\">
<blockquote>".$lang['top']['vergeten'] ."!!!</blockquote></a>";
die('</div></body></html>');
}
elseif (strlen($nummer3)<3) {
echo "<br /><br /><b><br />".$lang['top']['titel_vergeten']."...</b></font><br /><br /><a href=\"javascript: history.go(-1);\" target=\"_self\"><blockquote>".$lang['top']['vergeten']."</blockquote></a>";
die('</div></body></html>');
}
elseif (strlen($aantal4)<1) {
echo "<br /><br /><b><br />".$lang['top']['nummer_aantalweken']."...</b></font><br /><br /><a href=\"javascript: history.go(-1);\" target=\"_self\"><blockquote>".$lang['top']['vergeten']."</blockquote></a>";
die('</div></body></html>');
}
elseif (strlen($vorige5)<1) {
echo "<br /><br /><b><br />".$lang['top']['nummer_vorigeweeek']."...</b></font><br /><br /><a href=\"javascript: history.go(-1);\" target=\"_self\"><blockquote>".$lang['top']['vergeten']."</blockquote></a>";
die('</div></body></html>');
}
$artiest2 = $_POST['artiest2'] ;
$nummer3 = $_POST['nummer3'] ;
$aantal4 = $_POST['aantal4'];
$vorige5 = $_POST['vorige5'];
$nieuws=file($top20);
foreach ($nieuws as $line) {
list($ID,$artiest,$nummer,$aantalweken,$vorigeweek)=explode('||',$line);

if($id==$ID) {
//veranderen artiest
$text = $artiest;
$inhoud_bestand = file_get_contents($nieuwsbestand);     
$schrijf_bestand = fopen($nieuwsbestand,"w+");     
$inhoud = eregi_replace($text,$artiest2,$inhoud_bestand); 
fwrite ($schrijf_bestand, ($inhoud)); 
fclose ($schrijf_bestand);
echo "goed3"; 
//veranderen nummer
$text = $nummer;
$inhoud_bestand = file_get_contents($nieuwsbestand);     
$schrijf_bestand = fopen($nieuwsbestand,"w+");     
$inhoud = eregi_replace($text,$nummer3,$inhoud_bestand); 
fwrite ($schrijf_bestand, ($inhoud)); 
fclose ($schrijf_bestand); 
//veranderen aantalweken
$text = $aantalweken;
$inhoud_bestand = file_get_contents($nieuwsbestand);     
$schrijf_bestand = fopen($nieuwsbestand,"w+");     
$inhoud = eregi_replace($text,$aantal4,$inhoud_bestand); 
fwrite ($schrijf_bestand, ($inhoud)); 
fclose ($schrijf_bestand); 
//veranderen vorigeweek
$text = $vorigeweek;
$inhoud_bestand = file_get_contents($nieuwsbestand);     
$schrijf_bestand = fopen($nieuwsbestand,"w+");     
$inhoud = eregi_replace($text,$vorige5,$inhoud_bestand); 
fwrite ($schrijf_bestand, ($inhoud)); 
fclose ($schrijf_bestand); 
echo"
".$lang['top']['changed_news_succes'].":<br /><br /><br /><br />
<blockquote>
<table>
    <tr>
      <td><b class=\"vet\">".$titel2."</b></td>
  </tr>  
  <tr>
    <td colspan=\"2\"><br /><b>".$lang['top']['artiest'].":</b><br /><blockquote>".$artiest."</blockquote><br /><br /><br /></td>
  </tr>
<tr>
    <td colspan=\"2\"><br /><b>".$lang['top']['nummer'].":</b><br /><blockquote>".$nummer."</blockquote><br /><br /><br /></td>
  </tr>
  <tr>
    <td colspan=\"2\"><br /><b>".$lang['top']['aantalweken'].":</b><br /><blockquote>".$aantalweken."</blockquote><br /><br /><br /></td>
  </tr>
 <tr>
    <td colspan=\"2\"><br /><b>".$lang['top']['vorigeweek'].":</b><br /><blockquote>".$vorigeweek."</blockquote><br /><br /><br /></td>
  </tr> 
  <tr>
    <td width=\"100%\" colspan=\"3\">
            <hr align=\"left\" />
    </td>
  </tr></table>
</blockquote>";
echo "<meta http-equiv=\"refresh\" content=\"3; url=?ac=top20_veranderen\">"; 
}
}
?>

Wie kan mij in de goede richting helpen hier mee

M.v.g.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan