DB auslesen und in Tabelle anzeigen

Begonnen von bert, 15 August 2003, 20:51:37

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.


_Gerry_

Hab ich zwar schon, dürfte aber was schief gegangen sein!
Aber nun is es vollendet!  :)
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

_Gerry_

Ich poste mal den bisherigen Code:

 
 echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\"><tr>\n";
 echo "<td width=\"30%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Name</b></u></font></td>\n";
 echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Beziehungswunsch</b></u></font></td>\n";
 echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Geschlecht</b></u></font></td>\n";
echo "</tr>";


mysql_connect('localhost', 'root', 'root');
mysql_select_db('mitglieder');
$result = mysql_query("SELECT * FROM mitglieder ORDER BY uid desc");

       

$geschlecht = $i["geschlecht"];



if ($geschlecht==2){


echo "<tr><td width=\"30%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor\">".$i["name"]."</font></a></td>";
echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor1\">".$i["user_beziehung"]."</font></td>";
echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><img src=\"images/weiblich.gif\" border=\"0\" alt=\"weiblich\"></td>";
echo "<td width=\"30%\" bgcolor=$dcolor align=\"center\"><a

}
}

echo "<br>";

Das Ergebniss ist das nur die Mitglieder aufgezeigt werden die "weiblich" sind, soweit so gut!  :)

Aber nun ist eben mein Problem das es bei vielen Mitgliedern sehr unübersichtlich wird,
also möchte ich eben gern das nach 20 angezeigten Mitgliedern auf eine 2. Seite verwiesen wird.
Doch genau da liegt mein Problem.  :cry

Das heist ich müsste zuerst einmal die gesamt Anzahl ermitteln,
es wird zwar eine UID verwendet, doch die liest mir sowohl die männlichen als auch die weiblichen Mitglieder aus.
Die müsste ich irgendwie trennen und dann eben eine Funktion einbauen das nach den besagten 20  eine "2.Seite" erzeugt wird!

Kann mir jemand mal nen Tip geben, damit ich weis wie und wo ich da anfangen kann!?!?
Hab nämlich überhaupt keine Ahnung.  :exclam:




[Editiert am 26/8/2003 von _Gerry_]
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht

Vielleicht geht das:
aus:  http://www.dclp-faq.de/q/q-mysql-seitenweise.html

<?

// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = 20;                     // Datensätze pro Ausgabeseite

# Schauen wieviel datensätze von weiblichen Mitgliedern es gibt
$menge = mysql_query("SELECT * FROM mitglieder WHERE geschlecht= '2'");
$total  = @mysql_result($menge,0);

// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start    = ($start >= $total) ? $total - $limit : $start;

# Datenbankabfage begrenzen - von/bis

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\"><tr>\n";

echo "<td width=\"30%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Name</b></u></font> </td>\n";

echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Beziehungswunsch</b></u>& lt;/font></td>\n";

echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Geschlecht</b></u></fo nt></td>\n";

echo "</tr>";





mysql_connect('localhost', 'root', 'root');

mysql_select_db('mitglieder');


$result = mysql_query("SELECT * FROM mitglieder WHERE geschlecht= '2' ORDER BY uid desc  LIMIT ".$start.",".$limit); // wegen """ musst DU noch mal schauen ob es 3 oder 4 sein müssen

     



echo "<tr><td width=\"30%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor\">".$i["name"]."</font></a></td>";

echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor1\">".$i["user_beziehung"]."</font></td>";

echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><img src=\"images/weiblich.gif\" border=\"0\" alt=\"weiblich\"></td>";

echo "<td width=\"30%\" bgcolor=$dcolor align=\"center\"><a echo "<br>";

// Zurück- und Vorblättern

if ($start > 0)
{
  $newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
  echo "<a href=".$PHP_SELF."?start=".$newStart
      ."><< zurück</a>";
}

if ($start + $limit < $total)
{
  $newStart = $start + $limit;
  echo " <a href=".$PHP_SELF."?start=".$newStart
      .">vor >></a>";
}




?>


Nur hier:
echo "<td width=\"30%\" bgcolor=$dcolor align=\"center\"><a echo "<br>";

hats Du was beim kopieren vermehrt.

_Gerry_

Okay, werd es dann gleich mal testen!
Muß nur kurz mal wech.......  :D

Die eine Zeile hat sich wohl beim Editieren mit eingeschlichen!
Gehört natürlich nicht dazu! ;)

