Autor Zpráva
vojtan
Profil
Zdravím, mám takový problém s hodnotícím skriptem. Potřebuji hodnotit na škále 1 až 5 zkušenosti k jednotlivým znalostem (např. photoshop, illustrator, indesign apod.), našel jsem si skript, který umí kliknutím zapsat výsledek hodnocení přes AJAX do databáze a zobrazit ho v reálném čase. Akorát se mi nedaří nastavit více hodnocení na jedné stránce. Jak toho docílit, aby se mi vždy vkládalo aktuální ID zkušenosti do skriptu a ne jen to poslední. Podle mě se ve skriptu musí odlišit jednotlivé hodnotící pole, ale nevím vůbec jak na to :( Díky za každou radu

Zde je kód:

//načtu vložené hodnocení (uroven) z databáze propojené s ID uživatele a ID zkušenosti

$dotaz = "SELECT zks.id, zk.nazev, zks.uroven FROM zkusenosti zk LEFT JOIN zkusenosti_spoj zks ON zk.id = zks.id_zkusenost LEFT JOIN uzivatele uziv ON uziv.id = zks.id_uzivatel WHERE uziv.id = '$id_uzivatel'";
$vysledek = @mysql_query ($dotaz);

while ($radek = mysql_fetch_array($vysledek, MYSQL_NUM)) {
      $zkusenost_id = $radek[0];
      $zkusenost_nazev = $radek[1];
      $zkusenost_uroven = $radek[2];

// Zde je kód hodnotícího pole
      
echo '<div style="font-size:15px;padding-top:3px;">'.$zkusenost_nazev.'
        <div class="rate-ex3-cnt">
            <div id="1" class="rate-btn-1 rate-btn"></div>
            <div id="2" class="rate-btn-2 rate-btn"></div>
            <div id="3" class="rate-btn-3 rate-btn"></div>
            <div id="4" class="rate-btn-4 rate-btn"></div>
            <div id="5" class="rate-btn-5 rate-btn"></div>
        </div>
</div>';
?>

// AJAX skript

    <script>
        // rating script
        $(function(){ 
            $('.rate-btn').hover(function(){
                $('.rate-btn').removeClass('rate-btn-hover');
                var therate = $(this).attr('id');
                for (var i = therate; i >= 0; i--) {
                    $('.rate-btn-'+i).addClass('rate-btn-hover');
                };
            });
                            
            $('.rate-btn').click(function(){    
                var therate = $(this).attr('id');
                var dataRate = 'act=rate&post_id=<?php echo $zkusenost_id; ?>&rate='+therate; //
                $('.rate-btn').removeClass('rate-btn-active');
                for (var i = therate; i >= 0; i--) {
                    $('.rate-btn-'+i).addClass('rate-btn-active');
                };
                $.ajax({
                    type : "POST",
                    url : "ajax.php",
                    data: dataRate,
                    success:function(){}
                });
                
            });
        });
    </script>

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: