Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Multiple "id" u ajax

[es] :: Javascript i AJAX :: Multiple "id" u ajax

[ Pregleda: 1894 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

rade mirkovic
nemam
nemam

Član broj: 319348
Poruke: 6
*.aDSL.verat.net.



Profil

icon Multiple "id" u ajax25.11.2013. u 08:11 - pre 104 meseci
Slično kao u temi "Zbrka oko Multiple..." na ovom forumu i ja imam sledeći problem:
Imam na web stranici dugme za glasanje koje radi na principu "like" dugmeta na "facebook" ,dakle sa brojačem glasova pored i bez "unlike" varijante.
E sad, kada je jedno dugme u pitanju u AJAX ono radi savršeno ali kada pokušam postaviti više njih onda ne mogu. Kako da svako posebno povežem sa njihovim "id" ?
Ovako to izgleda
Code:

 <?php
    require 'config.php';
    require 'opendb.php';
//Pass the ID of the Article here
    $id = 1;
    
    $sql = "SELECT * FROM Article WHERE id=$id";
    $result = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_assoc($result);

    $ratings = $row["rating"];
    
    
?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function()
    {
        $(".c").click(function()
        {
            var ID = <?php echo $id;?>//$("#vote").text();
            var rating = <?php echo $ratings;?> 
            
            var queryString = 'id='+ ID +'&vote='+rating;
            $("#vote").text(rating+1); 
            
                $.ajax({
                type: "POST",
                url: "submitVote.php",
                data: queryString,
                cache: false,
                success: function(html)
                {}
                });
            
        });
    
    
    });
</script>

</head>

   <body>
   <div id="content">
  
   <p id="p">glasova</p> 
    <div id="vote"><?php echo $ratings;?></div>
      
  <input type="submit" class="c" value="like" onclick="this.style.background='green';">
</form>
</div>
</div>
 
Odgovor na temu

nemnesic
nemnesic
Software Developer
Vranje Florida

Član broj: 44355
Poruke: 799
*.dynamic.isp.telekom.rs.



+63 Profil

icon Re: Multiple "id" u ajax25.11.2013. u 11:00 - pre 104 meseci
Problem je sto imas vise od jednog elementa sa istim ID-om - #vote

Treba da svaki element ima razliciti ID da bi ovo radilo.
Iako mi se ne svidja nacin na koji si ovo odradio, evo kako da resis problem sa ID.
evo nekoliko saveta:
1) ID mora da bude jedinstven za svaki DOM element.
2) nemoj da mesas PHP i javascript. Gledaj da ti JS bude gde JS a PHP tamo gde je samo PHP, a HTML samo gde je HTML.
3). koristi HTML i JS
4) Cak i PHP ti nije dobar. Pogledaj redbean php - http://www.redbeanphp.com/ to ti je ORM za PHP koji ce da ti mnogo olaksa DB posao za PHP-om.
5) ovde setujes ratings unutar text-box-a kada neko klikne bez da proveris da li je ajax successful. Ovo set-ovanje bi trebalo da uradis onSuccess ajax - i da upises ono sto ti vrati server ako ti nesto vrati.

Code:

<?php
    require 'config.php';
    require 'opendb.php';
//Pass the ID of the Article here
    $id = 1;
    
    $sql = "SELECT * FROM Article WHERE id=$id";
    $result = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_assoc($result);

    $ratings = $row["rating"];
    
    
?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5/jquery.min.js"></script>
<script type="text/javascript">
    $(document).ready(function()
    {
        $(".c").click(function()
        {
            var ID = <?php echo $id;?>//$("#vote").text();
            var rating = <?php echo $ratings;?> 
            
            var queryString = 'id='+ ID +'&vote='+rating;
            $("#vote_<?php echo $id;?>").text(rating+1); ----------------------I OVDE SAMO PROMENIO ID
            
                $.ajax({
                type: "POST",
                url: "submitVote.php",
                data: queryString,
                cache: false,
                success: function(html)
                {}
                });
            
        });
    
    
    });
</script>

</head>

   <body>
   <div id="content">
  
   <p id="p">glasova</p> 
    <div id="vote_<?php echo $id;?>"><?php echo $ratings;?></div> -------------------OVDE SAM PROMENIO VOTE
      
  <input type="submit" class="c" value="like" onclick="this.style.background='green';">
</form>
</div>
</div>


 
Odgovor na temu

rade mirkovic
nemam
nemam

Član broj: 319348
Poruke: 6
*.aDSL.verat.net.



Profil

icon Re: Multiple "id" u ajax26.11.2013. u 07:51 - pre 104 meseci
Lep trud je uložen za objašnjenje ali mi on nije pomogao. Ne ide mi sa ovim RedBeanphp jer skoro svi primeri su istovetni pa se još kombinuju sa json i framework koje ne poznajem, nigde primera sa counter-om pa još i višestrukim id-om. Uostalom tamo kažu da RedBeanphp je za lenje i da štedi trud(džabe im ga bilo) što bi značilo da se može i preskočiti. Brine me što ovaj ispravljeni kod koji sam dobio zbog nečega ne funkcioniše a ja sam rad da makar tim dužim putem završim taj posao.
 
Odgovor na temu

[es] :: Javascript i AJAX :: Multiple "id" u ajax

[ Pregleda: 1894 | Odgovora: 2 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.