Toon posts:

[MySQL] Het werkt wel, maar

Pagina: 1
Acties:
  • 37 views sinds 30-01-2008

Verwijderd

Topicstarter
Hallo,

Ik zal eerst even uitleggen wat ik graag wil:

Ik zou graag willen dat hij 6 random plaatjes uit een database trekt en dan gelijk uit de tabel users de gegevens van de gebruiker haalt, en ik kan nu van iedere gebruiker ook zijn homepage en email vermelden.
Ook het aantal plaatjes wat de user geupload heeft laat hij zien.

Nu werkt het wel goed, maar ik vraag mij of of dit zo goed is of dat er nog een betere manier is of snellere manier:
PHP:
1
<?        global $user, $dbi, $prefix;        include 'admin/config.php';        mt_srand((double)microtime()*100000);                        $total = mysql_fetch_array(mysql_query("SELECT COUNT(p.pid) AS total FROM gallery_pictures" AS p LEFT JOIN gallery_categories" AS c ON c.gallid=p.gid WHERE c.visible>=1"));                $total1 = mysql_fetch_array(mysql_query("SELECT COUNT(q.pid) AS total FROM gallery_pictures" AS q LEFT JOIN gallery_categories" AS d ON d.gallid=q.gid WHERE d.visible>=1"));                $total2 = mysql_fetch_array(mysql_query("SELECT COUNT(r.pid) AS total FROM gallery_pictures" AS r LEFT JOIN gallery_categories" AS e ON e.gallid=r.gid WHERE e.visible>=1"));                $total3 = mysql_fetch_array(mysql_query("SELECT COUNT(s.pid) AS total FROM gallery_pictures" AS s LEFT JOIN gallery_categories" AS f ON f.gallid=s.gid WHERE f.visible>=1"));                $total4 = mysql_fetch_array(mysql_query("SELECT COUNT(t.pid) AS total FROM gallery_pictures" AS t LEFT JOIN gallery_categories" AS g ON g.gallid=t.gid WHERE g.visible>=1"));                $total5 = mysql_fetch_array(mysql_query("SELECT COUNT(u.pid) AS total FROM gallery_pictures" AS u LEFT JOIN gallery_categories" AS h ON h.gallid=u.gid WHERE h.visible>=1"));                      $p = mt_rand(0,($total[total] - 1));        $q = mt_rand(0,($total1[total] - 1));        $r = mt_rand(0,($total2[total] - 1));        $s = mt_rand(0,($total3[total] - 1));        $t = mt_rand(0,($total4[total] - 1));        $u = mt_rand(0,($total5[total] - 1));    $pic = mysql_fetch_array(mysql_query("SELECT p.pid, p.submitter, p.img, p.name, p.description, c.galloc FROM gallery_pictures" AS p LEFT JOIN gallery_categories" AS c ON c.gallid=p.gid LIMIT $p,1"));    $pic1 = mysql_fetch_array(mysql_query("SELECT q.pid, q.submitter, q.img, q.name, q.description, d.galloc FROM gallery_pictures" AS q LEFT JOIN gallery_categories" AS d ON d.gallid=q.gid LIMIT $q,2"));    $pic2 = mysql_fetch_array(mysql_query("SELECT r.pid, r.submitter, r.img, r.name, r.description, e.galloc FROM gallery_pictures" AS r LEFT JOIN gallery_categories" AS e ON e.gallid=r.gid LIMIT $r,3"));    $pic3 = mysql_fetch_array(mysql_query("SELECT s.pid, s.submitter, s.img, s.name, s.description, f.galloc FROM gallery_pictures" AS s LEFT JOIN gallery_categories" AS f ON f.gallid=s.gid LIMIT $s,4"));    $pic4 = mysql_fetch_array(mysql_query("SELECT t.pid, t.submitter, t.img, t.name, t.description, g.galloc FROM gallery_pictures" AS t LEFT JOIN gallery_categories" AS g ON g.gallid=t.gid LIMIT $t,5"));    $pic5 = mysql_fetch_array(mysql_query("SELECT u.pid, u.submitter, u.img, u.name, u.description, h.galloc FROM gallery_pictures" AS u LEFT JOIN gallery_categories" AS h ON h.gallid=u.gid LIMIT $u,6"));        $usr = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic[submitter]'"));        $usr1 = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic1[submitter]'"));        $usr2 = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic2[submitter]'"));        $usr3 = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic3[submitter]'"));        $usr4 = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic4[submitter]'"));        $usr5 = mysql_fetch_array(mysql_query("SELECT uname, email, url FROM users" WHERE uname = '$pic5[submitter]'"));                $pic[description] = htmlentities($pic[description]);        $pic1[description] = htmlentities($pic1[description]);        $pic2[description] = htmlentities($pic2[description]);        $pic3[description] = htmlentities($pic3[description]);        $pic4[description] = htmlentities($pic4[description]);        $pic5[description] = htmlentities($pic5[description]);        $pnum = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic[submitter]'", $dbi));        $pnum1 = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic1[submitter]'", $dbi));        $pnum2 = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic2[submitter]'", $dbi));        $pnum3 = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic3[submitter]'", $dbi));        $pnum4 = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic4[submitter]'", $dbi));        $pnum5 = sql_num_rows(sql_query("select * from gallery_pictures where submitter = '$pic5[submitter]'", $dbi));        ?>

Bedankt alvast

Verwijderd

:r iig in een loopje zetten lijkt me geen overbodige luxe... dit soort code is ranzig...

en zoals je kan zien staan er sowieso al een paar " s teveel in

owja, en waarom gebruik je globals?! :r

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

mag ik de eerste zijn die zegt.


Huh? :?

/Wat is het nut van al die fetch_array's?
/Je hebt een fout gemaakt met " zie color coding Topix

[edit]
En nog te laat zijn ook.. :(

Programmer - an organism that turns coffee into software.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 31-08 10:19

D2k

uhm een tutorial (elke maakt niet uit welke) zou geen overbodige luxe zijn

suc6

Doet iets met Cloud (MS/IBM)


Dit topic is gesloten.