function get_items_by_params($quant,$mode="props",$prop="",$pv="")
{
$DB = new MySQLTable;
$DB->TblName = 'shop_goods';
$where['good_switch']['='] = 'on';
$cr = $DB->Select('COUNT(*)', $where);
if($cr !== false)
{
if(mysql_num_rows($cr)>0)
{
$row_count = mysql_result($cr,0);
if($row_count>$quant)
{
$rand_vals = array();
for($i = 0; $i<$quant; $i++)
{
$rv = mt_rand(0,$cr-1);
$try = 0;
while(in_array($rv,$rand_vals))
{
$rv = mt_rand(1,$row_count);
$try++;
if($try>$quant+1000)
{
break;
}
}
$rand_vals[] = $rv;
}
} else {
return false;
}
$query = array();
foreach($rand_vals as $random_row)
{
$query[] = '(SELECT `good_id`,`good_img`,`good_name`,`good_props` FROM `shop_goods` WHERE `good_switch` = "on" LIMIT '.$random_row.', 1)';
}
$query = implode(' UNION ', $query);
$res = $DB->SimpleQuery($query);
$out = array();
if($res !== false)
{
while($row = mysql_fetch_array($res))
{
$out[] = array($row['good_id'],$row['good_img']);
}
return $out;
}
}
}
return false;
}
Cette fonction utilise ma propre classe mysql travail. Mais il y a des requêtes:
$cr = $DB->Select('COUNT(*)', $where);//SELECT COUNT(*) FROM shop_goods WHERE good_switch = 'on'
$res = $DB->SimpleQuery($query); // like simple mysql_query()
Le point est de générer des valeurs aléatoires par PHP pour éviter la génération aléatoire par MySQL
Fonction retourne un tableau avec id paires/images
j'ai essayé le code ci-dessus, mais il didn ne fonctionne pas pour moi, voici mon code php session_start(); $ conn = mysql_connect ("localhost", "root", ""); mysql_select_db ("dbase_mgb", $ conn); $ resultat = mysql_query ("SELECT * de l'image WHERE img_id NOT IN (" .implode (',', $ _ SESSION ['used']). ") LIMITE 1"); $ _SESSION ['utilisé'] [] = $ résultat ['img_id']; $ imagepath = 'http: // localhost/images /'; while ($ row = mysql_fetch_array ($ resultat)) \t { $ img = $ chemin de l'image. $ Row ['img_name']; } >
je reçois cette erreur Avertissement: mysql_fetch_array() 1 paramètre attend à être ressource, booléenne donnée dans C: \ wamp \ www \ Exemples \ display.php on line 11 – Shruti