Berichten: 294
avatar
Offline Stuur privebericht
Is dit mogelijk om in een script te gebruiken ?

Code | Selecteer Alles
minimaliseren
1
$query.=  " ORDER BY `id` ASC  AND ORDER BY RAND() LIMIT 0,1";


Zoja : oke... ben ik gelijk geholpen!
Zonee : waarom niet, en hoe kan ik het anders doen ?

BvD, voor de input
13-04-2011 20:01
Dit topic is 227 keer bekeken door 50 verschillende leden
Reacties op: "Kan dit ?"
1
nyan nyan nyan nyan
Berichten: 2076
avatar
Offline Stuur privébericht
Nee, dat kan niet, je kan slecht één keer ORDER BY toevoegen. In het goede geval is het zo:
Code | Selecteer Alles
minimaliseren
1
$query.=  " ORDER BY `id` ASC, RAND() LIMIT 1";

Meerdere kolommen geef je mee door middel van een komma. Voor een busfotowebsite van mij gebruik ik ORDER BY LENGTH(busnummer), busnummer, iets in die richting. Werkt beter, omdat je anders alle getallen onlogisch door elkaar ziet

Maar vraag me af of dat wel werkt, omdat je nu op ID wilt gaan sorteren EN op RAND()... Denk dat je een van de twee moet kiezen, beiden zal waarschijnlijk niet gaan
13-04-2011 20:04
Berichten: 294
avatar
Offline Stuur privébericht
Zou dit evt. wel kunnen ?

Code | Selecteer Alles
minimaliseren
1
$query.= " ORDER BY RAND() ASC LIMIT 0,1";
13-04-2011 20:15
Berichten: 552
avatar
Offline Stuur privébericht
Nee want nou weet de query niet waar hij op moet orderen..
13-04-2011 20:29
Berichten: 294
avatar
Offline Stuur privébericht
Er zit nog een stukje code boven...

Code | Selecteer Alles
minimaliseren
1
2
3
{
        
$query2 .= " AND `id` != '$site'";
}


Dus hij weet dan wel wat hij moet doen...
13-04-2011 20:32
Berichten: 637
avatar
Offline Stuur privébericht
dat werkt natuurlijk niet.

Je moet allebij de variable query noemen met de .= voeg je het toe aan query en als je dan query 2 neemt dan heb je er dus 2? dus of je doet het zo
Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
9
10
11
12
13
$query "SELECT id FROM users";
$query .= " WHERE id = '\" . $id . \"'";
$query .= " ORDER BY id";

mysql_query($query);

//of

$query1 "SELECT id FROM users";
$query2 " WHERE id = '\" . $id . \"'";
$query3 " ORDER BY id";

mysql_query($query1 $query2 $query3);
13-04-2011 20:51
Berichten: 294
avatar
Offline Stuur privébericht
ik heb nu dit, maar volgens mij kan dit beter ??

Code | Selecteer Alles
minimaliseren
1
2
3
4
5
6
7
8
$query mysql_query("SELECT * FROM `logs` WHERE `ip` = '$ip' AND `timestamp` >= $yesterday");
    while(list(
$ip$site$timestamp)=    mysql_fetch_row($query))
    {
        
$query2 .= " AND `id` != '$site'";
    }

        
//$query.= " ORDER BY `id` ASC LIMIT 0,1";
        
$query.= " ORDER BY RAND() LIMIT 0,1";
14-04-2011 13:22
Reageer op: "Kan dit ?"
1
Je kan niet reageren omdat je niet bent ingelogd. Inloggen of Aanmelden