Bewertungen für Newssystem

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Bewertungen für Newssystem

    Gleich am Anfang, ich bin noch nicht so gut in PHP also bitte nicht wundern wenn mal ein paar blöde Fragen oder noch nicht so gute Code da bei sind :)

    Also ich will oder besser gesagt ich mach ein Bewertungsystem für mein Newssystem, ich habe einen neue Spalte in der Tabelle News angelegt, diese heißt bewertung.
    Jetzt habe ich erstmal einen Code gemacht der Abfrägt wie die Bewertung ist und diese Ausgibt, diesen Code binde ich per include ein.

    Quellcode

    1. <?php
    2. if ($news->bewertung == 0)
    3. {
    4. echo "<b>Bewertung:</b> Keine Bewertungen";
    5. }
    6. if ($news->bewertung == 1)
    7. {
    8. echo "<b>Bewertung:</b> <img src='images/bewerten/1.gif' border='0' />";
    9. }
    10. if ($news->bewertung == 2)
    11. {
    12. echo "<b>Bewertung:</b> <img src='images/bewerten/2.GIF' border='0' />";
    13. }
    14. if ($news->bewertung == 3)
    15. {
    16. echo "<b>Bewertung:</b> <img src='images/bewerten/3.GIF' border='0' />";
    17. }
    18. if ($news->bewertung == 4)
    19. {
    20. echo "<b>Bewertung:</b> <img src='images/bewerten/4.GIF' border='0' />";
    21. }
    22. if ($news->bewertung == 5)
    23. {
    24. echo "<b>Bewertung:</b> <img src='images/bewerten/5.GIF' border='0' />";
    25. }
    26. ?>
    Alles anzeigen

    Das funktioniert auch so weit, jetzt habe ich noch ein Script geschrieben was die Spalte Updatet:

    Quellcode

    1. <?php
    2. $id = umbruch($_GET['id']);
    3. $bewertung = umbruch($_GET['bewertung']);
    4. $sql = "SELECT * FROM news WHERE id='".$id."' AND bewertung='".$bewertung."'";
    5. $db_erg = mysql_query( $sql );
    6. if ( ! $db_erg )
    7. {
    8. die('Ungültige Abfrage: ' . mysql_error());
    9. }
    10. if (!empty($bewertung))
    11. {
    12. mysql_query("UPDATE news SET bewertung='".$bewertung."'WHERE id=".$id);
    13. }
    14. if (empty($bewertung))
    15. {
    16. echo '<div class="box3">Bewertung konnte nicht geändert werden, bitte wähle eine Bewertung aus!</div>';
    17. }
    18. ?>
    Alles anzeigen


    Nur wie mache ich es jetzt das wenn der User auf Neu bewerten geht 5 Kreise kommen und das was er anklickt wird dan in mysql als die Bewertung gespeichert?
    Danke im Voraus...
  • Puh, darf ich dir dein erstes PHP Script mal zusammenfassen?

    Quellcode

    1. if($news->bewertung) {
    2. echo "<b>Bewertung:</b> <img src='images/bewerten/'.$news->bewertung.'.gif' border='0' />";
    3. } else {
    4. echo "<b>Bewertung:</b> Keine Bewertungen";
    5. }


    Deine eigentliche Frage verstehe ich aber nicht.
    Nur wie mache ich es jetzt das wenn der User auf Neu bewerten geht 5 Kreise kommen und das was er anklickt wird dan in mysql als die Bewertung gespeichert?

    Mach doch einfach 5 Grafiken für 5 Sterne: [coderwiki]http://www.coder-wiki.de/HowTos/JavaScript-Sterne[/coderwiki]

    Oder ist die Frage nach dem DB Schema. Wenn du die Bewertungen aller Benutzer speichern willst, musst du natürlich eine extra Tabelle für Bewertungen hinzufügen
    userid, itemid, bewertung
  • Naja.....
    ich habe die Grafiken ja schon!
    Meine Frage ist wenn ich es jetzt so machen um die Bewertung auszuwählen:

    Quellcode

    1. <form>
    2. <select>
    3. <option>Bitte Angeben</option>
    4. <option value="0">0</option>
    5. <option value="1">1</option>
    6. <option value="2">2</option>
    7. <option value="3">3</option>
    8. <option value="4">4</option>
    9. <option value="5">5</option>
    10. </select>
    11. </form>
    12. <input type="submit" value="Abgeben">
    Alles anzeigen


    Wie muss ich das jetzt machen das die Gewählte Bewertung in die MYSQL Datenbank eingetragen wird?

    Hier nochmal das Script wie ich es gemacht habe aber es klapt nicht...

    Quellcode

    1. Hier kannst du eine Bewertung für die News angeben:<br />
    2. <form>
    3. <select>
    4. <option>Bitte Angeben</option>
    5. <option value="0">0</option>
    6. <option value="1">1</option>
    7. <option value="2">2</option>
    8. <option value="3">3</option>
    9. <option value="4">4</option>
    10. <option value="5">5</option>
    11. </select>
    12. </form>
    13. <input type="submit" value="Abgeben">
    14. <?php
    15. if (!empty($_POST['submit']))
    16. $sql = "SELECT bewertung FROM news";
    17. $db_erg = mysql_query( $sql );
    18. if (!empty($_POST['submit']))
    19. {
    20. mysql_query("UPDATE news SET bewertung='".$bewertung."'WHERE id=".$id);
    21. }
    22. if (empty($_POST['submit']))
    23. {
    24. echo '<div class="box3">Bewertung konnte nicht geändert werden, bitte wähle eine Bewertung aus!</div>';
    25. }
    26. ?>
    Alles anzeigen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Kevin_bassbox ()

  • Ich glaube mich zu erinnern dass das Formular einen Namen tragen muss, damit er gesendet wird oder zumindest tut er das nicht

    also schon mal <form name="blabla">

    Quellcode

    1. Hier kannst du eine Bewertung für die News angeben:<br />
    2. <form>
    3. <select>
    4. <option>Bitte Angeben</option>
    5. <option value="0">0</option>
    6. <option value="1">1</option>
    7. <option value="2">2</option>
    8. <option value="3">3</option>
    9. <option value="4">4</option>
    10. <option value="5">5</option>
    11. </select>
    12. </form>
    13. <input type="submit" value="Abgeben">
    14. <?php
    15. if (isset($_POST['submit'])) #keine geschleifte klammern
    16. $sql = "SELECT bewertung FROM news";
    17. $db_erg = mysql_query( $sql );
    18. if (!empty($_POST['submit'])){ #wozu?
    19. mysql_query("UPDATE news SET bewertung='".$bewertung."'WHERE id=".$id);
    20. }
    21. if (empty($_POST['submit'])){
    22. echo '<div class="box3">Bewertung konnte nicht geändert werden, bitte wähle eine Bewertung aus!</div>';
    23. }
    24. ?>
    Alles anzeigen


    und wozu rufst du die bewertung erstmal auf (aus der Datenbank meine ich jetzt)? um den schnitt zusammen zu rechnen? für bewertung brauchst du meistens (meiner Erfahrung nach) 2 Spalten. eine für Bewertungsnotensumme oder lediglich Notenspiegel und aber auch die Anzahl der Bewertungen

    Gruß