Skocz do zawartości
Zaloguj się, aby obserwować  
Gość Roothek

Wylosowanie rekordu, przeniesienie do innej tabeli w jednym zapytaniu

Polecane posty

Gość Roothek

Witam mam taki problem, że nie mogę zrobić w jednym zapytaniu: wylosowania, przeniesieniu rekordu.

$sql    = 'SELECT * FROM klucz WHERE 1 ORDER BY rand() LIMIT 1';

Jak to zrobić? :angry::huh:

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Roothek


if (!mysql_select_db('klucze', $link)) {
echo 'Could not select database';
exit;
}

$sql = 'START TRANSACTION;
SET @ROW_ID := (SELECT id FROM klucz ORDER BY RAND() LIMIT 1);
INSERT INTO klucz1 SELECT * FROM klucz WHERE id = @ROW_ID;
DELETE FROM klucz WHERE id = @ROW_ID;
COMMIT;';



$result = mysql_query($sql, $link) or die(mysql_error());

if (!$result) {
echo "DB Error, could not query the database\n";
echo 'MySQL Error: ' . mysql_error();
exit;
}

while ($row = mysql_fetch_assoc($result)) {
echo "Wylosowana gra to: ".$row['game']."<BR>Twoj kod do gry: ".$row['steam'];
}

mysql_free_result($result);


;
}

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Roothek

Teraz taki błąd wywala:

Error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'SET @ROW_ID := (SELECT id FROM klucz ORDER BY RAND() LIMIT 1); INSERT INTO klu' at line 2

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Roothek

Ok, zadziałało, jeszcze tylko jak wyświetlić te wyniki? =D

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Roothek

Kurna jak to zrobić, żeby działało :(

while ($row =($mysqli->query("SET @ROW_ID := (SELECT id FROM klucz ORDER BY RAND() LIMIT 1);"))) {


   
   echo  "Wylosowana gra:" .$row_id['id'];
   echo  "<br>Wylosowana gra:" .$row['game'];
   echo  "<br>Wylosowana gra:" .$row['steam'];
   

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×