ganz bestimmte mysql-Einträge zählen

-Ener-

Erfahrenes Mitglied
Hi, ich habe ein Script gebastelt, wo der Admin Gäste für eine Party eintragen, bearbeiten und löschen kann.

Nun lese ich die Daten aus der MySQL aus. Eine Spalte dabei ist "kostenfrei?" d.h. ob der Gast kostenfrei rein kommt oder nicht. Nun möchte ich das das Script alle Variablen in der Spalte "kostenfrei?" zählt die auf "nein" stehen und sie mal 2 nimmt (2€ Eintritt) und diese Daten dann als Zahl ausgibt. Lösungsvorschlag?

PHP:
<style type=text/css>
 <!--
a { color:black; font-size:8pt; font-family: verdana;  text-decoration:none; font-style: none}
</style>
<CENTER><b><span style="font-family:verdana;font-size:10pt">Gästeliste</span></b></CENTER><br><br>
<CENTER><a href="gast_eintragen.html"><span style="font-family:verdana;font-size:8pt"><b>Gast eintragen</b></span></a> | <a href="index.php"><span style="font-family:verdana;font-size:8pt"><b>Gästeliste</b></span></a></CENTER><br><br>
<table width=60% align=center><tr><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>Nummer</b></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>Nachname</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>Vorname</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>über</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>Funktion</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>kostenfrei</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>bestätigt</b></span></td><td style=border=2px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt><b>Optionen</b></span></td><tr><td><br></td></tr>
<SCRIPT LANGUAGE="Javascript">
function del(message, url){
if(confirm(message)) location.href = url;
}
</SCRIPT>
<?php
$host = "xxx";
$user = "xxx";
$password = "xxx";
$dbname = "xxx";
$tabelle ="BaN";
$i = 1;
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "SELECT * from $tabelle ORDER BY Nachname";
$result = mysql_db_query ($dbname, $dbanfrage, $dbverbindung);
 while ($ausgabe = mysql_fetch_array ($result))
 {
 print ("<tr><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$i</td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Nachname]</span></td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Vorname]</span></td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Ueber]</span></td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Funktion]</span></td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Kostenfrei]</span></td><td style=border=1px;border-style:solid;border-color:black><span style=font-family:verdana;font-size:8pt>$ausgabe[Bestaetigt]</span></td><td style=border=1px;border-style:solid;border-color:black>&nbsp;&nbsp;<a href=gast_editieren.php?id=$ausgabe[id]>editieren</a> | <a href=\"javascript:del('$ausgabe[Vorname] $ausgabe[Nachname] wirklich löschen?',
'gast_loeschen.php?id=$ausgabe[id]')\">löschen</a></td></tr>");
$i++;
 }
mysql_close ($dbverbindung)

?>
 
Gib der SQL-Abfrage einfach noch ein
Code:
WHERE kostenfrei='nein'
und zähl dann in der Ausgabe-schleife mit. Den Wert nimmst du dann mal 2.
 
@Ener: Bist du der Meinung, dass uns die drei Seiten CSS & HTML bei der Problemlösung helfen?

@Johannes: Wozu Unmengen an Datensätzen zurück geben lassen, diese dann zusätzlich nochmal durchlaufen und zählen, wenn es doch mit nur einer Ergebniszeile geht?
Code:
select count(*) as ANZAHL from tabelle where feld_kostenfrei = 0
Das Feld "ANZAHL" des einzig zurückgegebenen Datensatzes mit 2 multiplizieren und du erhältst das Ergebnis.

Sven
 
@snuu tut mir leid das ich das jetz nich noch rausgefriemelt hab

PHP:
 $dbanfrage2 = "select coun(*) as ANZAHL from $tabelle where Kostenfrei = 0";
$result2 = mysql_db_query ($dbname, $dbanfrage2, $dbverbindung);
while ($ausgabe2 = mysql_fetch_array ($result2))
{
echo ("$ausgabe2[Kostenfrei]");
}
so ungefähr? weil des net
 
Zuletzt bearbeitet:
Eher so:
PHP:
$dbanfrage2 = "select count(*) as ANZAHL from $tabelle where Kostenfrei = 0";
$result2 = mysql_db_query ($dbanfrage2);
$ausgabe2 = mysql_fetch_array($result2);
echo $ausgabe2['ANZAHL'];
Vorausgesetzt, es wurde zuvor eine Verbindung zur Datenbank aufgebaut und es gibt auch das numerische Feld "Kostenfrei" in der abzufragenden Tabelle.

Sven
 
Zurück