Voting Script

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

  • Voting Script

    Hallo,
    Ich habe mal im Internet ein Tutorial gefunden, mit folgendem Code:

    PHP-Code:
    <?
    function ratemenu($tut_id){ 
    ?>  
        <form name="rating" method="post" action="tutorials.php"> 
        <font class="subfont">Rate this Tutorial:</font> 
        <select name="rating"> 
        <option value="5.0" selected>5 - Excellent!</option> 
        <option value="4.0">4</option> 
        <option value="3.0">3 - Fair</option> 
        <option value="2.0">2</option> 
        <option value="1.0">1 - Poor</option> 
        <option value="0.0">0 - Awful!</option> 
        <input type="hidden" name="cmd" value="do_rating"> 
        <input type="hidden" name="tut_id" value="$tut_id"> 
        <input type="submit" value="Go!"> 
        </select> 
        </form>
    <?


    function do_rating($tut_id, $rating){ 
        if (session_is_registered("rating$tut_id")){ 
            echo "<center>Sorry! You have already voted!"; 
        } else { 
            $get_count = mysql_query("SELECT tut_rating, tut_num_votes FROM tutorials WHERE tut_id=$tut_id"); 
            while(list($tut_rating, $tut_num_votes)=mysql_fetch_array($get_count)){ 
                $new_count = ($tut_num_votes + 1); 
                $tut_rating2 = ($tut_rating * $tut_num_votes); 
                $new_rating = (($rating + $tut_rating2) / ($new_count)); 
                $new_rating2 = number_format($new_rating, 2, '.', ''); 
                $update_rating = mysql_query("UPDATE table SET tut_rating='$new_rating2',tut_num_votes='$new_count' WHERE tut_id=$tut_id"); 
                $sessionvar = "tut$tut_id"; 
                session_register($sessionvar); 
                 
                echo "<div align=\"center\"><b> 
                <p>Thanks for your vote!</p> 
                <p>The new rating for this tutorial is: 
                 
                $new_rating2 out of 5</p>"; 
            } 

        } 
        echo "<p align=\"center\"><a href=\"javascript:history.back();\"><<       
        Back</a> | <a href=\"/index.php\">Main Page</a> | <a href=\"/tutorials.php\">Tutorial 
        Index>></a></b> 
        </p>"; 


    function tut_stars($tut_rating){ 
        if((($tut_rating >= 0)or($tut_rating == 0)) && ($tut_rating <= 0.50)){ 
            echo "<img src=\"/images/stars/0o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 0.50)or($tut_rating == 0.50)) && ($tut_rating <= .99)){ 
            echo "<img src=\"/images/stars/05o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 1.00)or($tut_rating == 1.50)) && ($tut_rating <= 1.49)){ 
            echo "<img src=\"/images/stars/1o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 1.50)or($tut_rating == 1.50)) && ($tut_rating <= 1.99)){ 
            echo "<img src=\"/images/stars/15o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 2.00)or($tut_rating == 2.00)) && ($tut_rating <= 2.49)){ 
            echo "<img src=\"/images/stars/2o5.gif\" width=\"70\" height=\"18\">"; 
        } 

        if((($tut_rating >= 2.50)or($tut_rating == 2.50)) && ($tut_rating <= 2.99)){ 
            echo "<img src=\"/images/stars/25o5.gif\" width=\"70\" height=\"18\">"; 
        } 

        if((($tut_rating >= 3.00)or($tut_rating == 3.00)) && ($tut_rating <= 3.49)){ 
            echo "<img src=\"/images/stars/3o5.gif\" width=\"70\" height=\"18\">"; 
        } 

        if((($tut_rating >= 3.50)or($tut_rating == 3.50)) && ($tut_rating <= 3.99)){ 
            echo "<img src=\"/images/stars/35o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 4.00)or($tut_rating == 4.00)) && ($tut_rating <= 4.49)){ 
            echo "<img src=\"/images/stars/4o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if((($tut_rating >= 4.50)or($tut_rating == 4.50)) && ($tut_rating <= 4.99)){ 
            echo "<img src=\"/images/stars/45o5.gif\" width=\"70\" height=\"18\">"; 
        } 
        if($tut_rating == 5.0){ 
            echo "<img src=\"/images/stars/5o5.gif\" width=\"70\" height=\"18\">"; 
        } 

    ?>
    Nun ist mein Problem, dass ich noch nicht viel mit MySQL gearbeitet habe.
    Wie muss ich jetzt das Script umstellen, damit der MySQL Befehl mit diesen Einstellungen geht:

    PHP-Code:
    $dbh=mysql_connect ("localhost""webmaste_admin""<PASSWORD HERE>") or die ('I cannot connect to the database because: ' mysql_error());
    mysql_select_db ("webmaste_downloads"); 
    Gruss adihas

  • #2
    Re: Voting Script

    die fett markierten teile musst du natürlich durch deine eigenen daten ersetzen.

    $dbh=mysql_connect ("localhost", "webmaste_admin", "<PASSWORD HERE>") or die ('I cannot connect to the database because: ' . mysql_error());
    mysql_select_db ("webmaste_downloads");

    den ersten wert im mysql_connect, "localhost", solltest du eigentlich so lassen können, da die meisten provider standardmässig localhost als servernamen verwenden.
    (wenn datenbank- und webserver natürlich auf zwei verschiedenen maschinen liegen, wär's natürlich was anderes; aber das hätte dir dein hoster dann sicher mitgeteilt.)

    für die nächsten beiden felder setzt du dann deinen db-usernamen und dein db-passwort ein.

    und bei mysql_select_db() gibst du den namen deiner datenbank (nicht der tabelle) an.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ja, das ist mir schon klar, aber wie muss ich die Einstelkungen beim obersten Code einstellen, das checke ich nicht!?
      Gruss adihas

      Kommentar


      • #4
        ach so, darum geht es.

        soweit ich das sehe, wird ausschliesslich in der funktion_do_rating() auf die db zugegriffen.

        also solltest du die beiden zeilen dort an den anfang des else-bereiches einbauen.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          also muss es so aussehen:

          PHP-Code:
          function do_rating($tut_id$rating){ 
              if (
          session_is_registered("rating$tut_id")){ 
                  echo 
          "<center>Sorry! You have already voted!"
              } else { 
              
          $dbh=mysql_connect ("localhost""webmaste_vote""passwort") or die ('I cannot connect to the database because: ' mysql_error());
              
          mysql_select_db ("webmaste_vote");
              
              
                  
          $get_count mysql_query("SELECT tut_rating, tut_num_votes FROM tutorials WHERE tut_id=$tut_id"); 
                  while(list(
          $tut_rating$tut_num_votes)=mysql_fetch_array($get_count)){ 
                      
          $new_count = ($tut_num_votes 1); 
                      
          $tut_rating2 = ($tut_rating $tut_num_votes); 
                      
          $new_rating = (($rating $tut_rating2) / ($new_count)); 
          ... 
          Stimmt der Code so?

          Kommentar


          • #6
            sieht zumindest mal gut aus
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Aber was bringt denn dieser Code:

              PHP-Code:
                      $get_count mysql_query("SELECT tut_rating, tut_num_votes FROM tutorials WHERE tut_id=$tut_id"); 
                      while(list(
              $tut_rating$tut_num_votes)=mysql_fetch_array($get_count)){ 
              nach diesem:

              PHP-Code:
                  $dbh=mysql_connect ("localhost""webmaste_vote""passwort") or die ('I cannot connect to the database because: ' mysql_error());
                  
              mysql_select_db ("webmaste_vote"); 

              Kommentar


              • #8
                mysql_connect: verbindung zum datenbank-server herstellen

                mysql_select_db: datenbank auswählen

                mysql_query: eine tabelle der gewählten datenbank abfragen

                mysql_fetch_array: die ergebnisse der abfrage zeilenweise abarbeiten

                oder was meintest du?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Ich weiss nicht genau was vom folgenden Code was ist:

                  PHP-Code:
                  $get_count mysql_query("SELECT tut_rating, tut_num_votes FROM tutorials WHERE tut_id=$tut_id"); 
                          while(list(
                  $tut_rating$tut_num_votes)=mysql_fetch_array($get_count)){ 
                  Also was ist tut_rating, tut_num_votes und tut_id ?

                  Kommentar


                  • #10
                    ich denke mal, es hilft dir weiter, wenn ich sage: Schau dir die Funktion function tut_stars($tut_rating) (von dir gepostet) an

                    was issn das fürn tutorial, bei dem nix erklärt wird?
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      es wird schon erklärt, nur istmein englisch nicht gut...

                      Kommentar


                      • #12
                        Ich weiss einfach nicht, was ich für Tabellen u.s.w erstellen muss!?

                        Kommentar


                        • #13
                          so wie ich das skript gelesen hab (bzw. das was du gepostet hast) würd ich sagen: du brauchst ne tabelle tutorials

                          steht in dem tutorial nirgendwo was von create table oder sowas ähnlichem?

                          wo is das denn her?
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            Nein, steht glaube ich nichts über die Tabellen...

                            Kommentar


                            • #15
                              Original geschrieben von adihas
                              glaube ich
                              wie wär's mit nachschauen?
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X