ERLEDIGT
JA
JA
ANTWORTEN
9
9
ZUGRIFFE
441
441
EMPFEHLEN
-
Hallo,
ich habe eine CSV-Datei, die ich mittels php in Html anzeigen möchte. Soweit funktioniert alles, außer zwei Sachen.
1. Die ganze Tabelle soll nach dem Preis sortiert werden?
2. Wie kann man die Größe der Tabelle einstellen?
Hier der Quellcode:
PHP-Code:<?php
$handle = fopen('webgains_datenfeed.csv', 'r');
$zeilen = array();
$aktuelleZeile = 0;
while($data = fgetcsv($handle, 1500, ';'))
{
$zeilen[$aktuelleZeile] = $data;
$aktuelleZeile++;
}
fclose($handle);
function sort_data($int) {
$zeilen_bkp = $zeilen;
}
echo "<table border=1>";
echo "<tr>";
echo "<th >".Produkt."</th>";
echo "<th>".Name."</th>";
echo "<th>".Beschreibung."</th>";
echo "<th>".Preis."</th>";
echo "<th>".Portokosten."</th>";
echo "</tr>";
for($dl=1; $dl<count($zeilen); $dl++) {
$data = $zeilen[$dl];
echo "<tr>";
echo "<td width=\"80px\" height=\"10px\"><img src=\"".$data[7]."\" /></td>";
echo "<td width=\"80px\" height=\"10px\">".$data[3]."</td>";
echo "<td width=\"80px\" height=\"10px\">".$data[4]."</td>";
echo "<td width=\"80px\" height=\"10px\">".'arsort($data[6])'."</td>";
echo "<td width=\"80px\" height=\"10px\">".$data[10]."</td>";
echo "</tr>\n";
}
echo "</table>";
arsort($data[6]);
?>
-
30.08.10 17:18 #2
- Registriert seit
- Apr 2009
- Ort
- Düsseldorf (NRW)
- Beiträge
- 498
1. Schau dir dazu mal die Funktion usort() an, die sollte dir weiterhelfen.
2. Meinst du die Breite? Definiere die am besten in den <th>-Tags, so verhinderst du auch ein bisschen overhead, weil du es nicht in jedes einzele <td> rein schreibst.
-
Hallo Kalito.
ich hab es mal so gebaut wie ich es meistens löse. wie von Tim bereits erwähnt verwende ich hier usort.
Zuerst lese ich die Daten in einen Array mit Objekten um diesen dann anschließend per usort() und der Funktion cmpByPrice einfach zu sortieren.PHP-Code:<?php
function cmpByPrice($left, $right)
{
if ($left->price > $right->price)
{
return 1;
}
elseif ($left->price < $right->price)
{
return -1;
}
return 0;
}
// Datei öffnen.
$handle = fopen('webgains_datenfeed.csv', 'r');
$zeilen = array();
$aktuelleZeile = 0;
while($data = fgetcsv($handle, 1500, ';'))
{
$obj = new stdClass;
$obj->product = $data[7];
$obj->name = $data[3];
$obj->descr = $data[4];
$obj->price = $data[6];
$obj->porto = $data[10];
$zeilen[$aktuelleZeile] = $obj;
$aktuelleZeile++;
}
fclose($handle);
// Sortieren.
usort($zeilen, "cmpByPrice");
// Ausgabe.
echo "<table border=1>";
echo "<tr>";
echo "<th >".Produkt."</th>";
echo "<th>".Name."</th>";
echo "<th>".Beschreibung."</th>";
echo "<th>".Preis."</th>";
echo "<th>".Portokosten."</th>";
echo "</tr>";
for ($dl=1; $dl<count($zeilen); $dl++) {
$data = $zeilen[$dl];
echo "<tr>";
echo "<td width=\"80px\" height=\"10px\"><img src=\"".$data->product."\" /></td>";
echo "<td width=\"80px\" height=\"10px\">".$data->name."</td>";
echo "<td width=\"80px\" height=\"10px\">".$data->descr."</td>";
echo "<td width=\"80px\" height=\"10px\">".$data->price."</td>";
echo "<td width=\"80px\" height=\"10px\">".$data->porto."</td>";
echo "</tr>\n";
}
echo "</table>";
?>
Antwort Zitieren DankeManuel Freiholz
iF.Gainwar
iF.SVNAdmin (http://www.insanefactory.com/if-svnadmin/)
Subversion Benutzeradministration mit PASSWD und LDAP Integration.
-
Danke euch beiden.
ich möchte gerne an der Höhe und Breite der Tabelle schrauben.
Gruß
-
---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Aber es ändert es ja nicht. Auch wenn ich die Pixelzahl auf 1 setze, bleibt die Größe unverändert
-
für die Breite würde ich width im header und nicht in den Details definieren
HTML-Code:<table> <tr> <th width="80px" height="10px">SpaltenHeader1</th> <th width="80px">SpaltenHeader2</th> <th>SpaltenHeader3</th> <tr> <tr> <td height="10px">Zeile1_Spalte1</td> <td>Zeile1_Spalte2</td> <td>Zeile1_Spalte3</td> <tr> <tr> <td height="10px">Zeile2_Spalte1</td> <td>Zeile2_Spalte2</td> <td>Zeile2_Spalte3</td> <tr> </table>
Lies auch mal den ganzen Abschnitt http://de.selfhtml.org/html/tabellen...breiten_hoehen
Die Angaben zu Breite und Höhe sind nur wirksam, wenn der Tabellen- bzw. Zelleninhalt kleiner ist, sodass leerer Raum entsteht. Wenn der Tabelleninhalt größer ist, werden die Angaben zu Breite und Höhe außer Kraft gesetzt.---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Danke
Jetzt hab ich aber ein neues Problem.
Durch die Sortierung ist der Tabellenkopf mit den Spaltennamen der csv ganz unten aufgetaucht. Wie kann ich diese loswerden? Ich hatte es mit einer if Schleife probiert, die die csv erst ab der zweiten Zeile einliest, aber hat nicht funktioniert.
Danke
Gruß, Patrick
-
Die erste Zeile rausnehmen -> sortieren -> Zeile am Anfang wieder einfügen (ggf nicht nötig)
PHP-Code:$header = array_shift($zeilen);
usort($zeilen, "cmpByPrice");
array_unshift($zeilen, $header);
---------------------------------------------------------------------------------------------------
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Danke

Bei soviel Hilfe werde ich mich heute oder morgen mal schauen, ob ich armen Seelen wie mir auch helfen kann
Ähnliche Themen
-
Sortieren einer txt-Datei
Von touristguy im Forum C/C++Antworten: 2Letzter Beitrag: 14.07.08, 20:19 -
Externe Datei sortieren
Von MasterTobi im Forum C/C++Antworten: 0Letzter Beitrag: 28.11.07, 11:35 -
*.txt Datei sortieren
Von bob134 im Forum JavaAntworten: 3Letzter Beitrag: 19.10.07, 15:56 -
Datei auf HDD sortieren
Von DanielBodensee im Forum Delphi, Kylix, PascalAntworten: 1Letzter Beitrag: 19.04.04, 15:29 -
csv-datei sortieren
Von vomweg im Forum PHPAntworten: 6Letzter Beitrag: 21.07.03, 11:53





Zitieren


Login






[PHP] [Codeschnipsel] ImageColor aus HTML-Farbcodierung erstellen