2012-01-11 10 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>"; 
    } 
    ?> 

ACTUALIZACIÓN:instrucción actualiza SQL de datos único de usuario

Lo sentimos, he encontrado el error, que era bastante estúpida:

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

Debería ser:

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

¡Así que, gracias a todos! Como siempre: No se puede averiguarlo antes de publicar una pregunta al Stackoverflow :)

+0

Dígame qué valor obtiene de get_user_id ($ myusername)) haciendo echo exit. –

+0

+1 para la primera pregunta bien escrita - bienvenido a stackoverflow,) – kontur

+0

¡Gracias! Descubrí lo que estaba mal y ahora actualicé la pregunta a otra. – Algeron

Respuesta

1

Para su nueva pregunta, se puede resolver con una combinación interna: se unen

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

Sí,

$ catid = $ row ['rating_id']; // ID calificación no está relacionado con la canción

A

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

Cuestiones relacionadas