Lfd.-Nr. in php

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Lfd.-Nr. in php

Beitrag von seemann1965 »

Hallo,
ich versuche mich schon einige Tage mit einer zusätzlichen php-Seite,
leider bekomme ich es nicht hin eine laufende Nummer vor die Beiträge zu bekommen.
Habe es zwar mit "id" versucht, aber hier ist das Problem,
dass die Nummern fest mit den Datensätzen verbunden sind und nach dem Löschen fehlen.
Wie kann man es lösen?
<?php
$db_host = "localhost";
$db_user = "root";
$db_pass = "";
$db_name = "kamfind";

$conID = mysql_connect( $db_host, $db_user, $db_pass ) or die( "Die Datenbank konnte nicht erreicht werden!" );
if ($conID)
{
mysql_select_db( $db_name, $conID );
}

$sql = "SELECT `vorname`, `id`, `name`, `wohnort`, `email`, `von`, `bis`, `dienstgrad`, `dienststellung`, `einheit`, `nummer` FROM `kss1159` ORDER BY `id` DESC";
$abfrageergebnis = mysql_query( $sql, $conID );
$anzahl = mysql_num_rows( $abfrageergebnis );
echo "<br><hr align=center width=50% noshade color=#ff0000>";
echo "<p align=center><a href=kfkss1159eintra.php><font face=verdana size=5>In die Liste eintragen...</font></a></p>";
echo "<hr align=center width=50% noshade color=#ff0000><br>";
echo "<br><hr align=center width=63% noshade color=#000040>";
echo '<table border=0 cellspacing=0 align=center>';
while ($datensatz = mysql_fetch_array( $abfrageergebnis ))
{

echo "<tr><td><table border=0 cellspacing=0><tr>";
echo "<td><font face=verdana size=4>" .htmlspecialchars( $datensatz['id'] ). ").</font></td>"; <--- hier sollte die Lfd.-Nr hin
echo "<td><font face=verdana size=5><b>" .htmlspecialchars( $datensatz['vorname'] ). "</b></font></td>";
echo "<td><font face=verdana size=5><b>&nbsp;" .htmlspecialchars( $datensatz['name'] ). "</b></font></td>";
echo "<td><font face=verdana size=5>&nbsp;aus " .htmlspecialchars( $datensatz['wohnort'] ). "</font></td></tr></table></td></tr>";
echo "<tr>";
echo "<td><a href=mailto:" .htmlspecialchars( $datensatz['email'] ). "><img src=images/meldeemail.gif border=0></a><br></td></tr>";
echo "<tr>";
echo "<td>-----------------------------------------------" . "</a><br></td></tr>";
echo "<tr><td><table border=0 cellspacing=0><tr>";
echo "<td><font size=3 color=#000040 face=verdana>" .htmlspecialchars( $datensatz['von'] ). "</font></td>";
echo "<td><font size=3 color=#000040 face=verdana>&nbsp;- " .htmlspecialchars( $datensatz['bis'] ). "</font></td></tr></table></td></tr>";
echo "<tr>";
echo "<td><font size=3 color=#000040 face=verdana>" .htmlspecialchars( $datensatz['dienstgrad'] ). "</font></td></tr>";
echo "<tr>";
echo "<td><font size=3 color=#000040 face=verdana>" .htmlspecialchars( $datensatz['dienststellung'] ). "</font></td></tr>";
echo "<tr><td><table border=0 cellspacing=0><tr>";
echo "<td><font size=3 color=#000040 face=verdana>" .htmlspecialchars( $datensatz['einheit'] ). "</font></td>";
echo "<td><font size=3 color=#000040 face=verdana>" .htmlspecialchars( $datensatz['nummer'] ). "</font></td></tr></table></td></tr>";
echo "<tr>";
echo "<td><font size=3 color=#000040 face=verdana>Projekt 1159 (Koni-class)" . "</font></td></tr>";
echo "<tr>";
echo "<td><hr align=center width=100% noshade color=#000040>" . "</td>";
echo "</tr>";
}

