mysql query random riga

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Ragazzi buondì,

Ho un problema nel realizzare una query.

Ho una tabella nel db chiamata Link che si compone di due colonne, una id con appunto un id AUTO_INCREMENT e una link con appunto al suo interno dei link.
Es:

id link
1 www.google.it
2 www.yahoo.com
3 www.bing.it

Vorrei creare una query che estragga randomicamente un solo link.

Ho provato svariate soluzioni ma non mi vanno, vi posto il file php interessato:

PHP:
// Mi connetto al database
require "../config.php";
$link=mysql_connect($HOST, $DB_USER_NAME, $DB_USER_PWD); 
mysql_select_db ($DB);


//$result = mysql_query("SELECT link FROM Link WHERE RAND()<(SELECT ((1/COUNT(*))*10) FROM Link) ORDER BY RAND() LIMIT 1");

/*$range_result = mysql_query( " SELECT MAX(id) AS max_id , MIN(id) AS min_id FROM Link ");
$range_row = mysql_fetch_object( $range_result ); 
$random = mt_rand( $range_row->min_id , $range_row->max_id );
$result = mysql_query( " SELECT * FROM Link WHERE id >= $random LIMIT 0,1 ");*/

$result = mysql_query("SELECT link FROM Link ORDER BY RAND() LIMIT 1");



var_dump($result);
echo $result;

Da sempre come risultato resource(4) of type (mysql result) Resource id #4
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, l'ultima query è giusta, ma, hai dimenticato di estrarre il risultato
PHP:
$row = mysql_fetch_assoc($result);
echo $row['link'];
se fai il var_dump di $result è corretto che ti mostra quello che hai postato
 

IImanuII

Utente Attivo
10 Giu 2012
390
0
16
Ciao, l'ultima query è giusta, ma, hai dimenticato di estrarre il risultato
PHP:
$row = mysql_fetch_assoc($result);
echo $row['link'];
se fai il var_dump di $result è corretto che ti mostra quello che hai postato

Infatti si :)

Stavo per postare di aver risolto in questo modo

PHP:
<?php
// Mi connetto al database
require "../config.php";
$link=mysql_connect($HOST, $DB_USER_NAME, $DB_USER_PWD); 
mysql_select_db ($DB);

$range_result = mysql_query( " SELECT MAX(id) AS max_id , MIN(id) AS min_id FROM Link ");
$range_row = mysql_fetch_object( $range_result ); 
$random = mt_rand( $range_row->min_id , $range_row->max_id );
$result = mysql_query( " SELECT * FROM Link WHERE id >= $random LIMIT 0,1 ");

$titolo = mysql_fetch_row($result);

var_dump($result);

echo "<pre>";
print_r($titolo);
echo "</pre>";
?>

Mi spiace di aver postato, alle volte vado in panico e sono troppo precipitoso XD
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Una query secca secondo me è il modo migliore per risparmiare risorse (umane sopratutto)
PHP:
<?php
$result = mysql_query("SELECT link FROM Link ORDER BY RAND() LIMIT 1");
$row = mysql_fetch_assoc($result);
echo $row['link'];
?>
basta notare la quantità minima di istruzioni
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Query mysql per selezioni random in categorie mirate PHP 4
elpirata Query per leggere dati da una tabella mysql e mostrarli a video in base a parametri passati tramite GET PHP 5
A Carattere 'è' in query MySQL PHP 0
M [MySQL] CREARE UN LINK SU UN DETERMINATO CAMPO DI UNA TABELLA RISULTATO DI UNA QUERY SQL MySQL 3
max1974 Query lenta.....Mysql 5.7 MySQL 2
G [MySQL] Connessione DB e query da file batch MySQL 1
V [MySQL] problema query con date su server MySQL 5
P Query Mysql con Join PHP 2
D [MySQL] Tabelle "molti a molti", SELECT con troppe QUERY MySQL 7
G esportare in file .csv risultato di query mysql PHP 5
napuleone [MySQL] commenti in una query MySQL 1
P [MySQL] Query su DB 1 e Insert su DB 2 PHP 11
MarcoGrazia [mysql][mariadb]Raggruppare query in base alla data MySQL 2
G Mysql ( Query) problema interrogazione MySQL 0
danjde [MySQL] Escludere specifico valore dalla query select MySQL 3
C Php/Mysql query JOIN tra tabelle PHP 4
C Php/Mysql query JOIN tra due tabelle PHP 18
P [MYSQL] Query su tabelle con clausola "essenziale" MySQL 10
booklisa MYSQL e PHP Query e sottoquery PHP 3
A Query mssql su mysql con linked server Database 0
I Query DB MYSQL MySQL 0
T query mysql MySQL 3
gandalf1959 mysql query, sum(qualcosa), order by sum(qualcosa). E' possibile? PHP 14
M [PHP - MYSQL] Mantenere filtro query in tabelle paginate PHP 3
M Paginazione di risultati query mysql PHP 2
G problema query mysql in php PHP 5
felino [PHP][MySQL] Errore nella query PHP 6
A Form fattura multiriga e query salvataggio mysql PHP 3
N Eseguire una query MySQL dopo 10 secondi PHP 0
A jbutton che esegue una query mysql in netbeans Java 1
G Inserimento loop in una INSERT query in PHP e MySQL PHP 2
L filtri di query [php-mysql] PHP 6
A [RISOLTO]Come generare query dinamica PHP-MYSQL PHP 2
Albertoesse Problemi passaggio valori da un Form ad Una classe con query mysql PHP 12
G Problema con query mysql MySQL 1
B problema query mysql php PHP 1
L PHP: problema con query mysql. PHP 3
M MySql Query ciclo nidificato PHP 3
ivarello Asterisco e query mysql PHP 2
A Indicizzare i risultati di una query Mysql con php PHP 0
F Estrazione da db MySQL con query molto lunga PHP 13
B Aiuto query mysql in php PHP 1
S Autocompletamente con jQuery, PHP e MySQL - Problema con le query PHP 7
M cache query mysql PHP 1
Boscagoo Problema query mySQL MySQL 6
A sintassi query mysql PHP 3
R Quale la funzione mysql query. PHP 3
R Aiutino per query MySql PHP 8
neo996sps [PHP + MySQL + Server Linux] Upload semi riuscito e query non eseguite PHP 2
M Problema query MySQL MySQL 13

Discussioni simili