Ankündigung

Einklappen
Keine Ankündigung bisher.

Ranglisten mit Sql-Datenbank erstellen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Ranglisten mit Sql-Datenbank erstellen

    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:


    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 ;
    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?

  • #2
    1. Datenbank Normalisieren
    2. die mysql_ Erweiterung durch mysqi_ oder PDO ersetzten (mit prepared statements!), mysql_ ist deprecated
    [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
    [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

    Kommentar


    • #3
      häh was???

      Wie man entnehmen kann... sry bin noch so ziemlich Anfänger auf diesem gebiet...

      Kommentar


      • #4
        Ich will eig blos das mit dem Updaten hinkriegen...

        Wenn mir das jemand erklären kann?

        Kommentar


        • #5
          Zitat von FloSto96 Beitrag anzeigen
          Wie man entnehmen kann... sry bin noch so ziemlich Anfänger auf diesem gebiet...
          Auch als Anfänger solltest du entweder Google schon beherrschen, oder falls nein wird es höchste Zeit die Bedienung von Google zu lernen

          PS:
          Zitat von FloSto96 Beitrag anzeigen
          Ich will eig blos das mit dem Updaten hinkriegen...

          Wenn mir das jemand erklären kann?
          Es macht momentan keinen Sinn an dieser Stelle über eine Erweiterung des Codes zu reden, wenn dieser zum einen Sicherheitslücken enthält, zum anderen eine veraltete API und ein falsches Datenbankdesign verwendet.
          [URL="http://php.net/manual/en/migration55.deprecated.php"]mysql ist veraltet[/URL] [URL="http://php-de.github.io/jumpto/mail-class/"]Mails senden: Ohne Probleme und ohne mail()[/URL]
          [PHP]echo 'PS: <b>Meine Antwort ist keine Lösung, sondern nur eine Hilfe zur Lösung.</b>';[/PHP]

          Kommentar


          • #6
            sry aber ehrlich gesagt finde ich nicht wirklich hilfreiches...

            1. Kann da niemand außer ich drauf zugreifen, weil das direkt in meiner Versteckten seite ist... kannst ja gerne mal auf den Link gehen (aus meiner Signatur) und versuchen dich einzuloggen

            ich hab ja die Eingabe
            PHP-Code:
            $sQl mysql_query("INSERT INTO rangliste_neu4 (name, ".$monat2.") VALUES ('$name', '$monat')"); 
            nun soll dies ein Update bekommen, da wenn ich so etwas eintrage, eine neue id vergeben wird...

            Wie muss ich das umstellen?
            Bzw schreiben???

            Kommentar


            • #7
              Moin,
              in diesem Forum helfen wir, dich auf den richtigen Weg zu bringen. Allerdings ist deine Datenbank nicht gut designed, wodurch es unnötig großer Aufwand wird dich zur Lösung für die derzeitige Situation zu bringen. Zudem wirst du auf längere Zeit damit nicht glücklich und bald wird dann der nächste Thread kommen in dem weiter auf diese workaround-Lösung gebaut wird.

              Daher empfehle ich diese Seiten mal durchzugehen: http://www.peterkropff.de/site/mysql/normalisierung.htm
              Auf der Seite von Peter Kropff findest du noch gute Tutorials die dich auf einen guten Grundwissensstand bringen können.
              [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
              [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

              Kommentar


              • #8
                ok, ich mach da auch nicht grd 10.000 Einträge rein, wir sind 10 aktive Kegler, die in dieser Datenbank genannt werden sollen...

                Kommentar


                • #9
                  hab gelesen dass man da mit ON DUPLICATE KEY UPDATE iwie arbeiten muss, hab jedoch wenig Ahnung davon...
                  Probier das doch erstmal aus und komm dann mit Resultaten daher.. wenns dann immer noch nicht klappt, kann man dir vielleicht helfen. Aber es wird dir niemand den Erklärbär für SQL machen.
                  Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.

                  Kommentar


                  • #10
                    Zitat von lstegelitz Beitrag anzeigen
                    Probier das doch erstmal aus und komm dann mit Resultaten daher..
                    Das ist das ja... ich weis nicht wie ich den Befehl schreiben soll...
                    Also wie ich das ganze "konfigurieren muss...

                    Kommentar


                    • #11
                      Bei deinem Wissensstand würde ich zu einem Excel raten, da kannst auch die Punkte eintragen und dann sortieren lassen. Sowas gibt es sogar kostenlos und online zB von GoogleDocs, M$-OneDrive, etc..

                      Oder: http://www.php.de/scriptboerse/

                      LG
                      The string "()()" is not palindrom but the String "())(" is.

                      Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                      PHP.de Wissenssammlung | Kein Support per PN

                      Kommentar


                      • #12
                        Hallo Gemeinde und sooo erfahrene php Nutzer...

                        ich bin der 1. Vorstand des Kegelverein "Die Totenköpfe" Neustadt e.V. mein Name ist Joachim

                        1. finde ich es schon etwas herablassend wenn man so mit Anfängern umgeht. Würde ich das so machen im Verein, hätten wir nicht 10 Aktive Kegler.
                        Alle haben mal klein angefangen, es ist kein Meister vom Himmel gefallen.

                        2. Sollte man hier vielleicht vom hohem Ross runtersteigen und vielleicht dann mal jemand etwas helfen und wenn es per PN ist.

                        Nun das hat sich ja wohl jetzt hier erledigt, denn solche hochnäsigen Fachsesselpupser muss man nicht fragen.

                        Wir entschuldigen uns dafür das wir alle Dumm geboren sind und nicht wie ihr die Weisheit mit dem Löffel bekommen haben.

                        Danke und noch ein Glückliches Programierleben und hoffentlich ohne Fragen, denn hier werden sie nicht geholfen.

                        PS: wie man Google nutzt wissen wir auch. man gibt http://www.google.de ein. Suchbegriff Löffelvoll Weisheit und was findet man da? euer Forum.

                        Liebe Grüße

                        Kegelverein "Die Totenköpfe" Neustadt e.V.
                        1. Vorstand Joachim Stoner
                        www.dietotenkoepfe.de
                        Tel.: wenn sich jemand beschweren will bei mir unter http://www.dietotenkoepfe.de unter Impressum

                        Kommentar


                        • #13
                          Es ist wie ich sagte, wir liefern nicht einfach Lösungen sondern erwarten, dass sich die Fragesteller selbst bemühen und sich auch ein bisschen auf unsere Ratschläge einlassen.
                          Ich sehe keinen Grund in diesem Thread auf so ein Niveau runterzukommen.

                          Kurzfassung des Threads:
                          1. Lass dir von uns sagen wie man es ordentlich macht und versuch es umzusetzen, dann helfen wir gerne.
                          2. Scriptbörse. Lösung für Geld.

                          Eure Seite sieht doch ganz vernünftig aus, da kann die Struktur doch auch vernünftig sein.
                          [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
                          [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

                          Kommentar


                          • #14
                            Zitat von hausl Beitrag anzeigen
                            Bei deinem Wissensstand würde ich zu einem Excel raten, da kannst auch die Punkte eintragen und dann sortieren lassen. Sowas gibt es sogar kostenlos und online zB von GoogleDocs, M$-OneDrive, etc..

                            Oder: http://www.php.de/scriptboerse/

                            LG
                            Also wie man Excel benutzt das ist ja sooooo eine schwere Sache.. Naja wie gut das niemand weis das ich das schon seit einer Ewigkeit benutze um z.b. die Bilanzen zu machen vom Verein.

                            Wie gesagt mein Webmaster und mein Sohn wollte nur etwas Hilfe haben. Das man dann mit dem kommt finde ich echt für naja lassen wir das...

                            Kommentar


                            • #15
                              Zitat von VPh Beitrag anzeigen
                              Es ist wie ich sagte, wir liefern nicht einfach Lösungen sondern erwarten, dass sich die Fragesteller selbst bemühen und sich auch ein bisschen auf unsere Ratschläge einlassen.
                              Ich sehe keinen Grund in diesem Thread auf so ein Niveau runterzukommen.
                              Nun ja welche Ratschläge denn? Ich sehe da keine?

                              Kurzfassung des Threads:
                              1. Lass dir von uns sagen wie man es ordentlich macht und versuch es umzusetzen, dann helfen wir gerne.
                              2. Scriptbörse. Lösung für Geld.
                              Klar logisch kann man das Ordentlich machen, nur was versteht ihr von Ordentlich? Die Eintragungen sind im Internen Bereich und nur für die Vorstandschaft zu sehen!

                              Klar für Geld machen viele Leute alles.. Nur es gibt auch kleine Vereine oder Leute mit nicht viel Geld. Wir gehören zu den kleinen Vereinen mit nicht viel Geld und privat haben wir schon genug in den Verein gesteckt. [/QUOTE]


                              Eure Seite sieht doch ganz vernünftig aus, da kann die Struktur doch auch vernünftig sein.
                              Ja Vernünftig kann man vieles machen, doch sorry wenn ich jetzt mal etwas Persönlich anmerke....

                              Wenn manche User einfach auf einfache Fragen keine Lust haben zu Antworten und dann solche Antworten bringen, man soll doch lieber Auf offline Produkten zurückgreifen von z.B. Microsoft, finde ich dann sollten die User doch mal die Klappe halten und sich mal überlegen wo sie vor einiger Zeit gestanden habe. Wenn ich mir Überlege, das alle mal klein angefangen haben, finde ich das schon für eine Demonstration von dessen was in Deutschland herrscht. Alle sind nur noch ICH bezogen und nur ICH bin der größte und alle anderen sind Dreck!

                              Also ich für meinem Teil werden nun dem Florian empfehlen in dem Forum nicht mehr um Hilfe zu fragen, denn hier wird man offensichtlich als Anfänger gleich nieder gemacht. Man kann nicht alles wissen mit 17 Jahren, der auch noch vor einem Jahr angefangen hat, sich das selbst bei zu bringen und das nur weil er in der Schule Informatik genommen hat.

                              Naja ich bin ja alt genug um zu wissen, wer normal im Kopf ist und wer nicht!

                              Ich bin es und bin niemals abgehoben. Auf ein fröhliches Basteln!!

                              PS: Empfehlen werde ich euch nicht!

                              J.St.

                              Kommentar

                              Lädt...
                              X