while loop
Ik zit even vast met m'n script. Kheb een javascript gevonden voor het roteren van afbeeldingen. Het werkt perfect in combinatie met m'n php script en m'n database, maar er is enkel iets mis met m'n while loop.
Hij ziet er alsvolgt uit:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$partner=0;
while ($data = dbarray($result)) {
$images = "dropimages[".$partner."]=\"".$data['button_pic']."\"\n";
$links = "droplinks[".$partner."]=\"".INFUSIONS."random_button_panel/button.php?button_id=".$data['button_id']."\"\n";
$partner++;
}
?>
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$partner=0;
while ($data = dbarray($result)) {
$images = "dropimages[".$partner."]=\"".$data['button_pic']."\"\n";
$links = "droplinks[".$partner."]=\"".INFUSIONS."random_button_panel/button.php?button_id=".$data['button_id']."\"\n";
$partner++;
}
?>
Als ik nu in m'n browser broncode kijk, dan zie ik dit in m'n javascript:
dropimages[9]="http://www.mijnsite.be/images/partner.gif"
droplinks[9]="http://www.partnersite.be"
Maar in m'n database zitten er 10 records ... dus normaal zou het er zo moeten uitzien:
dropimages[0]="http://www.mijnsite.be/images/partner1.gif"
droplinks[0]="http://www.partnersite1.be"
dropimages[1]="http://www.mijnsite.be/images/partner2.gif"
droplinks[1]="http://www.partnersite2.be"
... tot aan 9
Wat doe ik verkeerd?
Alvast bedankt voor de hulp!
Tja, als je nu zegt dat je alleen het laatste resultaat van de fetch hebt dan zal je toch moeten denken aan het feit dat je binnen de while het fetch result moet echo dan wel in een array moet proppen die je dan buiten de while kan implode naar een string.
Een voorbeeld doet wonderen ... :$
Wat doe je na de while loop met de variables $images en $links?
//hier komt nog wat voor
var dropimages=new Array()
//SET IMAGE PATHS. Extend or contract array as needed
var droplinks=new Array()
//SET IMAGE URLs. Use "" if you wish particular image to NOT be linked:
//hier komt wat achter
Pas eerst de while loop aan:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$images = array();
$links = array();
$partner=0;
while ($data = dbarray($result)) {
$images[] = "dropimages[".$partner."]=\"".$data['button_pic']."\"\n";
$links[] = "droplinks[".$partner."]=\"".INFUSIONS."random_button_panel/button.php?button_id=".$data['button_id']."\"\n";
$partner++;
}
?>
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$images = array();
$links = array();
$partner=0;
while ($data = dbarray($result)) {
$images[] = "dropimages[".$partner."]=\"".$data['button_pic']."\"\n";
$links[] = "droplinks[".$partner."]=\"".INFUSIONS."random_button_panel/button.php?button_id=".$data['button_id']."\"\n";
$partner++;
}
?>
En verander de echo's vervolgens naar dit:
en:
Het zou kunnen dat je er wat breaks tussen moet doen, maar er staat nu te weinig script voor mij om dat te kunnen zien.
Gewijzigd op 01/01/1970 01:00:00 door Marco
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
php
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$aHtml = array();
$partner=0;
while ($data = dbarray($result)) {
$aHtml[] = 'dropimages['.$partner.']="'.$data['button_pic'].'"';
$aHtml[] = 'droplinks['.$partner.']="'.INFUSIONS.'random_button_panel/button.php?button_id='.$data['button_id'].'"';
$partner++;
}
echo implode(PHP_EOL,$aHtml);
?>
php
$result = dbquery("SELECT * FROM ".DB_BUTTONS." ORDER BY RAND()");
$aHtml = array();
$partner=0;
while ($data = dbarray($result)) {
$aHtml[] = 'dropimages['.$partner.']="'.$data['button_pic'].'"';
$aHtml[] = 'droplinks['.$partner.']="'.INFUSIONS.'random_button_panel/button.php?button_id='.$data['button_id'].'"';
$partner++;
}
echo implode(PHP_EOL,$aHtml);
?>
Oh en maak het je leven wat makkelijker door strings te qoute met '' ipv ""
en \n \t \r heb je in principe niet nodig, als je ze wel nodig hebt definieer dan de combies als constate.
Enige uitzondering is dan nog dat je SQL statements wel qoute met ""
Gewijzigd op 01/01/1970 01:00:00 door Noppes
Ik heb nog altijd maar dropimages[9] en droplinks[9].