Hallo ich habe folgendes Problem. Ich habe schon mir die Finger wund gegoogelt aber nichts gefunden was mir weiterhilft.
Überall wo ich lese sind Beispiele mit mysql Datenbanken.
Also mein Problem wie folgt:
Ich möchte eine bestimmte Anzahl von Daten aus einer .csv Datei in php importieren und anzeigen lassen (Anzahl= 3 pro Seite).
Ich habe mir ein script gebastelt was einigermaßen gut funktioniert. Es werden jedoch alle "gewünschten" Daten angezeigt.
Ich möchte jedoch nicht alle daten anzeigen lassen sondern nur 3 pro Seite, wo man alle anderen Seiten blättern kann.
Es werden jedoch alle Daten angezeigt . So sieht das ganze aus:
numlinkfunctions.php
Ich würde mich sehr freuen wenn Ihr mir weiterhelfen könnt.
Überall wo ich lese sind Beispiele mit mysql Datenbanken.
Also mein Problem wie folgt:
Ich möchte eine bestimmte Anzahl von Daten aus einer .csv Datei in php importieren und anzeigen lassen (Anzahl= 3 pro Seite).
Ich habe mir ein script gebastelt was einigermaßen gut funktioniert. Es werden jedoch alle "gewünschten" Daten angezeigt.
Ich möchte jedoch nicht alle daten anzeigen lassen sondern nur 3 pro Seite, wo man alle anderen Seiten blättern kann.
Es werden jedoch alle Daten angezeigt . So sieht das ganze aus:
PHP:
<?php
// Welche Felder ausgegeben werden sollen...
$wantedCells[] = "Hersteller";
$wantedCells[] = "Herst.-Artikelnummer";
$wantedCells[] = "Artikelbeschreibung";
$dataperpage = 3;
$cellFormat["Hersteller"] = "<b>##text##</b><br>";
$row = 1; // Anzahl der Arrays
$handle = fopen ("produkte.csv","r"); // Datei zum Lesen öffnen
// Die erste Zeile mit den Spaltennamen auslesen
$data = fgetcsv ($handle, 1000, ";");
if(is_array($data)) {
foreach($data AS $cellNr => $cellName) {
$cellNamesArray[$cellNr] = $cellName;
}
}
while ( ($data = fgetcsv ($handle, 1000, ";")) !== FALSE ) { // Daten werden aus der Datei
// in ein Array $data gelesen
$num = count ($data); // Felder im Array $data
// werden gezählt
$maxpage = ceil($num / $dataperpage); // Summe aller Seiten berechnen
$itemfrom = ($pagenum-1) * $dataperpage;
print "<hr><br>";
$row++; // Anzahl der Arrays wird
// inkrementiert
for ($c=0; $c < $num; $c++) { // FOR-Schleife, um Felder des Arrays auszugeben
// Es werden nur die Felder ausgegeben die im Array $wantedCells steht...
if(in_array($cellNamesArray[$c], $wantedCells)) {
if($cellFormat[$cellNamesArray[$c]]) print str_replace("##text##", $data[$c], $cellFormat[$cellNamesArray[$c]]);
else print $data[$c] . "<br><br>";
}
}
}
fclose ($handle);
if ($_GET['page'] != "") $page = $_GET['page'];
else $page = 1;
require_once('numlinkfunctions.php');
numlinks($page, 25, 11, '', 'demoparam=useless');
?>
numlinkfunctions.php
PHP:
<?php
/* Function numlinks
* Description: This function displays a page enumeration as you know it from google results
*
* Parameters: $pagenum -> Number of the current page
* $maxpage -> Number of all pages
* $pages_visible -> Maximum number of pages to be displayed (usually a odd number)
* $scriptname -> Optional - File to which a number links
* $get -> Optional - to deliver custom GET parameters (e.g. foo=bar&email=bla@hotmail.com)
* Return Value: NONE
*/
function numlinks($pagenum, $maxpage, $pages_visible, $scriptname="", $get="") {
echo '<table border="0" cellspacing="0" cellpadding="0" class="t-border"><tr>';
if ($pagenum > 1) {
echo '<td class="td-border"><a href="'.page_name(1, $scriptname, $get).'" class="numlinks">«</a></td>'; // first page
echo '<td class="td-border"><a href="'.page_name(($pagenum-1), $scriptname, $get).'" class="numlinks">Previous</a></td>'; // prev page
} else {
echo '<td class="td-border numlinks-inactive">«</td>'; // first page
echo '<td class="td-border numlinks-inactive">Previous</td>'; // prev page
}
$i=1;
while ($i <= $pages_visible){
if ($pagenum-ceil($pages_visible/2) < 0) { //wenn unterer Bereich
if ($i == $pagenum) echo '<td class="td-border numhighlight">'.($pagenum).'</td>';
else echo '<td class="td-border"><a href="'.page_name($i, $scriptname, $get).'" class="numlinks">'.($i).'</a></td>';
} else if ($pagenum+floor($pages_visible/2) > $maxpage) { // wenn oberer bereich
if($maxpage > $pages_visible) $j = $maxpage-$pages_visible+$i;
else $j = $i;
if ($j == $pagenum) echo '<td class="td-border numhighlight">'.($pagenum).'</td>';
else echo '<td class="td-border"><a href="'.page_name($j, $scriptname, $get).'" class="numlinks">'.$j.'</a></td>';
} else { // wenn mittlerer bereich
if ($i == ceil($pages_visible/2)) echo '<td class="td-border numhighlight">'.($pagenum).'</td>';
else {
$j = $pagenum-ceil($pages_visible/2)+$i;
echo '<td class="td-border"><a href="'.page_name($j, $scriptname, $get).'" class="numlinks">'.$j.'</a></td>';
}
}
if ($i == $maxpage) break;
$i++;
}
if ($pagenum < $maxpage){
echo '<td class="td-border"><a href="'.page_name(($pagenum+1), $scriptname, $get).'" class="numlinks">Next</a></td>'; // next page
echo '<td class="td-border"><a href="'.page_name($maxpage, $scriptname, $get).'" class="numlinks">»</a></td>'; // last page
} else {
echo '<td class="td-border numlinks-inactive">Next</td>'; // first page
echo '<td class="td-border numlinks-inactive">»</td>'; // prev page
}
echo '</tr></table>';
}
function page_name($nr, $scriptname, $get="") {
$scriptname.='?page='.$nr;
if ($get != '') $scriptname.='&'.$get;
return $scriptname;
}
?>
Ich würde mich sehr freuen wenn Ihr mir weiterhelfen könnt.