Hi Paddle,
Also als hinweiß, ich kann es mit dem ersten sehr gut auslesen, nur müsste das noch irgendwie ins array mit rein
die Reihenfolge sollte dann so aussehen: Username, Dropdownfelder ("tu_commander", "tu_karteeins"...), textfelder (cardone, cardtwo,...)
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
//Frage die Daten aus den benötigten Tabellen
$sql_query = 'SELECT u.username, u.user_id, p.* FROM ' . PROFILE_FIELDS_DATA_TABLE . ' AS p, ' . USERS_TABLE .' AS u WHERE p.user_id = u.user_id';
//Führe die Datenbankabfrage durch
$result = $db->sql_query($sql_query);
//laufe über das Ergebnis und gebe die Daten aus
while ($row = $db->sql_fetchrow($result))
{
echo $row['username'] . ',' . $row['pf_commander'] . ',' . $row['pf_cardone'] . ',' . $row['pf_cardtwo'] . ',' . $row['pf_cardthree'] . ',' . $row['pf_cardfour'] . ',' . $row['pf_cardfive'] . ',' . $row['pf_cardsix'] . ',' . $row['pf_cardseven'] . ',' . $row['pf_cardeight'] . ',' . $row['pf_cardnine'] . ',' . $row['pf_tu_cardten'] . ',' . "<br>" ."\r\n" ;
}
?>
mein array:
Code: Alles auswählen
<?php
define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
//Hole die phpbb Container zum verwalten der Daten
$cp = $phpbb_container->get('profilefields.manager');
$cd = $phpbb_container->get('profilefields.type.dropdown');
// lege die Profilfelder fest, die abgefragt werden sollen
$cardnames = array("tu_commander", "tu_karteeins","tu_kartezwei","tu_kartedrei","tu_kartevier","tu_kartefuenf","tu_kartesechs","tu_kartesieben","tu_karteacht","tu_karteneun","tu_kartezehn","tu_inv_a","tu_inv_b","tu_inv_c","tu_inv_d","tu_inv_e","tu_inv_f","tu_inv_g","tu_inv_h","tu_inv_i","tu_inv_j","tu_zug","tu_br"); //in dieser Form alle gewünschten Karten in das Array eintragen
// Erstelle ein neues Array für alle User und Karten
$decks = array();
//Hole alle User aus der Datenbank
$sql_query = 'SELECT username, user_id FROM '. USERS_TABLE ;
$result = $db->sql_query($sql_query);
//laufe über alle User
while ($row = $db->sql_fetchrow($result)) {
$user_id = $row['user_id'];
//erstelle ein temporaeres Kartenarray
$cards = array();
//setze die 0. Position auf den Username
$cards[0] = $row['username'];
//hole alle Profilfelder
$profile_fields = $cp->grab_profile_fields_data($user_id);
//schreibe die Benutzerdefinierten Profilfelder in das Kartenarray
$i=1;
foreach($cardnames as $card) {
if(isset($profile_fields[$user_id])) {
$cards[$i] = $cd->get_profile_value($profile_fields[$user_id][$card]['value'],$profile_fields[$user_id][$card]['data']);
}
$i++;
}
//Haenge das Kartenarray an das $decks array
array_push($decks, $cards);
}
//test array csv ausgabe
echo unlink('daten.csv');
$fp = fopen('daten.csv', 'a');
foreach($decks as $deck) {
fputcsv($fp, $deck);
}
fclose($fp);
?>
und damit lasse ich es anzeigen:
Code: Alles auswählen
<style>
.csvTable{
font-size: 10pt;
border-top: 1px solid #ccc;
border-left: 1px solid #ccc;
border-right: 1px solid #ccc;
color: #fff;
}
.csvTable th{
text-align:left;
border-bottom: 1px solid #ccc;
}
.csvTable td{
border-bottom: 1px solid #ccc;
}
</style>
<center>
<?php
$zeilen = readfile('http://****/ausgabe.php');
$hasTitle = true;
echo '<table border="0" cellspacing="0" cellpadding="5" width="600" class="csvTable">';
$handle = fopen("daten.csv", "r");
$start = 0;
while (($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
echo '<tr>' . "\n";
for ( $x = 0; $x < count($data); $x++)
{
if ($start == 0 && $hasTitle == true)
echo '<th>'.$data[$x].'</th>' . "\n";
else
echo '<td>'.$data[$x].'</td>' . "\n";
}
$start++;
echo '</tr>' . "\n";
}
fclose($handle);
echo '</table>';
?>
</center>
Hoffe das hilft dir irgendwie weiter
