webForumDet fria alternativet

kör mysql genom klickning?

15 svar · 1 223 visningar · startad av vagann

vagannMedlem sedan juli 2011171 inlägg
#1

hejsan , jag har följande funktionen

$slump_sql = "SELECT * FROM `members` ORDER BY rand(" . time() . " * " . time() . ") LIMIT 1";
$slump = mysql_fetch_array($slump_sql);

för att slumpa fram en användare , men hur gör jag så att funktionen körs endast när man klickar på bilden ?

drewMedlem sedan mars 2007845 inlägg
#2

Vilken bild? Om man antar att bilden är en länk till någon fil hos dig så kan du ju lägga till en get parameter.
ex: dinsite.tld/en_fil.php?slump=1
Och i din funktion så lägger du till

if (!empty($_GET['slump']))
{
  // Din SQL fråga.
}

Det kollar inte om slump är mer än ett, bara att den är satt och inte tom (ex noll).

vagannMedlem sedan juli 2011171 inlägg
#3

tanken var att ha en länk/bild i divet #slumpa och då när klickar på länken så skulle funktionen köras och sedan går man automatiskt till användaren profile, har försökt olika sätt att få det funka men kunde inte ...

voigtann1Medlem sedan juni 20019 519 inlägg
#4

Om du få ut användaren så kan du ju skicka besökaren till användarens sida du har ju all info om användaren när du ha hämtat SQL frågan

walter groupiusMedlem sedan juli 2004144 inlägg
#5

vagann skrev:

tanken var att ha en länk/bild i divet #slumpa och då när klickar på länken så skulle funktionen köras och sedan går man automatiskt till användaren profile, har försökt olika sätt att få det funka men kunde inte ...

Det känns väldigt otydligt vad du är ute efter mer exakt.

Ska bilden hämtas på sidan du hamnar på efter klicket, så <a länka bilden, och hämta rätt på sidan sedan.

Ska bilden slumpas per sidladdning så kör som du gjort helt enkelt...

Ska du ladda om bilden, dvs få en ny varje ggn användaren gör något på sidan, tex "visa ny bild" så använd javascript. Men det rimmar dåligt med att du skrev att man ska gå till profilen vid klick. Du kan ju inte flasha en bild i 1 sekund innan redirecten sker till nya sidan, makes no sense :bire

vagannMedlem sedan juli 2011171 inlägg
#6

voigtann1 , jag får inte ur användare ... :/

walter groupius , jag ska försöka förklara på ett bättre sätt :P...

jag hade tänkt att ha en länk som kan kallas för "slump" då man klickar på länken "slump" då bör funktionen välja en användare slumpmässigt sen ska funktionen omdirigera sidan till användarens profile , länken bör blir nåt som ".../page.php?name=profile&id=2"

drewMedlem sedan mars 2007845 inlägg
#7

Då länkar du ju slump direkt till profilsidan och låter profilsidan slumpa en användare och visa den.

vagannMedlem sedan juli 2011171 inlägg
#8

drew skrev:

Då länkar du ju slump direkt till profilsidan och låter profilsidan slumpa en användare och visa den.

men har ingen aning om hur det ska gå till ? skulle vara snäll om nån kunde visa med koder :)

voigtann1Medlem sedan juni 20019 519 inlägg
#9

Om du nu har en länk som säger "gå till en slumpmässig användare" så har du ju själv skrivit att du ha en kod som hämtar upp en slumpad människa, om du nu ha den i exempelvis random.php så kan du ju efter hämtat upp användarensinformation köra en redirect till url:en till den där användaren du har precis hämtat upp.

Om det nu är att du vill visa en bild på den slumpade människan som man kan trycka på så är det ju mer eller mindre samma sak fast på den sidan du har bilden på hämtar upp infon där av den slumpande användaren och presentera den datan du behöver för att en besökare skall kunna klicka på länken.

Jag förstå inte riktigt vad du vill göra, men jag ser inte heller om du nu har som du kallar det en funktion för att hämta en slumpad användare så borde du ha all makt själv att generera vad det nu är du vill göra med informationen.

vagannMedlem sedan juli 2011171 inlägg
#10

hej igen ...
nu har jag ändrat lite på sql queryn för det såg kontigt ut ... men ändå så funkar det inte , är det nåt som är fel på det ?

$slump_sql = "SELECT `id`, `picture`, `username` FROM `members` ORDER BY rand(" . time() . " * " . time() . ") LIMIT 1";
while ( $slump = mysql_fetch_array ( $slump_sql ))
{ echo '<a href="page.php?name=profile&id='. $slump['id'] .'">'  . $slump['username'] . '</a>'  ; }
voigtann1Medlem sedan juni 20019 519 inlägg
#11

Vet inte om du behöver ha med dig time men du generera en felaktig HTML sträng:

$slump_sql = "SELECT `id`, `picture`, `username` FROM `members` ORDER BY rand() LIMIT 0,1";
while ( $slump = mysql_fetch_array ( $slump_sql ))
{ echo '<li><a href="page.php?name=profile&id='. $slump['id'] .'">' . $slump['username'] . '</a></li>'; }

vad är felet? har du alla fält. Du berättar inte hur din tabell ser ut

vagannMedlem sedan juli 2011171 inlägg
#12

ja ,jag har alla fält . jag har alla tre id, picture och username

voigtann1Medlem sedan juni 20019 519 inlägg
#13

vad är det som inte fungera då? felmeddelande?

vagannMedlem sedan juli 2011171 inlägg
#14

ingen aning , får ingen felmeddelande..

voigtann1Medlem sedan juni 20019 519 inlägg
#15

http://php.net/manual/en/function.mysql-fetch-array.php om jag fattar dokumentationen så behöver du köra mysql_query() det räcker inte bara att köra en sträng in i första parametern:

while ($slump = mysql_fetch_array(mysql_query("SELECT `id`, `picture`, `username` FROM `members` ORDER BY rand() LIMIT 0,1"))){
	echo '<li><a href="page.php?name=profile&id='. $slump['id'] .'">' . $slump['username'] . '</a></li>';
}
vagannMedlem sedan juli 2011171 inlägg
#16

ja tack så mkt , det funkade :)

140 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)