Die Prüfung zwecks leeren Spielername ist nötig, da in der Tabelle auch reale Daten stehen und nicht jeder Spieler seinen "Spielernamen" eingetragen hat.
geht auch mit
$z=mysql_query("SELECT id,spielername FROM turnier WHERE spielername!=''");
Es gibt eine Funktion mit der du ein Zufalls Index Array erzeugst
http://de.php.net/function.array-rand
danach kannst du einfach durchgehen:
for(i=0;i<count(Array);i+=2){
Array[i] gegen Array[i+1]
}