Hi Leute,
hab ein kleines Problem...
Ich möchte eine Rangliste erstellen, in die ich Punkte eintrage, welche dann in einer Tabelle wieder ausgegeben werden... die Platzierung soll auch automatisch vergeben werden.
Im Moment hänge ich schon bei der Eingabe in die Datenbank...
hier mal ein paar Scripts:
Der Eintrag muss nun (pro Monat) die erreichte Punktzahl eingetragen werden...
Aber ich möchte nicht für jeden Eintrag z.B. Mich im Januar und nochmal mich im Februar zwei ID's vergeben müssen...
hab gelesen dass man da mit ON DUPLICATE KEY UPDATE iwie arbeiten muss, hab jedoch wenig Ahnung davon...
Kann mir jemand Helfen?
hab ein kleines Problem...
Ich möchte eine Rangliste erstellen, in die ich Punkte eintrage, welche dann in einer Tabelle wieder ausgegeben werden... die Platzierung soll auch automatisch vergeben werden.
Im Moment hänge ich schon bei der Eingabe in die Datenbank...
hier mal ein paar Scripts:
PHP-Code:
<?php
// Wenn Formular abgeschickt
if(isset($_POST["send"])) {
$server = "localhost";
$benutzer = "root";
$data = "rangliste";
// Zugangsdaten zum Verbinden mit dem MySQL-Server
$dbconnection = mysql_connect($server, $benutzer) or die ("Fehler mysql_connect: ".mysql_error());
// Auswahl der zu verwendenden Datenbank auf dem Server
mysql_select_db($data) or die ("Fehler bei select_db: ".mysql_error());
//Variablen definieren
$name = $_POST["name"];
$monat = $_POST["punkte"];
$monat2 = $_POST["monat"];
/*$.$monat2. = $_POST["punkte"];*/
//Hilfe für das Entwickeln....
$echo = "Name: ".$name.", Punkte: ".$monat.", Monat: ".$monat2."";
//ebenfalls Hilfe für das Entwickeln...
echo $echo;
// wenn das nicht leer ist
if(!empty($name) && !empty($monat2) && !empty($monat)){
// Daten in Datenbank eintragen
$sQl = mysql_query("INSERT INTO rangliste_neu4 (name, ".$monat2.") VALUES ('$name', '$monat')");
// wenn Daten in Datenbank eingetragen
if($sQl) {
echo "<br>Punkte erfolgreich eingetragen";
}//ansonsten
else {
echo "<br>Es konnte leider keine Verbindung zur Datenbank hergestellt werden";
}
}//Aber wenn das leer ist...
else {
echo "<br>Bitte füllen Sie alle Felder aus";
}
}
?>
Code:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <table> <tr> <td>Name: </td><td><input type="text" name="name" /></td> </tr> <tr> <td>Monat: </td> <td> <select name="monat"> <option value="jan">Januar</option> <option value="feb">Februar</option> <option value="maerz">März</option> <option value="apr">April</option> <option value="mai">Mai</option> <option value="jun">Juni</option> <option value="jul">Juli</option> <option value="aug">August</option> <option value="sept">September</option> <option value="okt">Oktober</option> <option value="nov">November</option> <option value="dez">Dezember</option> </select> </td> </tr> <tr> <td>Punkte: </td><td><input type="number_format" name="punkte" /></td> </tr> <tr> <td><input type="submit" name="send" value="Eintragen" /></td><td><input type="reset" name="reset" value="Reset" /></td> </tr> </table> </form>
Code:
CREATE TABLE IF NOT EXISTS `rangliste_neu4` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) DEFAULT NULL, `jan` int(11) DEFAULT NULL, `feb` int(11) DEFAULT NULL, `maerz` int(11) DEFAULT NULL, `apr` int(11) DEFAULT NULL, `mai` int(11) DEFAULT NULL, `jun` int(11) DEFAULT NULL, `jul` int(11) DEFAULT NULL, `aug` int(11) DEFAULT NULL, `sept` int(11) DEFAULT NULL, `okt` int(11) DEFAULT NULL, `nov` int(11) DEFAULT NULL, `dez` int(11) DEFAULT NULL ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=11 ;
Aber ich möchte nicht für jeden Eintrag z.B. Mich im Januar und nochmal mich im Februar zwei ID's vergeben müssen...
hab gelesen dass man da mit ON DUPLICATE KEY UPDATE iwie arbeiten muss, hab jedoch wenig Ahnung davon...
Kann mir jemand Helfen?
Kommentar