CSV importieren, zerhacken und ausgeben ;-)

PHP:
<?php

$fp = fopen ("./sponsoren.csv", "r");
while ($zeile = fgets ($fp, 1000))
{
    $arr = explode ($zeile, ";");
    switch ($arr[count($arr)])
    {
        case "ja": $arr_yes[count($arr_yes) + 1] = $arr; break;
        case "nein": $arr_no[count($arr_no) + 1] = $arr; break;
        case "na": $arr_na[count($arr_na) + 1] = $arr; break;
    }
}
fclose ($fp);

// und hier eben noch die einzelnen tabellen ausgeben

?>

ohne gewähr.
 
Zuletzt bearbeitet:
Oh leck, is ja abnormal -g- Vielen Dank!

Jetzt hab ich nur das Problem mit der Tabelle -lol-.. :[
 
PHP:
function csvEcho($type) {
    $e = "email_";
    $f = "firma_";
    global ${$e.$type}, ${$f.$type};

    echo '<table width="600" border="0" cellspacing="0" cellpadding="0">'; 
    echo '<tr>';
    for($c = 0; $c <= count(${$e.$type}); $c++) {
        
        echo '<td width="200"><div align="center">'.${$e.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.${$f.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.$type.'</div></td>';
    }
    echo '</tr>';
    echo '</table>';
}
 
http://www.x-s.biz/hilfe/fog.php

Irgedwie stimmt das net..

Das is der PHP Code:

PHP:
  <?php
function csvEcho($type) {
    $e = "email_";
    $f = "firma_";
    global ${$e.$type}, ${$f.$type};

    echo '<table width="600" border="0" cellspacing="0" cellpadding="0">'; 
    echo '<tr>';
    for($c = 0; $c <= count(${$e.$type}); $c++) {
        
        echo '<td width="200"><div align="center">'.${$e.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.${$f.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.$type.'</div></td>';
    }
    echo '</tr>';
    echo '</table>';
}

$fp = fopen ("sponsoren.csv","r");
while ($data = fgetcsv ($fp, 1000, ";")) { 
    $email = "email_".$data[2];
    $firma = "firma_".$data[2];
    ${$email}[] = $data[0];
    ${$firma}[] = $data[1];
}
fclose ($fp);

csvEcho('na');
echo "<br>";
csvEcho('ja');
echo "<br>";
csvEcho('nein');
?>
 
Hehe ups.... die Schleife in der Funktion zählt zu weit und die Zeile <tr> muss natürlich in die Schleife:

PHP:
function csvEcho($type) {
    $e = "email_";
    $f = "firma_";
    global ${$e.$type}, ${$f.$type};

    echo '<table width="600" border="0" cellspacing="0" cellpadding="0">'; 
    
    for($c = 0; $c < count(${$e.$type}); $c++) {
        echo '<tr>';
        echo '<td width="200"><div align="center">'.${$e.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.${$f.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.$type.'</div></td>';
		echo '</tr>';
    }
    
    echo '</table>';
}

sorry.
Ciao F.o.G.
 
OK, es geht! Vielen Dank! :-)

Gibts noch ne 'einfache' Moeglichkeit ueber jede Tabelle drueber zu schreiben was es ist? Z.B. - OK - / - Keine Antwort - etc.

(argl muss ich nerven) :(
 
Zuletzt bearbeitet:
hmm, auf die schnelle würde folgendes gehen (wenn noch mehr reinkommen soll, musst du dir was anderes überlegen): erhöhe die Parameterzahl der csvEcho() Funktion:

PHP:
function csvEcho($type, $title) {
   ....
   echo '<table width="600" border="0" cellspacing="0" cellpadding="0">';
   echo '<tr><td colspan="3" align="center">'.$title.'</td></tr>';
   ....
}

....

csvEcho('na', 'Titel');

Das 'müsste' gehen.

Ciao, F.o.G.
 
Hoi, vielen vielen Dank nochmals fuer die viele Hilfe ;)

Ich habs nach langen hin und her - auf die 'einfache' art gemacht:

PHP:
echo "<center><b><font id=\"white\">- Zugesagt - </font></b><br><br>";
echo $tabelle;
csvEcho('ok');
echo "<br><br>";
echo "<center><b><font id=\"white\">- Abgesagt - </font></b><br><br>";
echo $tabelle;
csvEcho('no');
echo "<br><br>";
echo "<center><b><font id=\"white\">- Keine Antwort - </font></b><br><br>";
echo $tabelle;
csvEcho('ka');
echo "<br>";

PHP:
          <?php $tabelle = "<table width=\"600\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\" class=\"borderall\">
            <tr> 
              <td width=\"200\" class=\"borderall\"><div align=\"center\"><strong>Kontaktmail</strong></div></td>
              <td width=\"200\" class=\"borderall\"><div align=\"center\"><strong>Firma</strong></div></td>
              <td width=\"200\" class=\"borderall\"><div align=\"center\"><strong>Status</strong></div></td>
            </tr>
          </table>"?>

Mhh, das Teil wuerde ja nicht gehen, wenns noch ne vierte spalte gaebe, oder? (z.B. email;firma;status;web)..?!
 
Zuletzt bearbeitet:
Das dürfte nicht so schwer sein :)

PHP:
<?
function csvEcho($type) {
    $e = "email_";
    $f = "firma_";
    $w = "web_";
    global ${$e.$type}, ${$f.$type}, ${$w.$type};

    echo '<table width="600" border="0" cellspacing="0" cellpadding="0">'; 
    
    for($c = 0; $c < count(${$e.$type}); $c++) {
        echo '<tr>';
        echo '<td width="200"><div align="center">'.${$e.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.${$f.$type}[$c].'</div></td>';
        echo '<td width="200"><div align="center">'.$type.'</div></td>';
        echo '<td width="200"><div align="center">'.${$w.$type}[$c].'</div></td>';
        echo '</tr>';
    }
    
    echo '</table>';
}

$fp = fopen ("sponsoren.csv","r");
while ($data = fgetcsv ($fp, 1000, ";")) { 
    $email = "email_".$data[2];
    $firma = "firma_".$data[2];
    $web   = "web_".$data[2];
    ${$email}[] = $data[0];
    ${$firma}[] = $data[1];
    ${$web}[]   = $data[3];
}
fclose ($fp);

csvEcho('na');
echo "<br>";
csvEcho('ja');
echo "<br>";
csvEcho('nein');
?>

das müsste gehen.
So kannst du das selber erweitern.

Ciao, F.o.G.
 
Zurück