FAQ |
Kalender |
![]() |
#11 | ||
|
|||
Mycket flitig postare
|
Du får vänta med att läsa...
jag vet inte vad du menar med "radnummer", men första varvet i loopen är ju rimligen rad ett osv... |
||
![]() |
![]() |
![]() |
#12 | ||
|
|||
Klarade millennium-buggen
|
Har löst detta nu. Jag förstår inte heller vad jag menar
![]() Det fick bli en massa rader med förfrågningar och if-satser... Kod:
if ($cvalue=="dju") { $a = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 1")); $b = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 1,2")); $c = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 2,3")); $d = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 3,4")); $e = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 4,5")); $f = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 5,6")); $g = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 6,7")); $h = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 7,8")); $i = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 8,9")); $j = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 9,10")); $k = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 10,11")); $l = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 11,12")); $m = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 12,13")); $n = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 13,14")); $o = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 14,15")); $p = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 15,16")); } elseif ($cvalue=="lan") { $a = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 1")); $b = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 1,2")); $c = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 2,3")); $d = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 3,4")); $e = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 4,5")); $f = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 5,6")); $g = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 6,7")); $h = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 7,8")); $i = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 8,9")); $j = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 9,10")); $k = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 10,11")); $l = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 11,12")); $m = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 12,13")); $n = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 13,14")); $o = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 14,15")); $p = mysql_fetch_row(mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='lan' ORDER BY `id` DESC LIMIT 15,16")); } ... else { $a = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y)")); $b = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-1)")); $c = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-2)")); $d = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-3)")); $e = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-4)")); $f = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-5)")); $g = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-6)")); $h = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-7)")); $i = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-8)")); $j = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-9)")); $k = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-10)")); $l = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-11)")); $m = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-12)")); $n = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-13)")); $o = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-14)")); $p = mysql_fetch_row(mysql_query("SELECT link, text FROM foto WHERE id IN ($y-15)")); } ![]() |
||
![]() |
![]() |
![]() |
#13 | ||
|
|||
Mycket flitig postare
|
Pardon my french men du är ju inte riktigt klok...
![]() För det första så kommer till exempel "LIMIT 1,2" returnera två rader (varav du bara ser den första eftersom du bara gör en mysql_fetch. Detta eftersom andra siffran anger antalet rader i svaret och första "hur många som skall skippas" så alla dina LIMIT skall sluta med ",1" i nuvarande utförande. Och om du av någon anleding vägrar loopa så skulle du förenkla din kod (och förbättra prestanda) så skall du göra så här: Kod:
if ($cvalue=="dju") { $rs = mysql_query("SELECT link, text, cat, id FROM foto WHERE cat='dju' ORDER BY `id` DESC LIMIT 15"); $a = mysql_fetch_row($rs); $b = mysql_fetch_row($rs); $c = mysql_fetch_row($rs); ... $p = mysql_fetch_row($rs); } ... 1) Hur man använder en databas och vad det är rent allmänt. 2) loopar i PHP (ja eller att programmera över huvud taget). Jo det är kanske en ganska hård ton i mitt inlägg, men jag måste säga att jag (helt utan ironi) är mäkta imponerad av att du över huvud taget lyckats skapa en sida med en databas i botten. Om jag haft dina kunskaper hade jag nog givit upp för länge sedan så all heder till dig! Några länkar som hjälp på vägen: http://www.freewebmasterhelp.com/tutorials/phpmysql http://www.php-mysql-tutorial.com/ |
||
![]() |
![]() |
![]() |
#14 | ||
|
|||
Klarade millennium-buggen
|
Citat:
![]() Vi tar det imorgon ![]() Citat:
!Konstigt nog försvinner "$" tecken då man klickar på "Snabbcitera" |
||
![]() |
![]() |
![]() |
#15 | ||
|
|||
Medlem
|
alltinggratis>> Det där var det roligaste jag läst på WN på länge... =) Hoppas du bjuder på det skrattet.
Instämmer med egomaster men tipsar också om php.net! Leta upp mysql-funktionerna där så hittar du kodexempel på hur du ska använda funktionerna (med loopar!) på ett rationellt sätt. |
||
![]() |
![]() |
![]() |
#16 | ||
|
|||
Klarade millennium-buggen
|
Citat:
Nej, men det är mitt första försök att hantera en MySQL databas med php, så det är klart att jag inte har några kunskaper inom detta, men jag har redan under försökets gång lärt mig en massa! |
||
![]() |
![]() |
![]() |
#17 | ||
|
|||
Klarade millennium-buggen
|
Visste inte att det gick att krångla till en enkel fråga så extremt...
ingångsvärdet $cvalue är antingen 'dju' eller 'lan' eller något annat... $query =" SELECT link, text, cat, id FROM foto WHERE cat='$cvalue' ORDER BY `id` DESC LIMIT 16"; $result=mysql_query($query); //det vanligaste sättet att loopa igenom ett resultset i php: while($r=mysql_fetch_row($result)){ //gör nåt kul med ditt resultat, till exempel skriv ut det rad för rad: echo " Link: $r[0], Text: $r[1], Cat: $r[2], id: $r[3]. "; } Efter att ha gjort det här ett par hundra gånger så kommer du inte att tveka... |
||
![]() |
![]() |
Svara |
|
|