Max Anzahl von Mitgliedern ausgeben?

Moin zusammen,

ich bin am verzweifeln!
Habe auf MySQL eine Tabelle mit 2 Spalten - ID (automatisch) und Mitglieder (Int)

Dann eine Seite mit Mitgliederanzahl eingeben, hier ein Textfeld „Array[Mitglieder]“ und einen „Absende-Button“ der in meine Work geht

<?php $host = "localhost";<br />$user = "user";
$password = "xyz";
$dbname = "sowieso";
$tabelle ="mitgliederzahl";

$dbverbindung = mysql\_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0', '$Array[Mitglieder]')";

if (mysql\_db\_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql\_close ($dbverbindung);

?\>

Hier streikt er schon und will die Daten nicht übernehmen, es kommt eben nur „Es traten Probleme auf“. Den ersten Eintrag hat er aber genommen. Also in der Sql-DB ist ein Eintrag. ID=0 und Mitglieder=1;

Dann möchte ich die maximale Mitgliederzahl natürlich auch ausgeben lassen -->

<?php $host = "localhost";<br />$user = "user";
$password = "xyz";
$dbname = "sowieso";
$tabelle ="mitgliederzahl";

$dbverbindung = mysql\_connect ($host, $user, $password);

$dbanfrage = "SELECT Max(Mitglieder) AS max from $tabelle";
$result = mysql\_db\_query ($dbname, $dbanfrage, $dbverbindung);

 while ($ausgabe = mysql\_fetch\_array ($result))
 {
 print ("<font face='\"Verdana\"'>$ausgabe[Mitglieder]<br>");<br> }<br><br>mysql_close ($dbverbindung)<br><br>?&gt;</font>

Es bleibt aber leer. Ich bin am hin und her versuchen, aber es bleibt ohne Fehlermeldung leer.
Hat von euch jemand ne Idee?

Stimmt evetnl der Typ des Feldes Mitglieder nicht?

Gruß Rolf

Moin Rolf,

<?php $host = "localhost";<br />$user = "user";
$password = "xyz";
$dbname = "sowieso";
$tabelle ="mitgliederzahl";

$dbverbindung = mysql\_connect ($host, $user, $password);

$dbanfrage = "INSERT into $tabelle values ('0',
'$Array[Mitglieder]')";

Rest gelöscht.
Bitte wo hast Du Dein Array definiert? Gibt doch zur Fehlersuche Deine Variable $dbanfrage aus, vielleicht findest Du dann auf Anhieb den Fehler. Und es unnötig eine Spalte, die automatisch hochgezählt wird mit nummerisch Null zu belegen.

$dbanfrage = "SELECT Max(Mitglieder) AS max from $tabelle";
$result = mysql\_db\_query ($dbname, $dbanfrage, $dbverbindung);

while ($ausgabe = mysql\_fetch\_array ($result)) {
 print ("$ausgabe[Mitglieder]
");
}

unnötige Anteiel gelöscht.
Frage: Hattest Du die Spalte in der Abfrage nicht „max“ benannt? Dann lautet auch das Arrayelement nicht Mitglieder sondern ‚max‘ (und hier bitte mit den Anführungszeichen. Debug-Tip: Ein Array kann man mit

print\_r($ausgabe);

ausgeben.

Viel Spaß beim weiteren Testen und MfG

Georg V.

Nicht Max sondern Count ist die Lösung :smile:)
Moin Georg,

hmmmmm, die DB-Eingabe hab ich nun lösen können, habe alles nochmals von vorne an aufgebaut, nun funktioniert es.
Was ich nun noch bräuchte ist, dass er mir den gößten Wert, bzw. alle Rows zählt und das Ergebnis ausgibt.

Die letzte Id ist nicht gut, da bei Mitgliedern auch mal welche auscheiden können, aber die Id ja in MySql weiterzählt und somit die Anzahl verfälscht wird.

Daher zähle ich nun die Zeilen und gebe sie aus.

$dbverbindung = mysql\_connect ($host, $user, $password);

$dbanfrage = "SELECT count(\*) As count from $tabelle";
$result = mysql\_db\_query ($dbname, $dbanfrage, $dbverbindung);
$row = mysql\_fetch\_array($result);
 
echo $row['count'] . "\n"; 


mysql\_close ($dbverbindung)

Das funtzt und tut! :smile:)

Gruß Rolf