2012-01-11 12 views
5
<?php 

    function get_user_id($username) { 
     return mysql_result(mysql_query("Select id From users Where username = '" . mysql_real_escape_string($username) . "'"), 0); 
    } 

    $sql = "select * from rating 
    WHERE user_id=" . get_user_id($myusername) . " 
      ORDER BY punkte ASC"; 
    $query = mysql_query($sql); 
    while ($row = mysql_fetch_array($query)) { 
     $catid = $row['rating_id']; 
     $catname = $row['song_id']; 
     echo "<li id='item_$catid' class='ui-state-default'><span class='ui-icon ui-icon-arrowthick-2-n-s'></span>$catname</li>"; 
    } 
    ?> 

UPDATE:sql aktualizacji danych tylko jeden użytkownik za

Niestety, znalazłem błąd, to było dość głupie:

$catid = $row['rating_id']; 
    $catname = $row['song_id']; 

Powinno być:

$catid = $row['song_id']; 
$catname = $row['song_name']; 

Dziękuję wszystkim! Jak zawsze: Nie można ustalić to przed wysłaniem pytanie stackoverflow :)

+0

Proszę mi powiedzieć, jaką wartość otrzymujesz z get_user_id ($ myusername) przez wykonanie wyjścia echa. –

+0

+1 za dobrze napisane pierwsze pytanie - witamy w stackoverflow,) – kontur

+0

Dzięki! Odkryłem, co było nie tak, a teraz zaktualizowałem to pytanie do innego. – Algeron

Odpowiedz

1

dla nowego pytania, można go rozwiązać z sprzężenia wewnętrznego:

select s.song_name from rating r 
inner join songs s on s.song_name_id = r.song_id 
0

Tak,

$ catid = $ row ['rating_id']; // ocena id nie jest związana z piosenką

DO

$ catid = $ row [ 'song_id']; $ catname = $ row ['nazwa utworu'];

Powiązane problemy