Der er ikke lige en SQL-måde jeg kan komme i tanker om. Du kunne måske prøve at lave det programmatisk, altså hive alle rækker ud, og så udvælge en tilfældig af dem med en bestemt værdi i felt2. Her er et eksempel på hvordan det kunne gøres:
$sql = "SELECT * FROM tabel WHERE active = 1 ORDER BY felt2"; $qh = mysql_query( $sql ) or die( mysql_error() ); $res = array(); while ( $row = mysql_fetch_assoc( $qh ) ) { if ( !array_key_exists( $row['felt2'], $res ) ) { $res[$row['felt2']] = array(); } $res[$row['felt2']][] = $row; } foreach ( $res as $rows ) { $row = array_rand( $rows ); echo "<pre>"; var_dump( $row ); echo "</pre>"; }
For lige at forklare, så skriver jeg bare hele array-strukturen ud med:
echo "<pre>"; var_dump( $row ); echo "</pre>";
Du kan naturligvis tilgå felterne med $row['feltnavn'] osv i stedet
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.