echo "</table>";
echo "<br><font face=verdana size=3><p align=center>Es sind <strong>" .$anzahl. "</strong> Kameraden eingetragen!</p></font>";
?>
Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Lfd.-Nr. in php

Beitrag von BNa »

Du musst schon beim einfügen in die Tabelle einen index mit auto_increment erzeugen, dann bleiben die Nummern fortlaufend.
Beim abfragen selbst kann man da nichts machen
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Lfd.-Nr. in php

Beitrag von posaunen »

ändern bzw. ergänzen, da wo Deine while Schleife anfängt:

Code: Alles auswählen

$lfdNr=0;
while ($datensatz = mysql_fetch_array( $abfrageergebnis ))
{
$lfdNr++;
Die Variable $lfdNr dann an die Stelle wo die Nummer ausgegeben werden soll:

Code: Alles auswählen

echo "$lfdNr";
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Lfd.-Nr. in php

Beitrag von seemann1965 »

Hallo posaunen,
leider wird bei deinem Script nur immer 0 ausgegeben.

@BNa hab ich ja auch so geschrieben, nur wenn du Eintrag 5 löschst ist die ID 5 auch mit wech,
bei 11 Einträgen sind aber nur 8 vorhanden, weil 3 gelöscht sind.

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Lfd.-Nr. in php

Beitrag von posaunen »

Zeig mal was Du da wie eingebaut hast.
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Lfd.-Nr. in php

Beitrag von seemann1965 »

Hallo posaunen,
hier der Script:
echo '<table border=0 cellspacing=0 align=center>';
$lfdNr=0;while ($datensatz = mysql_fetch_array( $abfrageergebnis ))
{
$lfdNr++;
// Jeder Datensatz entspricht einer Tabellenzeile
echo "<tr><td><table border=0 cellspacing=0><tr>";
echo "<td><font face=verdana size=4>$lfdNr ).</font></td>";
echo "<td><font face=verdana size=5><b>" .htmlspecialchars( $datensatz['vorname'] ). "</b></font></td>";
echo "<td><font face=verdana size=5><b>&nbsp;" .htmlspecialchars( $datensatz['name'] ). "</b></font></td>";
ging nur so anders kommt eine Fehler Meldung.

Gruß seemann

Edit: "f" vergessen jetzt gehts, hehehe.
Wie bekommt man die LfdNr. "aufwärts" zählend?
Danke für deine Hilfe.
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Lfd.-Nr. in php

Beitrag von BNa »

Code: Alles auswählen

ORDER BY `id` ASC";
Benutzeravatar
seemann1965
Mitglied
Beiträge: 495
Registriert: 12.11.2009 19:15

Re: Lfd.-Nr. in php

Beitrag von seemann1965 »

BNa hat geschrieben:

Code: Alles auswählen

ORDER BY `id` ASC";
...kann doch so bestimmt nicht gehen, weil die "LfdNr" doch keinen Bezug zur "id" haben, oder sollte ich da irren.

Wie bekommt man die LfdNr. "aufwärts" zählend?
Hier der Script:
echo "<td><font face=verdana size=4>$lfdNr ).</font></td>";
Quasi soll der erste und älteste Eintrag die 1 haben und der letzte und neuste Eintrag die höchste Zahl.

Gruß seemann
Kaum macht man es richtig, funktioniert es !

Portal der Volksmarine
Benutzeravatar
BNa
Valued Contributor
Beiträge: 3169
Registriert: 12.04.2010 23:51
Kontaktdaten:

Re: Lfd.-Nr. in php

Beitrag von BNa »

seemann1965 hat geschrieben:...kann doch so bestimmt nicht gehen
Ich würde immer erst testen
posaunen
Mitglied
Beiträge: 410
Registriert: 21.04.2004 20:05

Re: Lfd.-Nr. in php

Beitrag von posaunen »

BNa hat geschrieben:
seemann1965 hat geschrieben:...kann doch so bestimmt nicht gehen
Ich würde immer erst testen
Dem kann ich mich nur anschließen.
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“