Danke vorerst!
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

_Gerry_

Okay, also zuerst hat  er mir die variable "i" nicht anerkannt,
also habe ich folgende Zeile eingefügt:
 
$i = mysql_fetch_array($result);


So nun kennt er sie!  :D

Aber es wird mir nur ein Eintrag angezeigt,
obwohl es mehr sein müssten!  :quest

[Editiert am 26/8/2003 von _Gerry_]
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

_Gerry_

hmmmmmmmm........

Wenn ich un das "limit" runterschraub auf 1,
dann erscheint auch der Link auf die nächste Seite.
Bin ich dann beim letzten Eintrag angelangt, kommt nochmals ein Link auf die nächste Seite,
obwohl da ja keiner mehr vorhanden ist!  :quest

Irgendwie, irgendwo ist da noch der Wurm versteckt!
Nur trotz Spürhund find ich ihn nicht!

CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht

Darauf habe ich nun nicht geschaut.

Das while hatte gefehlt.

<?

// Datendefinition für die Clientausgabe
$start = (isset($start)) ? abs((int)$start) : 0;
$limit = 20; // Datensätze pro Ausgabeseite

# Schauen wieviel datensätze von weiblichen Mitgliedern es gibt
$menge = mysql_query("SELECT * FROM mitglieder WHERE geschlecht= '2'");
$total = @mysql_result($menge,0);

// Ggf. $start korrigieren (falls Parameter in
// der URL manipuliert wurde)
$start = ($start >= $total) ? $total - $limit : $start;

# Datenbankabfage begrenzen - von/bis

echo "<table width=\"100%\" border=\"0\" cellspacing=\"1\"><tr>\n";

echo "<td width=\"30%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Name</b></u></fon t> </td>\n";

echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Beziehungswunsch</b></u >& lt;/font></td>\n";

echo "<td width=\"20%\" BGCOLOR=\"$bgcolor4\" align=\"center\"><font color=\"$textcolor1\"><u><b>Geschlecht</b></u>&l t;/fo nt></td>\n";

echo "</tr>";





mysql_connect('localhost', 'root', 'root');

mysql_select_db('mitglieder');


$result = mysql_query("SELECT * FROM mitglieder WHERE geschlecht= '2' ORDER BY uid desc LIMIT ".$start.",".$limit);

while ($i = mysql_fetch_array($resultID))

{

echo "<tr><td width=\"30%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor\">".$i["name"]."</font></a></td>";< br />
echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><font color=\"$textcolor1\">".$i["user_beziehung"]."</font></td>";

echo "<td width=\"20%\" bgcolor=\"$bgcolor2\" align=\"center\"><img src=\"images/weiblich.gif\" border=\"0\" alt=\"weiblich\"></td>";

echo "<td width=\"30%\" bgcolor=$dcolor align=\"center\"><a echo "<br>"; // die Zeile bitte in Ordnung bringen
}

// Zurück- und Vorblättern

if ($start > 0)
{
$newStart = ($start - $limit < 0) ? 0 : ($start-$limit);
echo "<a href=".$PHP_SELF."?start=".$newStart
."><< zurück</a>";
}

if ($start + $limit < $total)
{
$newStart = $start + $limit;
echo " <a href=".$PHP_SELF."?start=".$newStart
.">vor >></a>";
}




?>

_Gerry_

Anscheinend bin ich echt blind!

Das ist mir gar nicht aufgefallen!  :D

Hab es aber auf folgendes geändert:

 
while ($i = mysql_fetch_array($result))

 


Weil "resultID" kommt ja nich wirklich vor!  :P

Nun werden 20 Mitglieder aufgelistet, aber das Problem mit der letzten Seite (das noch auf eine Seiter verlinkt wird obwohl keine User mehr da sind) besteht weiterhin!

Herzlich Dank!
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c

JensWagenknecht


_Gerry_

Ja es klappt bis eben auf den einen Link alles zu 100%!  :D

Und über dieses Problem kann man ja hinweg sehen, der tritt ja nur dann auf wenn genau 20,40,60,.... User gefunden werden!

[Editiert am 26/8/2003 von _Gerry_]
CMS-Version: pragmaMx 0.1.11, 1.33.2.12.2.9/2009-05-10   
PHP-Version: 5.2.0-8+etch5~pu1
MySQL-Version: 5.0.32-Debian_7etch1
Server-Version: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c