Ankündigung

Einklappen
Keine Ankündigung bisher.

Chartprogramm

Einklappen

Neue Werbung 2019

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

  • Chartprogramm

    Hallo, nochmal.

    So ich habe für mein Forum ein Chartprogramm geschriben. Es gibt hierbei zwei Probleme. Zueinem werden die Stimmen nicht gezählt und zum anderen weiß ich nicht wie ich wenn ein bestehender eintrag der nicht angezeigt wird, makiert werden kann. Ich habe hier noch keinen Ansatz. Aber evtl. erstmal das Problem.

    PHP-Code:
    <?php
    //MySQL verbindung aufnehmen & Datenbank auswählen.

    $verbindung mysql_connect("localhost""mcsebbi_blue" "sebi")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("mcsebbi_blue") or die ("Datenbank konnte nicht ausgewählt werden");

    //Tabelle erstellen
    echo "<table border=1><tr><td>Star</td><td>Lied</td><td>Stimmen</td></tr>";
    echo 
    "<FORM method=post action=  >";
    //Tabelle auswählen und die 10 besten wählen:
    $befehl "SELECT * FROM `Chart` ORDER BY `Chart`.`Stimmen` DESC LIMIT 0 , 10 ";
    $abschicken mysql_query($befehl);
    $platz=0;
    while(
    $row mysql_fetch_object($abschicken)){
       
    $platz++;
       echo 
    "<tr><td>$row->Star</td><td> $row->Lied</td><td> $row->Stimmen</td><td><INPUT type=radio name=abstimmen value=$platz></td></tr>";
    }
    echo 
    '<tr>Star:<INPUT type=text name=star size=50>  Lied<INPUT type=text name=lied size=50>   <INPUT type=submit name=start value="Absenden"></tr></table><br>';

    echo 
    $_POST["abstimmen"];

    //Variabeln definieren
    $star      $_POST["star"];
    $titel     $_POST["lied"];
    $start     $_POST["start"];
    $abstimmen $_POST["abstimmen"];

    if (isset(
    $start)){
                       
    $befehl2 "SELECT * FROM `Chart` ORDER BY `Chart`.`Stimmen` DESC LIMIT ".$abstimmen.", 1";
                       
    $abschicken2 mysql_query($befehl);
                       while(
    $row2 mysql_fetch_object($abschicken2)){
                            
    $row2->Stimmen++;
                       }
       
    $befehl3 "UPDATE Chart SET Stimmen = '$row->Stimmen' ORDER BY `Chart`.`Stimmen` DESC LIMIT ".$abstimmen.", 1";
       
    $abschicken3 mysql_query($befehl3);
        if (isset(
    $star) AND isset($titel)){
           
    $result mysql_query("SELECT Star, Lied FROM Chart WHERE Star LIKE '$star' AND Lied LIKE '$titel' LIMIT  1");
           echo 
    mysql_errno() . ": " mysql_error(). "\n";
           
    $menge mysql_num_rows($result);
             if(
    $menge == 0){
             
    mysql_query("INSERT INTO Chart (Star, Lied, Stimmen) VALUES ('$star','$titel', '1')");
             }elseif(
    $menge == 1){
                    
    $befehl4 "SELECT * FROM `Chart` WHERE Star LIKE '$star' AND Lied LIKE '$titel' LIMIT 1";
                    
    $abschicken3 mysql_query($befehl4);
                    while(
    $row3 mysql_fetch_object($abschicken3)){
                         
    $row3->Stimmen++;
                    }
             }
        }
    }
    ?>

    Noh was ganz anderes, ich habe vor mir ein php Buch zu kaufen. Könnt ihr mir ein empfehlen?


  • #2
    Schau dir das mal genauer an und sag mir, was dir auffällt:
    PHP-Code:
    echo "<table border=1><tr><td>Star</td><td>Lied</td><td>Stimmen</td></tr>";
    echo 
    "<FORM method=post action=  >"
    MfG
    ~Capfly

    Kommentar


    • #3
      Das zweite echo ist nicht in der Tabelle?

      Kommentar


      • #4
        <form> kommt 1. nicht in eine Tabelle, sondern die Tabelle in das Formular!
        Und 2.: Was siehst du, steht in action="" ?
        MfG
        ~Capfly

        Kommentar


        • #5
          action könnte man weglassen. Es ist bei mir gewohnheitsbeding dies dazu zu schreiben und dieses Leer zu lassen. Dadurch wird es an das Formular gesendet. das klappt bei mir immer. Ich gebe einen Namen ein und er wertet diese eingabe aus.

          Kommentar


          • #6
            sieht aber richtig schlimm aus.

            Ich würde es an deiner Stelle nochmal mit nem leeren Dokument neu anfangen zu schreiben
            MfG
            ~Capfly

            Kommentar


            • #7
              Eine bessere Schreibweise dafür wäre

              PHP-Code:
              echo '<form action="" method="post">'
              und wie schon gesagt, dass Formular auserhalb der Tabelle positionieren. Ich würde der Lesbarkeit halber auch die SQL Statements nicht in eine Zeile klatschen.

              Gruß Litter
              Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
              http://www.lit-web.de

              Kommentar


              • #8
                Meine Shcreibweise ebent. Ok das mit Tabelle und so habe ich aber wo liegt der Fehler, dass die Stimmen nicht gezählt werden?

                Kommentar


                • #9
                  Zitat von mcsebbi Beitrag anzeigen
                  Ok das mit Tabelle und so habe ich
                  ... korrigiert, meinst du?

                  aber wo liegt der Fehler, dass die Stimmen nicht gezählt werden?
                  Such' ihn - betreibe Debugging.

                  Kontrollausgaben, um die erwarteten Inhalte von Variablen mit der Realität abzugleichen, sind der allererste Schritt.

                  Kommentar


                  • #10
                    $_POST["abstimmen"]; gibt mir die zahl was ausgewählt worden ist heraus und das klappt auch ganz gut. Aber ich werde die Variabeln nochmal durchgehen.

                    Kommentar

                    Lädt...
                    X