16. september 2005 - 16:24 Der er 6 kommentarer og
1 løsning

Fejl i php script

Hej,
Jeg får en fejl i dette script hvor jeg prøver at trække tre tilfældige billeder ud af en angivet mappe. desværre opstår der et problem med $gruppe (linie 2). Hvis jeg udskifter $gruppe med fx. familie virker det. Hvorfor? Har tjekket at $gruppe ER lig med familie.

På forhånd tak!

function randompic($limit){
$newpics1=mysql_query("SELECT billede FROM sider WHERE gruppe='$gruppe' ORDER BY id DESC limit $limit")or die(mysql_error());
$row=mysql_fetch_row($newpics1);
$dir = $row[0]."/thumbs/";
$array = array();
$handle = opendir($dir);

while ($file = readdir($handle)) {
    if ($file != "." && $file != "..") {
        $array[] = $file;
    }
}

closedir($handle);
sort($array);
reset($array);


$arrayobj = array_rand($array);
$random = $array[$arrayobj];
$path = $dir . $random;

$sti = "<img  onmouseover=\"urlFullSizeImage = '" . $row[0] . "/pics/" . $random . "'; StartTimer ( 10,window.event.clientY, viewDelay );\" onmouseout=\"StopTimer (); HideImage ();\" src=\"" . $path . "\"  border=\"0\" />";


RETURN $sti;
}

echo randompic("1").randompic("1").randompic("1");
Avatar billede plazm Nybegynder
16. september 2005 - 16:45 #1
prøv
$newpics1=mysql_query("SELECT billede FROM sider WHERE gruppe='".$gruppe."' ORDER BY id DESC limit ".$limit)or die(mysql_error());
Avatar billede jaw Nybegynder
16. september 2005 - 16:58 #2
$gruppe indeholder vel ikke noget i funktionen?

Prøv at ændre så følgende linier ligner:
function randompic($limit, $variabel){

$newpics1=mysql_query("SELECT billede FROM sider WHERE gruppe='$variabel' ORDER BY id DESC limit $limit")or die(mysql_error());

echo randompic("1", $gruppe).randompic("1", $gruppe).randompic("1", $gruppe);

Kan du se hvad jeg mener?
Avatar billede nielle Nybegynder
16. september 2005 - 17:06 #3
Når nu $gruppe indgår som argument i din SQL, bør den også indgår som argument til din funktion. Imidlertid bruges limit ikke til noget idet du faktisk alligevel kun bruger den første række - og denne bør alts fjernes! Der er endvider et par andre småting som bør rettes i samme omgang:

function randompic($gruppe)
{
    $sql = "SELECT billede FROM sider WHERE gruppe='" . $gruppe . "' ORDER BY id DESC LIMIT 0, 1;
    $query = mysql_query($sql) or die(mysql_error());
    $row = mysql_fetch_row($query);

    $dir = $row[0] . "/thumbs/";

    $filesArr = array();

    $handle = opendir($dir);
    while ($file = readdir($handle))
    {
        if ($file != "." && $file != "..")
        {
            $filesArr[] = $file;
        }
    }
    closedir($handle);

    $filesArrObj = array_rand($filesArr);
    $randomFile = $filesArr[$filesArrObj];
    $path = $dir . $randomFile;

    $sti = "<img  onmouseover=\"urlFullSizeImage = '" . $row[0] . "/pics/" . $randomFile . "'; StartTimer ( 10,window.event.clientY, viewDelay );\" onmouseout=\"StopTimer (); HideImage ();\" src=\"" . $path . "\"  border=\"0\" />";

    retuen $sti;
}
17. september 2005 - 17:51 #4
Tak for hjælpen!
Læg venligst et svar!
Avatar billede jaw Nybegynder
17. september 2005 - 18:46 #5
Hvem vil du have svar fra?
18. september 2005 - 01:47 #6
Jeg må indrømme jeg kunne ikke få nielle's svar til at virke, men jeg fik vel en idé af hvad jeg skulle gøre og det samme med jeres svar. Så jeg synes i skal dele pointene.
Avatar billede jaw Nybegynder
18. september 2005 - 12:36 #7
Jamn så lægger jeg da gerne et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester