Стани премиум член и добиј попуст на 2000+ производи и куп други бенефити!

Cелекција на рандом ред од табела

NIKIHACK

hello world
10 февруари 2008
438
27
www.facebook.com
Значи воа доле ради све ок, али проблем е коа удрам рефреш ништо не се мења истио продукт останува на страницата, а сакам коа го рефреширам да ми се избере различен :S
PHP:
<?php
$sql = mysql_query("SELECT * FROM products");
 
//$productsCount = mysql_num_rows($sql);
$row = mysql_num_rows($sql);
 
$rand = rand(0,$row);
 
$random_row = mysql_query("SELECT * FROM products WHERE id='$rand' ");
 
 
$random_row = '<table width="100%" border="0" cellspacing="0" cellpadding="6">.....
 

DekoRoker

lurker
12 септември 2009
625
53
Скопје
dejan.at.mk
со ова ги земаш сите елементи од табелата:
PHP:
$sql = mysql_query("SELECT * FROM products");

а со mysql_num_rows земаш колку елементи има табелата.. Можно е второто query да не ти врати ништо. Подобро решение би било:

PHP:
<?php
$sql = mysql_query("SELECT id FROM products");
$id = array();
while($row = mysql_fetch_assoc($sql))
    $id[] = $row->id;
//$productsCount = mysql_num_rows($sql);
$row = mysql_num_rows($sql);
 
$rand = rand(0,$row);
 
$random_row = mysql_query("SELECT * FROM products WHERE id='$id[$rand]' ");
 
 
$random_row = '<table width="100%" border="0" cellspacing="0" cellpadding="6">.....

Или уште подобро е да ја користиш функцијата mysql_result()

Со тоа би било:


PHP:
<?php
$sql = mysql_query("SELECT * FROM products");
 
//$productsCount = mysql_num_rows($sql);
$row = mysql_num_rows($sql);
 
$rand = rand(0,$row);
 
$row = mysql_result($sql,$rand);
 
 
$random_row = '<table width="100%" border="0" cellspacing="0" cellpadding="6">.....
 

NIKIHACK

hello world
10 февруари 2008
438
27
www.facebook.com
не сум упагал у детали пошто е проект за на факултет :p
иначе пак коа манам рефреш на страната истио продукт га дава, а идејата ми е, да ми дава рандом одбран продукт, и истио да се мења секојпат коа се рефрешира.
Иначе да не треба на одредено место да гу затворам конекцијата??
 

mihajlo

read-only
2 март 2010
10
6
Скопје
siljanoski.com
Во принцип, ORDER BY RAND() троши многу MySQL ресурси, посебно кога се користи во комбинација со GROUP BY :)

Како и да е... ако земаме во предвид перформанси ни треба caching или некоја библиотека како doctrine.

Позз
 

NIKIHACK

hello world
10 февруари 2008
438
27
www.facebook.com
тоа Order By Random() беше прво шо го пробав, и со тоа и со овоа мојто исте е ефекто. Значи на почетната страна ми се наогат продукти, и од десната страна имам посебен дел, имам некој јаваскрипти ко да не е штуро (календар дигитален саат и Page View Counter) и под сето тоа, прикажување на еден рандом продукт. Колку пати и да рефреширам, тај си стое, а на другите страни (страна 2 со продукти 3,4,5 ....) има различни, али и тие не се мењат. Плус коа праам echo на таа рандом променливата, удара рефреш и се мења бројчето, али зашто продукто не се мења поим неам :S
Така да некоја идеја
 

mihajlo

read-only
2 март 2010
10
6
Скопје
siljanoski.com
Најбрзо ќе стигнеш до решението ако не мешаш view, model и controler. Базата е база и query-то е query. Прави си Unit тестови и ќе го најдеш проблемот.

Како се вели „Раздели па владеј!“ :)

Навистина не знам што конкретно сакаш да постигнеш ниту како ти е организирано..

Како и да е една од можните варијанти e cache na view-от.

Поздрав
 

NIKIHACK

hello world
10 февруари 2008
438
27
www.facebook.com
У сваки случај, проекто веќе беше презентиран, го положих со 7ца :), а у кариерата немам намера да се занимавам со PHP, претпочитам Android App Development, или евентуално компјутерска графика (DirectX, OpenGL, WebGL, Ogre3D....)
фала многу, темата може да се затвори, и се надевам дека претходните постови ке помогнат на некој доколку наиде на истио проект.
Пс. за организацијата на кодо, можам да кажам дека е нешто слично на подобро организиран отпад :)
Поздрав :)
 
462 членови онлајн
1.042.106мислења
51.209теми
37.452членови

Нови мислења

Последни огласи

ит маркет

На врв Дно