php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005-2

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.06.2005, 09:50  
Gast
 
Beiträge: n/a
Standard CSV Daten in Tabelle

Hallo,

also ich kriege nun die Daten von der CSV datei alle prima mit der fkt. fgetcsv in ein Array aber habe das Problem dass ich die nicht in die Tabelle richtig bekomme.

in die Tabelle sollen die Spalten Vorname, Name, Datum, Uhrzeit und darunter jeweils die Angaben von der CSV aber bei mir packt er das nur in die Spalte Vorname und und macht ne neue Zeile.

PHP-Code:
<?php
print '<table border="1">
 <tr><td>Vorname</td><td>Name</td><td>Datum</td><td>Uhrzeit<td>'
;
  
$file   "csv/reservierung.csv";
  
$handle fopen($file,"r");  
  
$count 0;  
  while((
$data fgetcsv($handle1000"-")) !== False)
  {
    
$num count($data);

    for(
$i 0$i $num$i++)   
    {       
      if (
$count 3)
      {    
$count 0;
      }      
      if (
$count 4)
      { 
        if (
$count == 0)
        {
       print 
'<tr>';
        }
        
$count $count++;
        echo 
"<td>".$data[$i]."</td>";

        if (
$count == 3)
        {
          print 
'</tr>';
        }      
      }    
    }

  
   }
  
 print 
'</table>'
 
fclose($handle);
?>
$count ist dafür da damit ich weiß bei welchem datensatz er ist und damit ich ne spalte setzten bzw zeile machen kann
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.06.2005, 10:57  
Gast
 
Beiträge: n/a
Standard

also mein script funzt lag an $count++
habe nun ++$count gemacht und so klappt das wie ich es will
 
Alt 13.06.2005, 11:32  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard Re: CSV Daten in Tabelle

Warum so kompliziert?

PHP-Code:
<?php
echo "<table>\n";
echo 
"\t<tr>\n";
echo 
"\t\t<th>Vorname</th>\n";
echo 
"\t\t<th>Name</th>\n";
echo 
"\t\t<th>Datum</th>\n";
echo 
"\t\t<th>Uhrzeit<th>\n";
echo 
"\t</tr>\n\n";

$file   'csv/reservierung.csv';
$handle fopen($file'r');  

while((
$data fgetcsv($handle1000'-')) !== false) {

    
$data array_map('htmlentities'$data);
    echo 
"\t<tr>\n\t\t<td>";
    echo 
implode("</td>\n\t\t<td>"$data);
    echo 
"</td>\n\t</tr>\n\n";
}

echo 
"</table>\n";
 
fclose($handle);
?>
(ungetestet)

Fehlt natürlich die Überprüfung der Daten ... und die Ausgabe so in den Code reinzuwursten ist ja auch nicht gerade die feine Art...

Basti
Basti ist offline  
Alt 13.06.2005, 11:32  
Erfahrener Benutzer
 
Registriert seit: 08.11.2004
Beiträge: 2.079
Der_Gerhard ist zur Zeit noch ein unbeschriebenes Blatt
Der_Gerhard eine Nachricht über ICQ schicken
Standard

Warum machst Du statt

$count=$count++;

nicht einfach nur

$count++;

?
__________________
**********************************
Nein, ich bin nicht die Signatur.
Ich putze hier nur.
**********************************
Der_Gerhard ist offline  
Alt 13.06.2005, 11:52  
Gast
 
Beiträge: n/a
Standard

hmm kA

fällt mir grad auch ein^^
 
Alt 13.06.2005, 12:13  
Gast
 
Beiträge: n/a
Standard

@Basti

danke klappt sogar

gibt es ne möglich keit die ausgabe nach dem Datum zu ordnen?
 
