tabellen zeilen zählen

PHP - alles Rund um die Programmierung von PHP und MySQL

Ist die geniale Programmiersprache, da sowohl für Einsteiger geeignet wie auch für Profis.

Moderator: lauras

Beiträge bitte im neuen Forum

tabellen zeilen zählen

Beitragvon frankle » Freitag 27. Januar 2012, 23:51

Hallo,
Das sind meinen ersten versuchen in PHP und
möchte jede Zeile in einer Tabelle hochzählen und bekomme diese Fehlermeldung:

Notice: Undefined variable: nummer in C:\xampp\htdocs\linksammlung.php on line 9!

Die Zeilen werden zwar gezählt und trotzdem ist etwas nicht in Ordnung.

<?php

$fd=fopen("linksammlung.txt", "r");

echo"<table border=\"1\">";

while ($inhalt= fgets($fd, 4096))
{
list($url, $beschreibung) = explode("|", $inhalt);
$nummer++;

echo "<tr>";
echo " <td>";
echo " $nummer";
echo " </td>";
echo " <td>";
echo " <a href=\"$url\"> $url </a>";
echo " </td>";
echo " <td>";
echo " $beschreibung ";
echo " </td>";
echo " </tr>";

}
echo " </table>";
?>

Danke
frankle
HTML-Suchnase
 
Beiträge: 5
Registriert: Freitag 27. Januar 2012, 23:34

Re: tabellen zeilen zählen

Beitragvon drPHIP132 » Samstag 28. Januar 2012, 00:39

Willkommen im Forum

bitte nutze BBCode
Code: Alles auswählen
[code=php]hier kommt der Code rein[/code]



du bekommst da eine Notiz, quasi einen Hinweis.
das ist kein Fehler sondern halt ein Hinweis.

dieser sagt in diesen Fall aus, dass die variable "nummer" nicht gesetzt ist.

setze bitte VOR der schleife $Nummer auf 1 und es dürfte funktionieren.



Gruß
phip
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: tabellen zeilen zählen

Beitragvon drPHIP132 » Samstag 28. Januar 2012, 00:44

außerdem gehören keine Anführungszeichen um Variablen (bei der Ausgabe)

bsp.:
echo "ein String gehört in Anführungszeichen" . $eine_variable_nicht;
Benutzeravatar
drPHIP132
HTML-Acrobat
 
Beiträge: 744
Registriert: Samstag 15. Januar 2011, 19:10
Wohnort: Sachsen, Erzgebirge

Re: tabellen zeilen zählen

Beitragvon lauras » Samstag 28. Januar 2012, 09:36

Nummer auf 1 setzen wird nicht funktionieren, da erst hochgezählt wird und dann die Nummer ausgegeben (somit würde die Zählung bei 2 anfangen).
Ich würde empfehlen, die Nummer erst nach dem Ausgeben zu erhöhen, das macht mehr Sinn. Dann vorher auf 1 setzen und alles ist gut :)

Eine Variable kann übrigens auch durchaus in Anführungszeichen stehen.. Ist zwar vielleicht nicht die schönste Variante, aber durchaus möglich.
Benutzeravatar
lauras
Moderator
 
Beiträge: 2114
Registriert: Samstag 3. November 2007, 22:08

Re: tabellen zeilen zählen

Beitragvon frankle » Samstag 28. Januar 2012, 11:29

Danke,

ich habe $nummer vor while auf 0 gesetzt und es läuft und genauso, wenn ich es auf 1 setze und zum schluß zählen lasse.


PS warum ich nicht selbs darauf gekommen mit?? :roll:
frankle
HTML-Suchnase
 
Beiträge: 5
Registriert: Freitag 27. Januar 2012, 23:34

Re: tabellen zeilen zählen

Beitragvon Sören » Samstag 28. Januar 2012, 11:40

Für diese Art der Schleife gibt es auch eine eigene Schleife: die for-Schleife. Bei dir würde das dann so aussehen:
Code: Alles auswählen
<?php

$fd
=fopen("linksammlung.txt""r");

echo
"<table border=\"1\">";

for (
$nummer 1$inhaltfgets($fd4096); $nummer++)
{
list(
$url$beschreibung) = explode("|"$inhalt);

echo 
"<tr>";
echo 
" <td>";
echo 
" $nummer";
echo 
" </td>";
echo 
" <td>";
echo 
" <a href=\"$url\"> $url </a>";
echo 
" </td>";
echo 
" <td>";
echo 
" $beschreibung ";
echo 
" </td>";
echo 
" </tr>";

}
echo 
" </table>";
?>

Der erste Teil der Schleife ($nummer = 0) wird am Anfang einmal ausgeführt, der zweite Teil ($inhalt= fgets($fd, 4096)) ist wie bei der while-Schleife die Abbruchbedingung und $nummer++ wird nach jedem Schleifendurchlauf ausgeführt.
(siehe PHP-Kurs)
Benutzeravatar
Sören
HTML-Acrobat
 
Beiträge: 851
Registriert: Samstag 5. Juni 2010, 16:00


Beiträge bitte im neuen Forum

Zurück zu PHP

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron