Mal ne Frage zu PHP und MySQL

belisto

Grünschnabel
Habe da mal eine Frage zu PHP und MySQL.

Habe eine DB und eine Ausgabeseite.
Auf der Ausgabeseite, sollen die einzelnen Zeilen (auch Euro Beträge) aus der DB angezeigt werden.
Am Ende der Seite sollen dann diese Euro-Beträge zusammen gerechnet werden.

Habe nur keinen blassen schimmer wie ich das machen soll, hätte vielleicht gedacht mit if - else?

Code:
Code:
<?PHP
include ("config.inc.php");
verbinde_db("localhost", "root", "", "haushalt");
$text_abfrage = ("SELECT * FROM einnahmen");
$result = mysql_query($text_abfrage);
 while ($row = mysql_fetch_row($result))
 {
 	echo $row[0] . " | " . $row[1] . " | " . $row[2] . " | " . $row[3] . "<br>";
 }

?>
 
Wo sind denn die Euro beträge gespeichert? Also in welcher Variable?
Nehmen wir mal an $row[1] und $row[3] sind die Beträge in Euro (ohne Eurozeichen, nur Zahlen).

Dann kannst du einfach bei jedem Schleifendurchlauf $row[1] und $row[3] einer Variablen hinzuaddieren und am Ende diese ausgeben.

Zum Beispiel so:
PHP:
<?PHP
include ("config.inc.php");
verbinde_db("localhost", "root", "", "haushalt");
$text_abfrage = ("SELECT * FROM einnahmen");
$result = mysql_query($text_abfrage);
$euro = 0;
 while ($row = mysql_fetch_row($result))
 {
 	echo $row[0] . " | " . $row[1] . " | " . $row[2] . " | " . $row[3] . "<br>";
 	$euro += $row[1]+$row[3];
 }
echo $euro;
?>
 
So habe eine neue Frage, wie kann ich überprüfen, ob ein Benutzname schon existiert?

Code:
<?PHP
include ("config.inc.php");
verbinde_db("localhost", "root", "", "haushalt");
html_kopf("Registrierung");
if (($username != "") && ($password != "") && ($name != "") && ($vorname != "") && ($strasse != "") && ($hsnr != "")&& ($plz != "")&& ($ort != "")&& ($fon != "")&& ($mail != ""))
{
$insert_text ="INSERT INTO userdaten (username, password, name, vorname, strasse, hsnr, plz, ort, fon, fax, mail)
				VALUES (\"$username\", \"$password\", \"$name\", \"$vorname\", \"$strasse\", \"$hsnr\", \"$plz\", \"$ort\", \"$fon\", \"$fax\", \"$mail\")";
				
mysql_query($insert_text);
echo mysql_error();
}

?>

Das ist das Formular, dass die Daten der Benutzer in die Datenbank schreibt.
Die Daten werden über ein anderes Formular an dieses geschickt und gespeichert.
 
Zuletzt bearbeitet:
PHP:
<?PHP
include ("config.inc.php");
verbinde_db("localhost", "root", "", "haushalt");
html_kopf("Registrierung");

$text_abfrage = ("SELECT * FROM userdaten WHERE username = $username");
$result = mysql_query($text_abfrage);

if(mysql_num_rows($result) == 0){

if (($username != "") && ($password != "") && ($name != "") && ($vorname != "") && ($strasse != "") && ($hsnr != "")&& ($plz != "")&& ($ort != "")&& ($fon != "")&& ($mail != ""))
{
$insert_text ="INSERT INTO userdaten (username, password, name, vorname, strasse, hsnr, plz, ort, fon, fax, mail)
				VALUES (\"$username\", \"$password\", \"$name\", \"$vorname\", \"$strasse\", \"$hsnr\", \"$plz\", \"$ort\", \"$fon\", \"$fax\", \"$mail\")";
				
mysql_query($insert_text);
echo mysql_error();
}
}

else{
echo "Username existiert bereits";
}
?>
 
Also irgendwie klappt das nicht so ganz, bekomme folgenden Fehler:

Code:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in c:\programme\easyphp\www\haushalt\registry_comp.php on line 9
 
Original geschrieben von belisto
Also irgendwie klappt das nicht so ganz, bekomme folgenden Fehler:
Ein wenig Self-Debugging wäre doch mal angesagt, findest Du nicht? :rolleyes:

PHP:
/* ... */
$text_abfrage = "SELECT * FROM userdaten WHERE username = '".mysql_escape_string($username)."'"; 
$result = mysql_query($text_abfrage); 
/* ... */
Wo kommt denn die Variable $username her? Falls direkt aus einem Formular:

PHP:
/* ... */
$text_abfrage = "SELECT * FROM userdaten WHERE username = '".mysql_escape_string($_POST['username'])."'"; 
$result = mysql_query($text_abfrage); 
/* ... */

Außerdem solltest Du nicht SELECT * FROM table schreiben. Warum? Hier wirds erklärt: http://www.dclp-faq.de/q/q-sql-select.html
 
Zurück