Alt 13.06.2005, 12:28  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Klar. Allerdings ist das ohne Datenbank nur begrenzt so ohne Weiteres möglich. Im einfachsten Fall liest du die ganzen Daten in ein Array jagst das entsprechend durch array_multisort(). Allerdings hat die Sache den Haken, dass du dir damit den ganzen Datenbestand in den Arbeitsspeicher kopierst und das hat natürlich Grenzen. Wenn dir das reicht, dann probier mal etwa folgendes:
PHP-Code:
$meinedaten = array();
while (
false !== ($data fgetcsv(...))) {
 
    
$meinedaten[] = $data;
    
$timestamps[]  = hier aus $data[2und $data[3einen Timestamp kreieren
}

array_multisort($timestampsSORT_ASC$meinedaten); 

Basti
Basti ist offline  
Alt 13.06.2005, 12:42  
Gast
 
Beiträge: n/a
Standard

ok ich werd ma ausprobieren...

öhm aber was meinste mit Timestamp kreieren?
 
Alt 13.06.2005, 13:00  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hi.

Na, du scheinst ja zwei Attribute zu haben, die (zusammen) den Zeitpunkt beinhalten: Datum und Uhrzeit. Abgesehen davon, dass das an sich ungeschickt gewählt ist und du vielleicht dort was schauben könntest, bruachst du ja jetzt einen Wert, den du eben sortieren kannst. Du kannst deine Zeit also z.B. in das Format 2005-06-13-13-00-20 formatieren für die Zeit, 20 Sekunden nach 13 Uhr am heutigen Tag oder auch in einen Unix-Zeitstempel. Das ist eine Ganzzahl, die die Sekunden seit dem 1. Januar 1970 zählt. Unser übliches Format: 30.12.1987 17:10 oder so lässt sich ja schlecht mit Standard-Routinen sortieren.

mktime() und vielleicht ein wenig explode(), substr(), strpos(), preg_split() oder so sollte dir helfen.

Basti
Basti ist offline  
Alt 13.06.2005, 13:20  
Gast
 
Beiträge: n/a
Standard

hi,

so meinst du das also...

so dann versuch ich mein Glück mal
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Daten aus einer Spalte in eine andere Tabelle einfügen Datenbanken 6 22.10.2009 12:41
Zeilenanzahl einer tabelle mit WHERE aber ohne schleife? sovereign Datenbanken 13 17.04.2006 20:34
Daten in Tabelle ausgeben Morientes PHP Tipps 2006 2 03.04.2006 11:53
MySQL Daten in sichtbarer Tabelle ausgeben PHP Tipps 2006 6 14.03.2006 14:33
Daten über Formular eingeben und in Tabelle speichern. WIE? PHP Tipps 2006 20 10.02.2006 16:04
[Erledigt] Problem mit dem Füllen einer Tabelle über Formular PHP Tipps 2006 18 10.01.2006 12:51
[Erledigt] Problem mit Anzeige einer Tabelle mit dem Firefox? HTML, Usability und Barrierefreiheit 8 28.11.2005 15:08
Tabelle aktualisieren Datenbanken 3 23.11.2005 09:54
Session Frage - gleiches Formular 2 mal alle Daten behalten NetLook PHP Tipps 2007 1 21.11.2005 18:42
[Erledigt] Daten in Tabelle einfügen Datenbanken 5 28.05.2005 14:15
Daten aus Tabelle übetragen PHP Tipps 2005 9 17.05.2005 10:22
Nur bestimmte daten aus einer tabelle auslesen. Datenbanken 15 28.02.2005 12:49
[Erledigt] Problem beim Eintragen neuer Daten in die Tabelle PHP Tipps 2004-2 10 28.12.2004 13:16
Mehrere Daten in Tabelle ein/auslesen PHP Tipps 2004 2 03.09.2004 09:03
[Erledigt] HILFE: Column count doesn't match value count at row 1 Datenbanken 17 12.06.2004 16:45

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
csv datum uhrzeit, fgetcsv htmlentities, csv daten tabelle php ausgeben, html entities csv anzeigen

Alle Zeitangaben in WEZ +1. Es ist jetzt 07:16 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.